KR20080064299A - 상이한 에러 제어 스킴을 갖는 하이브리드 플래시 메모리장치 및 그것을 포함한 메모리 시스템 - Google Patents

상이한 에러 제어 스킴을 갖는 하이브리드 플래시 메모리장치 및 그것을 포함한 메모리 시스템 Download PDF

Info

Publication number
KR20080064299A
KR20080064299A KR1020070001045A KR20070001045A KR20080064299A KR 20080064299 A KR20080064299 A KR 20080064299A KR 1020070001045 A KR1020070001045 A KR 1020070001045A KR 20070001045 A KR20070001045 A KR 20070001045A KR 20080064299 A KR20080064299 A KR 20080064299A
Authority
KR
South Korea
Prior art keywords
flash memory
memory cells
error
error control
bit data
Prior art date
Application number
KR1020070001045A
Other languages
English (en)
Other versions
KR100872186B1 (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 삼성전자주식회사
Priority to KR1020070001045A priority Critical patent/KR100872186B1/ko
Priority to US11/962,445 priority patent/US20080215952A1/en
Priority to DE102008003267A priority patent/DE102008003267A1/de
Priority to CNA2008100920592A priority patent/CN101256843A/zh
Publication of KR20080064299A publication Critical patent/KR20080064299A/ko
Application granted granted Critical
Publication of KR100872186B1 publication Critical patent/KR100872186B1/ko

Links

Images

Classifications

    • 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/22Safety or protection circuits preventing unauthorised or accidental access to memory cells
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/56Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
    • G11C11/5621Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
    • 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
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/13Linear codes
    • H03M13/15Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
    • H03M13/151Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes using error location or error correction polynomials
    • H03M13/1515Reed-Solomon codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/13Linear codes
    • H03M13/15Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
    • H03M13/151Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes using error location or error correction polynomials
    • H03M13/152Bose-Chaudhuri-Hocquenghem [BCH] codes

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Computer Security & Cryptography (AREA)
  • Algebra (AREA)
  • General Physics & Mathematics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Read Only Memory (AREA)

Abstract

본 발명에 따른 하이브리드 플래시 메모리 장치는 제 1 플래시 메모리 셀들을 포함한 제 1 데이터 저장 영역과; 제 2 플래시 메모리 셀들을 포함한 제 2 데이터 저장 영역과; 상기 제 1 플래시 메모리 셀들에 대한 에러를 제어하도록 구성된 제 1 에러 제어 회로와; 그리고 상기 제 2 플래시 메모리 셀들에 대한 에러를 제어하도록 구성된 제 2 에러 제어 회로를 포함한다.

Description

상이한 에러 제어 스킴을 갖는 하이브리드 플래시 메모리 장치 및 그것을 포함한 메모리 시스템{HYBRID FLASH MEMORY DEVICE WITH DIFFERENT ERROR CONTROL SCHEME AND MEMORY SYSTEM INCLUDIGN THE SAME}
도 1은 본 발명의 일 실시예에 따른 플래시 메모리 장치를 개략적으로 보여주는 블록도이다.
도 2는 본 발명의 일 실시예에 따른 메모리 시스템을 개략적으로 보여주는 블록도이다.
도 3은 본 발명의 다른 실시예에 따른 플래시 메모리 장치를 개략적으로 보여주는 블록도이다.
도 4는 도 3에 도시된 에러 제어 블록을 보여주는 블록도이다.
도 5는 본 발명의 다른 실시예에 따른 메모리 시스템을 개략적으로 보여주는 블록도이다.
도 6은 본 발명의 또 다른 플래시 메모리 장치를 개략적으로 보여주는 블록도이다.
도 7은 본 발명의 또 다른 실시예에 따른 플래시 메모리 장치를 개략적으로 보여주는 블록도이다.
도 8은 본 발명의 또 다른 실시예에 따른 플래시 메모리 장치를 개략적으로 보여주는 블록도이다.
도 9는 본 발명의 또 다른 실시예에 따른 메모리 시스템을 개략적으로 보여주는 블록도이다.
도 10은 본 발명에 따른 스마트카드를 개략적으로 보여주는 블록도이다.
* 도면의 주요 부분에 대한 부호 설명 *
100 : 데이터 저장 영역 200 : 에러 제어 블록
300 : 제어 블록
본 발명은 반도체 메모리 장치에 관한 것으로, 좀 더 구체적으로는 하이브리드 플래시 메모리 장치에 관한 것이다.
플래시 메모리 장치는 메모리 칩 안에 정보를 유지하기 위해 전력이 필요없는 비휘발성 메모리 장치이다. 게다가, 비록 PC에서 메인 메모리로서 사용되는 DRAM만큼 빠르지는 않지만, 플래시 메모리 장치는 읽기 속도가 빠르며 하드디스크 보다 충격에 강하다. 이러한 특징으로 인해 배터리로 동작하는 디바이스에서 저장 장치로서 많이 사용되고 있다. 플래시 메모리 장치의 또 다른 매력은 강한 압력이나 물리적 수단에 의해서 거의 파괴되지 않는다는 점이다.
플래시 메모리 장치는 전기적으로 데이터를 지우고 재기록이 가능한 비휘발성 컴퓨터 기억 장치를 말한다. EEPROM과 다르게, 플래시 메모리 장치는 블록 단위 로 지우고 쓰기가 가능하다. 플래시 메모리 장치는 EEPROM보다 비용이 덜 들기 때문에 대용량의 비휘발성, 고체상태(solid-state) 스토리지가 필요한 경우 주로 사용된다. 대표적인 활용 예로 디지털 음악 재생기, 디지털 카메라, 핸드폰 등을 들 수 있다. 일반적인 데이터를 저장하거나 컴퓨터간에 데이터를 옮기는 용도로 USB 드라이브(또는, 플래시 메모리 카드라 불림)를 많이 사용하는데, 이때도 플래시 메모리 장치가 사용되고 있다.
플래시 메모리 장치는 전통적으로 비트 정보를 저장하는 셀이라 부르는 플로팅 게이트 트랜지스터들(floating gate transistors)로 구성된 어레이에 정보를 저장한다. 멀티-비트 셀(Multi-Bit Cell: MBC) 장치로 불리는 보다 새로운 플래시 메모리 장치는 셀의 플로팅 게이트에 축적되는 전기적인 전하의 양을 제어함으로써 하나의 셀에 1-비트 이상을 저장할 수 있다. 설명의 편의상, 하나의 메모리 셀에 1-비트 데이터를 저장하는 플래시 메모리 장치를 SBC(Single-Bit Cell) 플래시 메모리 장치라 칭하고, 하나의 메모리 셀에 M-비트 데이터(M은 2 또는 그 보다 큰 양의 정수)를 저장하는 플래시 메모리 장치를 MBC 플래시 메모리 장치라 칭한다.
SBC 플래시 메모리 장치의 경우, 하나의 메모리 셀에 저장된 데이터는 데이터 '1'의 문턱 전압 분포와 데이터 '0'의 문턱 전압 분포 사이의 적절한 기준 전압을 사용함으로써 판별될 수 있다. 예를 들면, 기준 전압이 메모리 셀의 제어 게이트에 인가된 상태에서, 메모리 셀을 통해 전류가 흐르는 지의 여부에 따라 데이터 '1' 또는 '0'를 판별하는 것이 가능하다. 문턱 전압 분포들 사이의 읽기 마진이 충분하기 때문에, 일반적으로, SBC 플래시 메모리 장치에는 1-비트 에러를 검출 및 정정할 수 있는 ECC 스킴이 적용되어 오고 있다. 그러한 ECC 스킴은 U.S. Patent No. 6,651,212에 게재되어 있으며, 이 출원의 레퍼런스로 포함될 것이다. 비록 판별 기술이 다르지만, 기본적으로, MBC 플래시 메모리 장치에도 그러한 방식이 적용될 것이다.
하나의 메모리 셀에 저장된 데이터의 비트 수가 증가함에 따라 더 많은 문턱 전압 분포들이 사용될 것이다. 잘 알려진 바와 같이, 메모리 셀의 문턱 전압을 높이는 데 한계가 있다. 다시 말해서, 메모리 셀의 문턱 전압은 정해진 전압 범위 내에 분포되어야 한다. 이는 하나의 메모리 셀에 저장되는 데이터의 비트 수에 관계없이 문턱 전압 분포들이 정해진 전압 범위 내에서 분포되어야 함을 의미한다. 그러한 까닭에, 하나의 메모리 셀에 저장된 데이터의 비트 수가 증가함에 따라 인접한 문턱 전압 분포들이 중첩될 수 있다. 이러한 현상은 하나의 메모리 셀에 저장된 데이터의 비트 수가 증가함에 따라 더욱 심각해질 것이다. 또한, 그러한 현상은 전하 손실, 시간의 경과, 온도의 증가, 인접한 셀의 프로그래밍시 생기는 커플링, 인접한 셀의 읽기, 셀 결함 등과 같은 다양한 원인들로 인해 더욱 더 심각해질 것이다. 앞서의 한계들로 인해, MBC 플래시 메모리 장치는 SBC 플래시 메모리 장치에 사용되는 ECC 회로보다 좋은 성능을 갖는 ECC 회로를 요구하고 있다.
본 발명의 목적은 하이브리드 플래시 메모리 장치에 적합한 에러 제어 스킴을 제공하는 것이다.
본 발명의 다른 목적은 하이브리드 플래시 메모리 장치를 포함한 메모리 시 스템에 적합한 에러 제어 스킴을 제공하는 것이다.
본 발명의 예시적인 실시예들은 제 1 플래시 메모리 셀들을 포함한 제 1 데이터 저장 영역과; 제 2 플래시 메모리 셀들을 포함한 제 2 데이터 저장 영역과; 상기 제 1 플래시 메모리 셀들에 대한 에러를 제어하도록 구성된 제 1 에러 제어 회로와; 그리고 상기 제 2 플래시 메모리 셀들에 대한 에러를 제어하도록 구성된 제 2 에러 제어 회로를 포함하는 하이브리드 플래시 메모리 장치를 제공할 것이다.
예시적인 실시예에 있어서, 상기 제 1 데이터 저장 영역의 제 1 플래시 메모리 셀들 각각은 1-비트 데이터를 저장하고, 상기 제 2 데이터 저장 영역의 제 2 플래시 메모리 셀들 각각은 멀티-비트 데이터를 저장한다.
예시적인 실시예에 있어서, 상기 멀티-비트 데이터는 M-비트 데이터(M은 2 또는 그 보다 큰 양의 정수)이다.
예시적인 실시예에 있어서, 상기 제 1 에러 제어 회로는 BCH 코드 및 RS 코드 중 어느 하나를 이용하여 상기 제 1 플래시 메모리 셀들에 대한 에러를 제어하도록 구성된다.
예시적인 실시예에 있어서, 상기 제 2 에러 제어 회로는 프렉션널 읽기 방식과 최대 가능도(ML: Maximum Likelyhood) 방식 중 어느 하나를 이용하여 상기 제 2 플래시 메모리 셀들에 대한 에러를 제어하도록 구성된다.
예시적인 실시예에 있어서, 상기 제 1 데이터 저장 영역의 제 1 플래시 메모리 셀들 각각은 i-비트 데이터를 저장하고, 상기 제 2 데이터 저장 영역의 제 2 플 래시 메모리 셀들 각각은 j-비트 데이터를 저장하며, i는 j보다 작은 양의 정수를 갖는다.
예시적인 실시예에 있어서, 상기 i-비트 데이터는 2 또는 3-비트 데이터이고, 상기 j-비트 데이터는 3 또는 4-비트 데이터이다.
예시적인 실시예에 있어서, 상기 제 1 에러 제어 회로는 BCH 코드 및 RS 코드 중 어느 하나를 이용하여 상기 제 1 플래시 메모리 셀들에 대한 에러를 제어하도록 구성된다.
예시적인 실시예에 있어서, 상기 제 2 에러 제어 회로는 프렉션널 읽기 방식과 최대 가능도(ML) 방식 중 어느 하나를 이용하여 상기 제 2 플래시 메모리 셀들에 대한 에러를 제어하도록 구성된다.
예시적인 실시예에 있어서, 하이브리드 플래시 메모리 장치는 상기 제 1 데이터 저장 영역 또는 상기 제 2 데이터 저장 영역에 대한 액세스가 요청되었는 지의 여부에 따라 제 1 에러 제어 회로 또는 제 2 에러 제어 회로를 선택하도록 구성된 제어 블록을 더 포함한다.
예시적인 실시예에 있어서, 하이브리드 플래시 메모리 장치는 멀티-비트 데이터를 저장하는 제 3 플래시 메모리 셀들을 포함한 제 3 데이터 저장 영역과; 그리고 상기 제 3 플래시 메모리 셀들에 대한 에러를 제어하도록 구성된 제 3 에러 제어 회로를 더 포함한다.
본 발명의 다른 예시적인 실시예들은 제 1 플래시 메모리 셀들을 포함한 제 1 데이터 저장 영역과; 제 2 플래시 메모리 셀들을 포함한 제 2 데이터 저장 영역 과; 그리고 서로 다른 복수의 에러 제어 스킴들과 상기 복수의 에러 제어 스킴들 중 제 1 및 제 2 에러 제어 스킴들을 선택하도록 구성된 옵션 회로를 포함하는 에러 제어 블록을 포함하며, 상기 에러 제어 블록은 상기 제 1 에러 제어 스킴에 따라 상기 제 1 플래시 메모리 셀들의 에러를 제어하도록 그리고 상기 제 2 에러 제어 스킴에 따라 상기 제 2 플래시 메모리 셀들에 대한 에러를 제어하도록 구성되는 하이브리드 플래시 메모리 장치를 제공할 것이다.
본 발명의 또 다른 예시적인 실시예들은 제 1 플래시 메모리 셀들을 포함한 제 1 데이터 저장 영역과, 제 2 플래시 메모리 셀들을 포함한 제 2 데이터 저장 영역을 포함하는 플래시 메모리 장치와; 그리고 상기 플래시 메모리 장치를 제어하도록 구성된 메모리 제어기를 포함하며, 상기 메모리 제어기는 상기 제 1 플래시 메모리 셀들에 대한 에러를 제어하도록 구성된 제 1 에러 제어 회로와; 그리고 상기 제 2 플래시 메모리 셀들에 대한 에러를 제어하도록 구성된 제 2 에러 제어 회로를 포함하는 메모리 시스템을 제공할 것이다.
예시적인 실시예에 있어서, 상기 플래시 메모리 장치와 상기 메모리 제어기는 플래시 메모리 카드를 구성할 것이다.
예시적인 실시예에 있어서, 상기 메모리 제어기는 컴퓨팅 시스템의 메인 보드에 직접 설치되도록 구성될 것이다.
본 발명의 또 다른 예시적인 실시예들은 제 1 플래시 메모리 셀들을 포함한 제 1 데이터 저장 영역과, 제 2 플래시 메모리 셀들을 포함한 제 2 데이터 저장 영역을 포함하는 플래시 메모리 장치와; 그리고 상기 플래시 메모리 장치를 제어하도 록 구성된 메모리 제어기를 포함하며, 상기 메모리 제어기는 서로 다른 복수의 에러 제어 스킴들과 상기 복수의 에러 제어 스킴들 중 제 1 및 제 2 에러 제어 스킴들을 선택하도록 구성된 옵션 회로를 포함하는 에러 제어 블록을 포함하며; 그리고 상기 에러 제어 블록은 상기 제 1 에러 제어 스킴에 따라 상기 제 1 플래시 메모리 셀들의 에러를 제어하도록 그리고 상기 제 2 에러 제어 스킴에 따라 상기 제 2 플래시 메모리 셀들에 대한 에러를 제어하도록 구성되는 메모리 시스템을 제공할 것이다.
본 발명의 또 다른 예시적인 실시예들은 제 1 플래시 메모리 셀들을 포함한 제 1 데이터 저장 영역과 제 2 플래시 메모리 셀들을 포함한 제 2 데이터 저장 영역을 갖는 하이브리드 플래시 메모리 장치의 에러 제어 방법을 제공할 것이다. 에러 제어 방법은 상기 제 1 데이터 저장 영역과 상기 제 2 데이터 저장 영역 중 어느 하나에 대한 액세스가 요청되었는 지의 여부를 판별하는 단계와; 상기 제 1 데이터 저장 영역에 대한 액세스가 요청되는 경우 제 1 에러 제어 스킴에 따라 상기 제 1 플래시 메모리 셀들에 대한 에러를 제어하는 단계와; 그리고 상기 제 2 데이터 저장 영역에 대한 액세스가 요청되는 경우 제 2 에러 제어 스킴에 따라 상기 제 2 플래시 메모리 셀들에 대한 에러를 제어하는 단계를 포함할 것이다.
예시적인 실시예에 있어서, 에러 정정 방법은 복수의 에러 제어 스킴들 중 적어도 2개의 에러 제어 스킴들을 선택하는 단계와; 그리고 상기 선택된 에러 제어 스킴들을 상기 제 1 및 제 2 에러 제어 스킴들로서 각각 정의하는 단계를 더 포함할 것이다.
앞의 일반적인 설명 및 다음의 상세한 설명 모두 예시적이라는 것이 이해되어야 하며, 청구된 발명의 부가적인 설명이 제공되는 것으로 여겨져야 한다.
참조 부호들이 본 발명의 바람직한 실시 예들에 상세히 표시되어 있으며, 그것의 예들이 참조 도면들에 표시되어 있다. 가능한 어떤 경우에도, 동일한 참조 번호들이 동일한 또는 유사한 부분을 참조하기 위해서 설명 및 도면들에 사용된다.
아래에서, 불 휘발성 메모리 장치로서 플래시 메모리 장치가 본 발명의 특징 및 기능을 설명하기 위한 한 예로서 사용된다. 하지만, 이 기술 분야에 정통한 사람은 여기에 기재된 내용에 따라 본 발명의 다른 이점들 및 성능을 쉽게 이해할 수 있을 것이다. 본 발명은 다른 실시 예들을 통해 또한, 구현되거나 적용될 수 있을 것이다. 게다가, 상세한 설명은 본 발명의 범위, 기술적 사상 그리고 다른 목적으로부터 상당히 벗어나지 않고 관점 및 응용에 따라 수정되거나 변경될 수 있다.
도 1은 본 발명의 일 실시예에 따른 플래시 메모리 장치를 개략적으로 보여주는 블록도이다.
도 1을 참조하면, 본 발명의 일 실시예에 따른 플래시 메모리 장치는 데이터 저장 영역(100), 에러 제어 블록(200), 그리고 제어 블록(300)을 포함할 것이다.
데이터 저장 영역(100)은 단일-비트 데이터를 저장하는 영역(이하, "SBC 영역"이라 칭함)(110)과 M-비트 데이터를 저장하는 영역(이하, "MBC 영역"이라 칭함)(120)을 포함할 것이다. 여기서, M-비트 데이터는 2-비트 데이터, 3-비트 데이터, 4-비트 데이터, 등을 포함할 것이다. SBC 영역(110)에는 높은 신뢰성을 필요로 하는 정보(예를 들면, 코드 정보) 또는 ECC 정보가 저장될 수 있다. MBC 영역(120) 에는 일반 데이터가 저장될 것이다. SBC 및 MBC 영역들(110, 120) 각각에는 플래시 메모리 셀들이 제공되며, 각 플래시 메모리 셀은 이 분야에 잘 알려진 플로팅 게이트 트랜지스터로 구성될 수 있다. 하지만, 플래시 메모리 셀이 플로팅 게이트 트랜지스터에 국한되지 않음은 이 분야의 통상적인 지식을 습득한 자들에게 자명하다. 예를 들면, 플래시 메모리 셀은 전하 트랩 플래시(Charge Trap Flash: CTF) 방식을 이용한 트랜지스터로 구현될 수 있다. 또는, 플래시 메모리 셀은 PRAM, MRAM, 등과 같은 불 휘발성 메모리 셀로 구현될 수 있다.
계속해서 도 1을 참조하면, 에러 제어 블록(200)은 데이터 저장 영역(200)에 저장될 데이터에 대한 에러 제어 코드(또는 에러 정정 코드라 불림) (이하, ECC라 칭함)를 생성하도록 구성될 것이다. 에러 제어 블록(200)은 데이터 저장 영역(200)으로부터 읽혀진 데이터에 대한 에러를 검출 및 정정하도록 구성될 것이다. 에러 제어 블록(200)은 제 1 ECC 회로(210)와 제 2 ECC 회로(220)를 포함한다. 제 1 ECC 회로(210)는 SBC 영역(110)을 위해 사용되고, 제 2 ECC 회로(220)는 MBC 영역(120)을 위해 사용될 것이다. 제 1 ECC 회로(210)는 제 1 에러 제어 스킴에 따라 SBC 영역(110)에 저장될 데이터에 대한 ECC 데이터를 생성하도록 구성될 것이다. 제 1 ECC 회로(210)는 제 1 에러 제어 스킴에 따라 SBC 영역(110)으로부터 읽혀진 데이터에 대한 에러를 검출 및 정정하도록 구성될 것이다. 제 2 ECC 회로(220)는 제 2 에러 제어 스킴에 따라 MBC 영역(120)에 저장될 데이터에 대한 ECC 데이터를 생성하도록 구성될 것이다. 제 2 ECC 회로(220)는 제 2 에러 제어 스킴에 따라 MBC 영역(120)으로부터 읽혀진 데이터에 대한 에러를 검출 및 정정하도록 구성될 것이다.
이 실시예에 있어서, 제 1 에러 제어 스킴은 앞서 언급된 특허(U.S. Patent No. 6,651,212)에 기재된 BCH(Bose, Ray-Chaudhuri, Hocquenghem) 코드 또는 RS(Reed-Solomon) 코드를 사용할 것이다. 제 2 에러 제어 스킴은 연판정(soft decision: SD)으로 알려진 프렉션널 읽기(fractional read) 방식을 사용할 것이다. 그러한 프렉션널 읽기 방식은 U.S. Patent No. 7,023,735에 기재된 상세히 기재되어 있으며, 이 출원의 레퍼런스로 포함될 것이다. 하지만, 제 1 에러 제어 스킴 및 제 2 에러 제어 스킴이 여기에 기재된 것에 국한되지 않음은 이 분야의 통상적인 지식을 습득한 자들에게 자명하다. 예를 들면, 제 1 에러 제어 스킴 및 제 2 에러 제어 스킴 각각은 반복 코드(Repetition codes), 패리티 코드(Parity codes), 순환 코드(Cyclic codes), 해밍 코드(Hamming code), 고레이 코드(Golay code), RM 코드(Reed-Muller codes), ML(Maximum Likelihood) 방식, 등을 이용하여 구현될 수 있다.
제어 블록(300)은 SBC 영역(110) 또는 MBC 영역(120)에 대한 액세스가 요청되었는 지의 여부에 따라 제 1 ECC 회로(210) 또는 제 2 ECC 회로(220)를 선택할 것이다. 예를 들면, SBC 영역(110)에 대한 액세스가 요청될 때, 제어 블록(300)은 제 1 ECC 회로(210)를 선택할 것이다. 이는 제 1 에러 제어 스킴에 따라 에러 제어 블록(200)이 동작함을 의미한다. MBC 영역(120)에 대한 액세스가 요청될 때, 제어 블록(300)은 제 2 ECC 회로(220)를 선택할 것이다. 이는 제 2 에러 제어 스킴에 따라 에러 제어 블록(200)이 동작함을 의미한다. SBC 영역(110) 또는 MBC 영역(120)에 대한 액세스 요청은 어드레스 정보 또는 커맨드 정보를 이용하여 판별될 수 있 다.
이상의 설명으로부터 알 수 있듯이, SBC 영역과 MBC 영역에 대한 ECC 스킴을 상이하게 적용함으로써 싱글-비트 데이터 및 멀티-비트 데이터에 대한 최적의 ECC 성능을 구현하는 것이 가능하다.
도 2는 본 발명의 일 실시예에 따른 메모리 시스템을 개략적으로 보여주는 블록도이다.
도 2를 참조하면, 본 발명에 따른 메모리 시스템은 플래시 메모리 장치(400)와 메모리 제어기(500)를 포함할 것이다. 플래시 메모리 장치(400)는 SBC 영역(410)과 MBC 영역(420)을 포함하며, SBC 영역(410)과 MBC 영역(420)은 도 1에 도시된 영역들(110, 120)에 각각 대응할 것이다. 그러므로, SBC 영역(410)과 MBC 영역(420)에 대한 설명은 생략될 것이다. 이에 반해서, SBC 영역(410)과 MBC 영역(420) 각각이 적어도 하나의 칩으로 구현될 수 있음은 이 분야의 통상적인 지식을 습득한 자들에게 자명하다.
메모리 제어기(500)는 호스트(600)의 요청에 따라 플래시 메모리 장치(400)의 읽기 및 쓰기 동작들을 제어할 것이다. 메모리 제어기(500)는 제 1 ECC 회로(511)와 제 2 ECC 회로(512)로 구성된 에러 제어 블록(510)을 포함할 것이다. 제 1 ECC 회로(511)와 제 2 ECC 회로(512)는 도 1에 도시된 제 1 ECC 회로(210)와 제 2 ECC 회로(220)에 각각 대응하며, 그것에 대한 설명은 그러므로 생략될 것이다. 메모리 제어기(500)는 SBC 영역(410) 또는 MBC 영역(420)에 대한 액세스가 호스트(600)로부터 요청되었는 지의 여부에 따라 제 1 ECC 회로(511) 또는 제 2 ECC 회 로(512)를 선택할 것이다. 예를 들면, SBC 영역(410)에 대한 액세스가 요청될 때, 메모리 제어기(500)는 제 1 ECC 회로(511)를 선택할 것이다. 이는 제 1 에러 제어 스킴에 따라 에러 제어 블록(510)이 동작함을 의미한다. MBC 영역(420)에 대한 액세스가 요청될 때, 메모리 제어기(500)는 제 2 ECC 회로(512)를 선택할 것이다. 이는 제 2 에러 제어 스킴에 따라 에러 제어 블록(510)이 동작함을 의미한다. 앞서 언급된 바와 같이, SBC 영역(410) 또는 MBC 영역(420)에 대한 액세스 요청은 호스트(600)로부터 제공되는 어드레스 정보 또는 커맨드 정보를 이용하여 판별될 수 있다.
이 실시예에 있어서, 플래시 메모리 장치(400)와 메모리 제어기(500)는 플래시 메모리 카드를 구성할 것이다. 또는, 메모리 제어기(500)는 PC의 메인보드에 직접 설치되도록 구성될 수도 있다. 이러한 경우, 메모리 제어기(500)는 ATA, SATA, USB, SCSI, ESDI, ISO, PCI, 또는 IDE 인터페이스와 같은 표준 인터페이스 (standardized interface)에 의해서 플래시 메모리 장치(400)와 연결될 수 있다.
이상의 설명으로부터 알 수 있듯이, SBC 영역과 MBC 영역에 대한 ECC 스킴을 상이하게 적용함으로써 싱글-비트 데이터 및 멀티-비트 데이터에 대한 최적의 ECC 성능을 구현하는 것이 가능하다.
도 3은 본 발명의 다른 실시예에 따른 플래시 메모리 장치를 개략적으로 보여주는 블록도이고, 도 4는 도 3에 도시된 에러 제어 블록을 보여주는 블록도이다.
도 3에 도시된 플래시 메모리 장치는 데이터 저장 영역(700), 에러 제어 블록(800), 그리고 제어 블록(900)을 포함할 것이다. 데이터 저장 영역(700)은 단일- 비트 데이터를 저장하는 SBC 영역(710)과 M-비트 데이터를 저장하는 MBC 영역(720)을 포함할 것이다. 여기서, M-비트 데이터는 2-비트 데이터, 3-비트 데이터, 4-비트 데이터, 등을 포함할 것이다. SBC 영역(710)에는 높은 신뢰성을 필요로 하는 정보(예를 들면, 코드 정보) 또는 ECC 정보가 저장될 수 있다. MBC 영역(720)에는 일반 데이터가 저장될 것이다. SBC 및 MBC 영역들(710, 720) 각각에는 플래시 메모리 셀들이 제공되며, 각 플래시 메모리 셀은 이 분야에 잘 알려진 플로팅 게이트 트랜지스터로 구성될 수 있다. 하지만, 플래시 메모리 셀이 플로팅 게이트 트랜지스터에 국한되지 않음은 이 분야의 통상적인 지식을 습득한 자들에게 자명하다. 예를 들면, 플래시 메모리 셀은 전하 트랩 플래시(Charge Trap Flash: CTF) 방식을 이용한 트랜지스터로 구현될 수 있다. 또는, 플래시 메모리 셀은 PRAM, MRAM, 등과 같은 불 휘발성 메모리 셀로 구현될 수 있다.
계속해서 도 3을 참조하면, 에러 제어 블록(800)은 데이터 저장 영역(700)에 저장될 데이터에 대한 ECC 데이터를 생성하도록 구성될 것이다. 에러 제어 블록(800)은 데이터 저장 영역(700)으로부터 읽혀진 데이터에 대한 에러를 검출 및 정정하도록 구성될 것이다. 에러 제어 블록(800)은 복수의 에러 제어 스킴들(예를 들면, 앞서 언급된 코드들)을 포함할 것이다. 예를 들면, 도 4에 도시된 바와 같이, 에러 제어 블록(800)은 옵션 회로(810)와 복수의 ECC 회로들(820∼830)을 포함할 것이다. ECC 회로들(820∼830) 각각은 서로 다른 에러 제어 스킴에 따라 동작하도록 구성될 것이다. ECC 회로들(820∼830) 중 하나(이하, 제 1 ECC 회로라 칭함)는 SBC 영역(710)을 위해서 사용되도록 옵션 회로(810)에 의해서 선택되고, ECC 회 로들(820∼830) 중 하나(이하, 제 2 ECC 회로라 칭함)는 MBC 영역(720)을 위해서 사용되도록 옵션 회로(810)에 의해서 선택될 것이다. 옵션 회로(810)는 이 분야에 잘 알려진 퓨즈 및 본딩 옵션들로 구성될 것이다. 옵션 회로(810)가 프로그램 가능하도록 구성될 수 있음은 이 분야의 통상적인 지식을 습득한 자들에게 자명하다. 본 발명에 따른 에러 제어 블록(800)은 가변적인 에러 제어 스킴을 갖도록 구성될 것이다.
도 3에 도시된 제어 블록(900)은 SBC 영역(710) 또는 MBC 영역(720)에 대한 액세스가 요청되었는 지의 여부에 따라 에러 제어 블록(800) 내의 제 1 ECC 회로 또는 제 2 ECC 회로를 선택할 것이다. 예를 들면, SBC 영역(710)에 대한 액세스가 요청될 때, 제어 블록(900)은 SBC 영역(710)을 위해 선택된 제 1 ECC 회로를 선택할 것이다. 이는 제 1 에러 제어 스킴에 따라 에러 제어 블록(800)이 동작함을 의미한다. MBC 영역(720)에 대한 액세스가 요청될 때, 제어 블록(900)은 MBC 영역(720)을 위해 선택된 제 2 ECC 회로를 선택할 것이다. 이는 제 2 에러 제어 스킴에 따라 에러 제어 블록(800)이 동작함을 의미한다. SBC 영역(710) 또는 MBC 영역(720)에 대한 액세스 요청은 어드레스 정보 또는 커맨드 정보를 이용하여 판별될 수 있다.
이상의 설명으로부터 알 수 있듯이, SBC 영역과 MBC 영역에 대한 ECC 스킴을 상이하게 적용함으로써 싱글-비트 데이터 및 멀티-비트 데이터에 대한 최적의 ECC 성능을 구현하는 것이 가능하다.
도 5는 본 발명의 다른 실시예에 따른 메모리 시스템을 개략적으로 보여주는 블록도이다.
도 5를 참조하면, 본 발명에 따른 메모리 시스템은 플래시 메모리 장치(1000)와 메모리 제어기(1100)를 포함할 것이다. 플래시 메모리 장치(1000)는 SBC 영역(1010)과 MBC 영역(1020)을 포함하며, SBC 영역(1010)과 MBC 영역(1020)은 도 3에 도시된 영역들(710, 720)에 각각 대응할 것이다. 그러므로, SBC 영역(1010)과 MBC 영역(1020)에 대한 설명은 생략될 것이다. 이에 반해서, SBC 영역(1010)과 MBC 영역(1020) 각각이 적어도 하나의 칩으로 구현될 수 있음은 이 분야의 통상적인 지식을 습득한 자들에게 자명하다.
메모리 제어기(1100)는 호스트(1200)의 요청에 따라 플래시 메모리 장치(1000)의 읽기 및 쓰기 동작들을 제어할 것이다. 메모리 제어기(1100)는 에러 제어 블록(1110)을 포함할 것이다. 에러 제어 블록(1110)은 도 4에 도시된 것과 실질적으로 동일하며, 그것에 대한 설명은 그러므로 생략될 것이다. 즉, 도 5에 도시된 에러 제어 블록(1110)은 가변적인 에러 제어 스킴을 갖도록 구성될 것이다. 메모리 제어기(1100)는 SBC 영역(1010) 또는 MBC 영역(1020)에 대한 액세스가 호스트(1200)로부터 요청되었는 지의 여부에 따라 에러 제어 블록(1110)의 제 1 ECC 회로 또는 제 2 ECC 회로를 선택할 것이다. 예를 들면, SBC 영역(1010)에 대한 액세스가 요청될 때, 메모리 제어기(1100)는 에러 제어 블록(1110)의 제 1 ECC 회로를 선택할 것이다. 이는 제 1 에러 제어 스킴에 따라 에러 제어 블록(1110)이 동작함을 의미한다. MBC 영역(1020)에 대한 액세스가 요청될 때, 메모리 제어기(1100)는 에러 제어 블록(1110)의 제 2 ECC 회로를 선택할 것이다. 이는 제 2 에러 제어 스 킴에 따라 에러 제어 블록(1110)이 동작함을 의미한다. 앞서 언급된 바와 같이, SBC 영역(1010) 또는 MBC 영역(1020)에 대한 액세스 요청은 호스트(1200)로부터 제공되는 어드레스 정보 또는 커맨드 정보를 이용하여 판별될 수 있다.
이 실시예에 있어서, 플래시 메모리 장치(1000)와 메모리 제어기(1100)는 플래시 메모리 카드를 구성할 것이다. 또는, 메모리 제어기(1100)는 PC의 메인보드에 직접 설치되도록 구성될 수도 있다. 이러한 경우, 메모리 제어기(1100)는 ATA, SATA, USB, SCSI, ESDI, ISO, PCI, 또는 IDE 인터페이스와 같은 표준 인터페이스 (standardized interface)에 의해서 플래시 메모리 장치(1000)와 연결될 수 있다.
도 6은 본 발명의 또 다른 플래시 메모리 장치를 개략적으로 보여주는 블록도이다.
도 6을 참조하면, 본 발명에 따른 플래시 메모리 장치는 제 1 MBC 영역(1310)과 제 2 MBC 영역(1320)으로 구성된 데이터 저장 영역(1300)를 포함할 것이다. 제 1 MBC 영역(1310)은 i-비트 데이터를 저장하기 위한 플래시 메모리 셀들로 구성되며, 제 2 MBC 영역(1320)은 j-비트 데이터를 저장하기 위한 플래시 메모리 셀들로 구성될 것이다. 여기서, i는 j보다 큰 양의 정수이다. 예를 들면, i는 2 또는 3이고, j는 3 또는 그 보다 큰 양의 정수이다. 각 플래시 메모리 셀은 이 분야에 잘 알려진 플로팅 게이트 트랜지스터로 구성될 수 있다. 하지만, 플래시 메모리 셀이 플로팅 게이트 트랜지스터에 국한되지 않음은 이 분야의 통상적인 지식을 습득한 자들에게 자명하다. 예를 들면, 플래시 메모리 셀은 전하 트랩 플래시(Charge Trap Flash: CTF) 방식을 이용한 트랜지스터로 구현될 수 있다. 또는, 플래시 메모리 셀은 PRAM, MRAM, 등과 같은 불 휘발성 메모리 셀로 구현될 수 있다.
계속해서 도 6을 참조하면, 에러 제어 블록(1400)은 데이터 저장 영역(1300)에 저장될 데이터에 대한 ECC 데이터를 생성하도록 구성될 것이다. 에러 제어 블록(1400)은 데이터 저장 영역(1300)으로부터 읽혀진 데이터에 대한 에러를 검출 및 정정하도록 구성될 것이다. 에러 제어 블록(1400)은 제 1 ECC 회로(1410)와 제 2 ECC 회로(1420)를 포함한다. 제 1 ECC 회로(1410)는 제 1 MBC 영역(1310)을 위해 사용되고, 제 2 ECC 회로(1420)는 제 2 MBC 영역(1320)을 위해 사용될 것이다. 제 1 ECC 회로(1410)는 제 1 에러 제어 스킴에 따라 제 1 MBC 영역(1310)에 저장될 데이터에 대한 ECC 데이터를 생성하도록 구성될 것이다. 제 1 ECC 회로(1410)는 제 1 에러 제어 스킴에 따라 제 1 MBC 영역(1310)으로부터 읽혀진 데이터에 대한 에러를 검출 및 정정하도록 구성될 것이다. 제 2 ECC 회로(1420)는 제 2 에러 제어 스킴에 따라 제 2 MBC 영역(1320)에 저장될 데이터에 대한 ECC 데이터를 생성하도록 구성될 것이다. 제 2 ECC 회로(1420)는 제 2 에러 제어 스킴에 따라 제 2 MBC 영역(1320)으로부터 읽혀진 데이터에 대한 에러를 검출 및 정정하도록 구성될 것이다.
이 실시예에 있어서, 제 1 에러 제어 스킴은 BCH(Bose, Ray-Chaudhuri, Hocquenghem) 코드 또는 RS(Reed-Solomon) 코드를 사용할 것이다. 제 2 에러 제어 스킴은 프렉션널 읽기(fractional read) 방식을 사용할 것이다. 하지만, 제 1 에러 제어 스킴 및 제 2 에러 제어 스킴이 여기에 기재된 것에 국한되지 않음은 이 분야 의 통상적인 지식을 습득한 자들에게 자명하다. 예를 들면, 제 1 에러 제어 스킴 및 제 2 에러 제어 스킴 각각은 반복 코드(Repetition codes), 패리티 코드(Parity codes), 순환 코드(Cyclic codes), 해밍 코드(Hamming code), 고레이 코드(Golay code), RM 코드(Reed-Muller codes), ML(Maximum Likelihood) 방식, 등을 이용하여 구현될 수 있다.
제어 블록(1500)은 제 1 MBC 영역(1310) 또는 제 2 MBC 영역(1320)에 대한 액세스가 요청되었는 지의 여부에 따라 제 1 ECC 회로(1410) 또는 제 2 ECC 회로(1420)를 선택할 것이다. 예를 들면, 제 1 MBC 영역(1310)에 대한 액세스가 요청될 때, 제어 블록(1500)은 제 1 ECC 회로(1410)를 선택할 것이다. 이는 제 1 에러 제어 스킴에 따라 에러 제어 블록(1400)이 동작함을 의미한다. 제 2 MBC 영역(1320)에 대한 액세스가 요청될 때, 제어 블록(1500)은 제 2 ECC 회로(1420)를 선택할 것이다. 이는 제 2 에러 제어 스킴에 따라 에러 제어 블록(1400)이 동작함을 의미한다. 제 1 MBC 영역(1310) 또는 제 2 MBC 영역(1320)에 대한 액세스 요청은 어드레스 정보 또는 커맨드 정보를 이용하여 판별될 수 있다.
이상의 설명으로부터 알 수 있듯이, 상이한 MBC 영역들에 대한 ECC 스킴을 상이하게 적용함으로써 멀티-비트 데이터에 대한 최적의 ECC 성능을 구현하는 것이 가능하다.
도 7은 본 발명의 또 다른 실시예에 따른 플래시 메모리 장치를 개략적으로 보여주는 블록도이다. 도 7에 도시된 플래시 메모리 장치(1600)는 데이터 저장 영역이 제 1 및 제 2 MBC 영역들(MBC1, MBC2)로 구성된다는 점을 제외하면 도 2에 도 시된 것과 실질적으로 동일하며, 그것에 대한 설명은 그러므로 생략될 것이다. 단, 제 1 및 제 2 MBC 영역들(MBC1, MCL2)에 각각 대응하는 에러 제어 스킴들은 도 6에서 설명된 것에 따를 것이다. 하지만, 본 발명이 이에 국한되지 않음은 이 분야의 통상적인 지식을 습득한 자들에게 자명하다.
도 8은 본 발명의 또 다른 실시예에 따른 플래시 메모리 장치를 개략적으로 보여주는 블록도이다. 도 8에 도시된 플래시 메모리 장치는 데이터 저장 영역이 제 1 및 제 2 MBC 영역들(MBC1, MBC2)로 구성된다는 점을 제외하면 도 3에 도시된 것과 실질적으로 동일하며, 그것에 대한 설명은 그러므로 생략될 것이다. 단, 제 1 및 제 2 MBC 영역들(MBC1, MCL2)에 각각 대응하는 에러 제어 스킴들은 도 6에서 설명된 것에 따를 것이다. 하지만, 본 발명이 이에 국한되지 않음은 이 분야의 통상적인 지식을 습득한 자들에게 자명하다.
도 9는 본 발명의 또 다른 실시예에 따른 메모리 시스템을 개략적으로 보여주는 블록도이다. 도 9에 도시된 플래시 메모리 장치는 데이터 저장 영역이 제 1 및 제 2 MBC 영역들(MBC1, MBC2)로 구성된다는 점을 제외하면 도 5에 도시된 것과 실질적으로 동일하며, 그것에 대한 설명은 그러므로 생략될 것이다. 단, 제 1 및 제 2 MBC 영역들(MBC1, MCL2)에 각각 대응하는 에러 제어 스킴들은 도 6에서 설명된 것에 따를 것이다. 하지만, 본 발명이 이에 국한되지 않음은 이 분야의 통상적인 지식을 습득한 자들에게 자명하다.
데이터 저장 영역은 다양하게 구성될 수 있음은 이 분야의 통상적인 지식을 습득한 자들에게 자명하다. 예를 들면, 데이터 저장 영역은 SCL 영역, 제 1 MBC 영 역, 제 2 MBC 영역으로 구성될 수 있도 있다. 이러한 경우, SCL 영역, 제 1 MBC 영역, 그리고 제 2 MBC 영역에 각각 대응하도록 ECC 회로들이 에러 제어 블록 내에 제공될 것이다.
도 10은 본 발명에 따른 스마트카드를 개략적으로 보여주는 블록도이다.
도 10을 참조하면, 본 발명에 따른 스마트카드는 프로세싱 유니트(3000), 인터페이스(3100), 롬(3200), 램(3300), 플래시 메모리 장치(3400), 그리고 에러 제어 유니트(3500)를 포함할 것이다. 비록 도면에는 도시되지 않았지만, 스마트카드에는 암호화/복호화 블록, 보안 블록, 등이 더 제공됨은 이 분야의 통상적인 지식을 습득한 자들에게 자명하다. 도 10에 도시된 플래시 메모리 장치(3400) 및 에러 제어 유니트(3500)는 도 1 내지 도 9 중 어느 하나에 도시된 것과 실질적으로 동일하며, 그것에 대한 설명은 그러므로 생략될 것이다.
이상, 본 발명의 상세한 설명에서는 구체적인 실시예에 관하여 설명하였으나, 본 발명의 범위에서 벗어나지 않는 한도 내에서 여러 가지로 변형할 수 있다. 그러므로 본 발명의 범위는 상술한 실시예에 국한되어 정해져서는 안되며 후술하는 특허청구범위뿐만 아니라 이 발명의 특허청구범위와 균등한 것들에 의해 정해져야 한다.
상술한 바와 같이, SBC/MBC1 영역과 MBC/MBC2 영역에 대한 ECC 스킴을 상이하게 적용함으로써 최적의 ECC 성능을 구현하는 것이 가능하다.

Claims (47)

  1. 제 1 플래시 메모리 셀들을 포함한 제 1 데이터 저장 영역과;
    제 2 플래시 메모리 셀들을 포함한 제 2 데이터 저장 영역과;
    상기 제 1 플래시 메모리 셀들에 대한 에러를 제어하도록 구성된 제 1 에러 제어 회로와; 그리고
    상기 제 2 플래시 메모리 셀들에 대한 에러를 제어하도록 구성된 제 2 에러 제어 회로를 포함하는 하이브리드 플래시 메모리 장치.
  2. 제 1 항에 있어서,
    상기 제 1 데이터 저장 영역의 제 1 플래시 메모리 셀들 각각은 1-비트 데이터를 저장하고, 상기 제 2 데이터 저장 영역의 제 2 플래시 메모리 셀들 각각은 멀티-비트 데이터를 저장하는 하이브리드 플래시 메모리 장치.
  3. 제 2 항에 있어서,
    상기 멀티-비트 데이터는 M-비트 데이터(M은 2 또는 그 보다 큰 양의 정수)인 하이브리드 플래시 메모리 장치.
  4. 제 2 항에 있어서,
    상기 제 1 에러 제어 회로는 BCH 코드 및 RS 코드 중 어느 하나를 이용하여 상기 제 1 플래시 메모리 셀들에 대한 에러를 제어하도록 구성되는 하이브리드 플래시 메모리 장치.
  5. 제 4 항에 있어서,
    상기 제 2 에러 제어 회로는 프렉션널 읽기 방식과 최대 가능도(ML) 방식 중 어느 하나를 이용하여 상기 제 2 플래시 메모리 셀들에 대한 에러를 제어하도록 구성되는 하이브리드 플래시 메모리 장치.
  6. 제 1 항에 있어서,
    상기 제 1 데이터 저장 영역의 제 1 플래시 메모리 셀들 각각은 i-비트 데이터를 저장하고, 상기 제 2 데이터 저장 영역의 제 2 플래시 메모리 셀들 각각은 j-비트 데이터를 저장하며, i는 j보다 작은 양의 정수를 갖는 하이브리드 플래시 메모리 장치.
  7. 제 6 항에 있어서,
    상기 i-비트 데이터는 2 또는 3-비트 데이터이고, 상기 j-비트 데이터는 3 또는 4-비트 데이터인 하이브리드 플래시 메모리 장치.
  8. 제 7 항에 있어서,
    상기 제 1 에러 제어 회로는 BCH 코드 및 RS 코드 중 어느 하나를 이용하여 상기 제 1 플래시 메모리 셀들에 대한 에러를 제어하도록 구성되는 하이브리드 플래시 메모리 장치.
  9. 제 8 항에 있어서,
    상기 제 2 에러 제어 회로는 프렉션널 읽기 방식과 최대 가능도(ML: Maximum Likelyhood) 방식 중 어느 하나를 이용하여 상기 제 2 플래시 메모리 셀들에 대한 에러를 제어하도록 구성되는 하이브리드 플래시 메모리 장치.
  10. 제 1 항에 있어서,
    상기 제 1 데이터 저장 영역 또는 상기 제 2 데이터 저장 영역에 대한 액세스가 요청되었는 지의 여부에 따라 제 1 에러 제어 회로 또는 제 2 에러 제어 회로를 선택하도록 구성된 제어 블록을 더 포함하는 하이브리드 플래시 메모리 장치.
  11. 제 1 항에 있어서,
    멀티-비트 데이터를 저장하는 제 3 플래시 메모리 셀들을 포함한 제 3 데이터 저장 영역과; 그리고
    상기 제 3 플래시 메모리 셀들에 대한 에러를 제어하도록 구성된 제 3 에러 제어 회로를 더 포함하는 하이브리드 플래시 메모리 장치.
  12. 제 1 플래시 메모리 셀들을 포함한 제 1 데이터 저장 영역과;
    제 2 플래시 메모리 셀들을 포함한 제 2 데이터 저장 영역과; 그리고
    서로 다른 복수의 에러 제어 스킴들과 상기 복수의 에러 제어 스킴들 중 제 1 및 제 2 에러 제어 스킴들을 선택하도록 구성된 옵션 회로를 포함하는 에러 제어 블록을 포함하며,
    상기 에러 제어 블록은 상기 제 1 에러 제어 스킴에 따라 상기 제 1 플래시 메모리 셀들의 에러를 제어하도록 그리고 상기 제 2 에러 제어 스킴에 따라 상기 제 2 플래시 메모리 셀들에 대한 에러를 제어하도록 구성되는 하이브리드 플래시 메모리 장치.
  13. 제 12 항에 있어서,
    상기 제 1 데이터 저장 영역의 제 1 플래시 메모리 셀들 각각은 1-비트 데이터를 저장하고, 상기 제 2 데이터 저장 영역의 제 2 플래시 메모리 셀들 각각은 멀티-비트 데이터를 저장하는 하이브리드 플래시 메모리 장치.
  14. 제 13 항에 있어서,
    상기 멀티-비트 데이터는 M-비트 데이터(M은 2 또는 그 보다 큰 양의 정수)인 하이브리드 플래시 메모리 장치.
  15. 제 13 항에 있어서,
    상기 제 1 에러 제어 회로는 BCH 코드, RS 코드, 프렉션널 읽기 방식, 그리 고 최대 가능도(ML) 방식 중 어느 하나를 이용하여 상기 제 1 플래시 메모리 셀들에 대한 에러를 제어하도록 구성되며, 상기 제 2 에러 제어 회로는 BCH 코드, RS 코드, 프렉션널 읽기 방식, 그리고 최대 가능도(ML) 방식 중 다른 하나를 이용하여 상기 제 2 플래시 메모리 셀들에 대한 에러를 제어하도록 구성되는 하이브리드 플래시 메모리 장치.
  16. 제 12 항에 있어서,
    제 1 데이터 저장 영역의 제 1 플래시 메모리 셀들 각각은 i-비트 데이터를 저장하고, 제 2 데이터 저장 영역의 제 2 플래시 메모리 셀들 각각은 j-비트 데이터를 저장하며, i는 j보다 작은 양의 정수를 갖는 하이브리드 플래시 메모리 장치.
  17. 제 16 항에 있어서,
    상기 i-비트 데이터는 2 또는 3-비트 데이터이고, 상기 j-비트 데이터는 3 또는 4-비트 데이터인 하이브리드 플래시 메모리 장치.
  18. 제 12 항에 있어서,
    상기 제 1 데이터 저장 영역 또는 상기 제 2 데이터 저장 영역에 대한 액세스가 요청되었는 지의 여부에 따라 상기 옵션 회로에 의해서 선택된 상기 제 1 에러 제어 회로 또는 상기 제 2 에러 제어 회로를 선택하도록 구성된 제어 블록을 더 포함하는 하이브리드 플래시 메모리 장치.
  19. 제 1 플래시 메모리 셀들을 포함한 제 1 데이터 저장 영역과, 제 2 플래시 메모리 셀들을 포함한 제 2 데이터 저장 영역을 포함하는 플래시 메모리 장치와; 그리고
    상기 플래시 메모리 장치를 제어하도록 구성된 메모리 제어기를 포함하며,
    상기 메모리 제어기는 상기 제 1 플래시 메모리 셀들에 대한 에러를 제어하도록 구성된 제 1 에러 제어 회로와; 그리고 상기 제 2 플래시 메모리 셀들에 대한 에러를 제어하도록 구성된 제 2 에러 제어 회로를 포함하는 메모리 시스템.
  20. 제 19 항에 있어서,
    상기 제 1 데이터 저장 영역의 제 1 플래시 메모리 셀들 각각은 1-비트 데이터를 저장하고, 상기 제 2 데이터 저장 영역의 제 2 플래시 메모리 셀들 각각은 M-비트 데이터(M은 2 또는 그 보다 큰 양의 정수)를 저장하는 메모리 시스템.
  21. 제 20 항에 있어서,
    상기 제 1 에러 제어 회로는 BCH 코드 및 RS 코드 중 어느 하나를 이용하여 상기 제 1 플래시 메모리 셀들에 대한 에러를 제어하도록 구성되는 메모리 시스템.
  22. 제 21 항에 있어서,
    상기 제 2 에러 제어 회로는 프렉션널 읽기 방식과 최대 가능도(ML) 방식 중 어느 하나를 이용하여 상기 제 2 플래시 메모리 셀들에 대한 에러를 제어하도록 구성되는 메모리 시스템.
  23. 제 19 항에 있어서,
    상기 제 1 데이터 저장 영역의 제 1 플래시 메모리 셀들 각각은 i-비트 데이터를 저장하고, 상기 제 2 데이터 저장 영역의 제 2 플래시 메모리 셀들 각각은 j-비트 데이터를 저장하며, i는 j보다 작은 양의 정수를 갖는 메모리 시스템.
  24. 제 23 항에 있어서,
    상기 i-비트 데이터는 2 또는 3-비트 데이터이고, 상기 j-비트 데이터는 3 또는 4-비트 데이터인 메모리 시스템.
  25. 제 24 항에 있어서,
    상기 제 1 에러 제어 회로는 BCH 코드 및 RS 코드 중 어느 하나를 이용하여 상기 제 1 플래시 메모리 셀들에 대한 에러를 제어하도록 구성되는 메모리 시스템.
  26. 제 25 항에 있어서,
    상기 제 2 에러 제어 회로는 프렉션널 읽기 방식과 최대 가능도(ML) 방식 중 어느 하나를 이용하여 상기 제 2 플래시 메모리 셀들에 대한 에러를 제어하도록 구성되는 메모리 시스템.
  27. 제 19 항에 있어서,
    상기 메모리 제어기는 상기 제 1 데이터 저장 영역 또는 상기 제 2 데이터 저장 영역에 대한 액세스가 요청되었는 지의 여부에 따라 제 1 에러 제어 회로 또는 제 2 에러 제어 회로를 선택하도록 구성되는 메모리 시스템.
  28. 제 19 항에 있어서,
    상기 플래시 메모리 장치와 상기 메모리 제어기는 플래시 메모리 카드를 구성하는 메모리 시스템.
  29. 제 19 항에 있어서,
    상기 메모리 제어기는 컴퓨팅 시스템의 메인 보드에 직접 설치되도록 구성되는 메모리 시스템.
  30. 제 1 플래시 메모리 셀들을 포함한 제 1 데이터 저장 영역과, 제 2 플래시 메모리 셀들을 포함한 제 2 데이터 저장 영역을 포함하는 플래시 메모리 장치와; 그리고
    상기 플래시 메모리 장치를 제어하도록 구성된 메모리 제어기를 포함하며,
    상기 메모리 제어기는 서로 다른 복수의 에러 제어 스킴들과 상기 복수의 에러 제어 스킴들 중 제 1 및 제 2 에러 제어 스킴들을 선택하도록 구성된 옵션 회로 를 포함하는 에러 제어 블록을 포함하며; 그리고
    상기 에러 제어 블록은 상기 제 1 에러 제어 스킴에 따라 상기 제 1 플래시 메모리 셀들의 에러를 제어하도록 그리고 상기 제 2 에러 제어 스킴에 따라 상기 제 2 플래시 메모리 셀들에 대한 에러를 제어하도록 구성되는 메모리 시스템.
  31. 제 30 항에 있어서,
    상기 제 1 데이터 저장 영역의 제 1 플래시 메모리 셀들 각각은 1-비트 데이터를 저장하고, 상기 제 2 데이터 저장 영역의 제 2 플래시 메모리 셀들 각각은 멀티-비트 데이터를 저장하는 메모리 시스템.
  32. 제 31 항에 있어서,
    상기 멀티-비트 데이터는 M-비트 데이터(M은 2 또는 그 보다 큰 양의 정수)인 메모리 시스템.
  33. 제 32 항에 있어서,
    상기 제 1 에러 제어 회로는 BCH 코드, RS 코드, 프렉션널 읽기 방식, 그리고 최대 가능도(ML) 방식 중 어느 하나를 이용하여 상기 제 1 플래시 메모리 셀들에 대한 에러를 제어하도록 구성되며, 상기 제 2 에러 제어 회로는 BCH 코드, RS 코드, 프렉션널 읽기 방식, 그리고 최대 가능도(ML) 방식 중 다른 하나를 이용하여 상기 제 2 플래시 메모리 셀들에 대한 에러를 제어하도록 구성되는 메모리 시스템.
  34. 제 30 항에 있어서,
    상기 제 1 데이터 저장 영역의 제 1 플래시 메모리 셀들 각각은 i-비트 데이터를 저장하고, 상기 제 2 데이터 저장 영역의 제 2 플래시 메모리 셀들 각각은 j-비트 데이터를 저장하며, i는 j보다 작은 양의 정수를 갖는 메모리 시스템.
  35. 제 34 항에 있어서,
    상기 i-비트 데이터는 2 또는 3-비트 데이터이고, 상기 j-비트 데이터는 3 또는 4-비트 데이터인 메모리 시스템.
  36. 제 30 항에 있어서,
    상기 메모리 제어기는 상기 제 1 데이터 저장 영역 또는 상기 제 2 데이터 저장 영역에 대한 액세스가 요청되었는 지의 여부에 따라 상기 옵션 회로에 의해서 선택된 상기 제 1 에러 제어 회로 또는 상기 제 2 에러 제어 회로를 선택하도록 구성되는 메모리 시스템.
  37. 제 30 항에 있어서,
    상기 제 1 및 제 2 데이터 저장 영역들 각각은 단일 칩으로 구성되는 메모리 시스템.
  38. 제 1 플래시 메모리 셀들을 포함한 제 1 데이터 저장 영역과 제 2 플래시 메모리 셀들을 포함한 제 2 데이터 저장 영역을 갖는 하이브리드 플래시 메모리 장치의 에러 제어 방법에 있어서:
    상기 제 1 데이터 저장 영역과 상기 제 2 데이터 저장 영역 중 어느 하나에 대한 액세스가 요청되었는 지의 여부를 판별하는 단계와;
    상기 제 1 데이터 저장 영역에 대한 액세스가 요청되는 경우 제 1 에러 제어 스킴에 따라 상기 제 1 플래시 메모리 셀들에 대한 에러를 제어하는 단계와; 그리고
    상기 제 2 데이터 저장 영역에 대한 액세스가 요청되는 경우 제 2 에러 제어 스킴에 따라 상기 제 2 플래시 메모리 셀들에 대한 에러를 제어하는 단계를 포함하는 것을 특징으로 하는 에러 제어 방법.
  39. 제 38 항에 있어서,
    상기 제 1 데이터 저장 영역의 제 1 플래시 메모리 셀들 각각은 1-비트 데이터를 저장하고, 상기 제 2 데이터 저장 영역의 제 2 플래시 메모리 셀들 각각은 멀티-비트 데이터를 저장하는 것을 특징으로 하는 에러 제어 방법.
  40. 제 39 항에 있어서,
    상기 멀티-비트 데이터는 M-비트 데이터(M은 2 또는 그 보다 큰 양의 정수)인 것을 특징으로 하는 에러 제어 방법.
  41. 제 40 항에 있어서,
    상기 제 1 에러 제어 스킴은 BCH 코드 및 RS 코드 중 어느 하나를 이용하여 상기 제 1 플래시 메모리 셀들에 대한 에러를 제어하는 것을 특징으로 하는 에러 제어 방법.
  42. 제 41 항에 있어서,
    상기 제 2 에러 제어 스킴은 프렉션널 읽기 방식과 최대 가능도(ML) 방식 중 어느 하나를 이용하여 상기 제 2 플래시 메모리 셀들에 대한 에러를 제어하는 것을 특징으로 하는 에러 제어 방법.
  43. 제 38 항에 있어서,
    상기 제 1 데이터 저장 영역의 제 1 플래시 메모리 셀들 각각은 i-비트 데이터를 저장하고, 상기 제 2 데이터 저장 영역의 제 2 플래시 메모리 셀들 각각은 j-비트 데이터를 저장하며, i는 j보다 작은 양의 정수를 갖는 것을 특징으로 하는 에러 제어 방법.
  44. 제 43 항에 있어서,
    상기 i-비트 데이터는 2 또는 3-비트 데이터이고, 상기 j-비트 데이터는 3 또는 4-비트 데이터인 것을 특징으로 하는 에러 제어 방법.
  45. 제 44 항에 있어서,
    상기 제 1 에러 제어 스킴은 BCH 코드 및 RS 코드 중 어느 하나를 이용하여 상기 제 1 플래시 메모리 셀들에 대한 에러를 제어하는 것을 특징으로 하는 에러 제어 방법.
  46. 제 45 항에 있어서,
    상기 제 2 에러 제어 스킴은 프렉션널 읽기 방식과 최대 가능도(ML) 방식 중 어느 하나를 이용하여 상기 제 2 플래시 메모리 셀들에 대한 에러를 제어하는 것을 특징으로 하는 에러 제어 방법.
  47. 제 38 항에 있어서,
    복수의 에러 제어 스킴들 중 적어도 2개의 에러 제어 스킴들을 선택하는 단계와; 그리고
    상기 선택된 에러 제어 스킴들을 상기 제 1 및 제 2 에러 제어 스킴들로서 각각 정의하는 단계를 더 포함하는 것을 특징으로 하는 에러 제어 방법.
KR1020070001045A 2007-01-04 2007-01-04 상이한 에러 제어 스킴을 갖는 하이브리드 플래시 메모리장치 및 그것을 포함한 메모리 시스템 KR100872186B1 (ko)

Priority Applications (4)

Application Number Priority Date Filing Date Title
KR1020070001045A KR100872186B1 (ko) 2007-01-04 2007-01-04 상이한 에러 제어 스킴을 갖는 하이브리드 플래시 메모리장치 및 그것을 포함한 메모리 시스템
US11/962,445 US20080215952A1 (en) 2007-01-04 2007-12-21 Hybrid flash memory device, memory system, and method controlling errors
DE102008003267A DE102008003267A1 (de) 2007-01-04 2008-01-04 Hybridflashspeicherbauelement, Speichersystem und Verfahren zum Steuern von Fehlern in einem Hybridflashspeicherbauelement
CNA2008100920592A CN101256843A (zh) 2007-01-04 2008-01-04 混合闪存装置、存储系统以及控制误差的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020070001045A KR100872186B1 (ko) 2007-01-04 2007-01-04 상이한 에러 제어 스킴을 갖는 하이브리드 플래시 메모리장치 및 그것을 포함한 메모리 시스템

Publications (2)

Publication Number Publication Date
KR20080064299A true KR20080064299A (ko) 2008-07-09
KR100872186B1 KR100872186B1 (ko) 2008-12-09

Family

ID=39587491

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070001045A KR100872186B1 (ko) 2007-01-04 2007-01-04 상이한 에러 제어 스킴을 갖는 하이브리드 플래시 메모리장치 및 그것을 포함한 메모리 시스템

Country Status (4)

Country Link
US (1) US20080215952A1 (ko)
KR (1) KR100872186B1 (ko)
CN (1) CN101256843A (ko)
DE (1) DE102008003267A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140020041A (ko) * 2012-08-07 2014-02-18 삼성전자주식회사 메모리 장치의 독출 전압 제어 방법 및 이를 이용한 데이터 독출 방법

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100845529B1 (ko) * 2007-01-03 2008-07-10 삼성전자주식회사 플래시 메모리 장치의 이씨씨 제어기 및 그것을 포함한메모리 시스템
US8122322B2 (en) * 2007-07-31 2012-02-21 Seagate Technology Llc System and method of storing reliability data
US8255774B2 (en) * 2009-02-17 2012-08-28 Seagate Technology Data storage system with non-volatile memory for error correction
JP2010198209A (ja) * 2009-02-24 2010-09-09 Toshiba Corp 半導体記憶装置
CN102122267A (zh) * 2010-01-07 2011-07-13 上海华虹集成电路有限责任公司 一种可同时进行数据传输及FTL管理的多通道NANDflash控制器
US8621330B2 (en) * 2011-03-21 2013-12-31 Microsoft Corporation High rate locally decodable codes
CN103226528A (zh) * 2012-01-31 2013-07-31 上海华虹集成电路有限责任公司 多通道与非型闪存控制器
US9425829B2 (en) * 2014-09-12 2016-08-23 Freescale Semiconductor, Inc. Adaptive error correction codes (ECCs) for electronic memories
US11288017B2 (en) * 2017-02-23 2022-03-29 Smart IOPS, Inc. Devices, systems, and methods for storing data using distributed control
US11354247B2 (en) 2017-11-10 2022-06-07 Smart IOPS, Inc. Devices, systems, and methods for configuring a storage device with cache
US10394474B2 (en) 2017-11-10 2019-08-27 Smart IOPS, Inc. Devices, systems, and methods for reconfiguring storage devices with applications
US11755208B2 (en) * 2021-10-12 2023-09-12 Western Digital Technologies, Inc. Hybrid memory management of non-volatile memory (NVM) devices for use with recurrent neural networks

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3975245B2 (ja) * 1999-12-16 2007-09-12 株式会社ルネサステクノロジ 記録再生装置および半導体メモリ
JP4282197B2 (ja) * 2000-01-24 2009-06-17 株式会社ルネサステクノロジ 不揮発性半導体記憶装置
US7023735B2 (en) * 2003-06-17 2006-04-04 Ramot At Tel-Aviv University Ltd. Methods of increasing the reliability of a flash memory
KR100654344B1 (ko) * 2003-07-24 2006-12-05 주식회사 레인콤 플래시 메모리를 이용한 기억장치 및 그 에러 복구 방법
US20050132128A1 (en) * 2003-12-15 2005-06-16 Jin-Yub Lee Flash memory device and flash memory system including buffer memory
US7106636B2 (en) * 2004-06-22 2006-09-12 Intel Corporation Partitionable memory device, system, and method
TWI243376B (en) * 2004-07-16 2005-11-11 Univ Nat Chiao Tung Method of combining multi-level memory unit and providing the same with error correction mechanism
KR100732628B1 (ko) * 2005-07-28 2007-06-27 삼성전자주식회사 멀티-비트 데이터 및 싱글-비트 데이터를 저장하는 플래시메모리 장치
KR100737912B1 (ko) * 2005-10-11 2007-07-10 삼성전자주식회사 반도체 메모리 장치의 에러 검출 및 정정 회로
US7681109B2 (en) * 2005-10-13 2010-03-16 Ramot At Tel Aviv University Ltd. Method of error correction in MBC flash memory
US7823043B2 (en) * 2006-05-10 2010-10-26 Sandisk Il Ltd. Corruption-resistant data porting with multiple error correction schemes
US7900118B2 (en) * 2007-02-12 2011-03-01 Phison Electronics Corp. Flash memory system and method for controlling the same

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140020041A (ko) * 2012-08-07 2014-02-18 삼성전자주식회사 메모리 장치의 독출 전압 제어 방법 및 이를 이용한 데이터 독출 방법

Also Published As

Publication number Publication date
US20080215952A1 (en) 2008-09-04
KR100872186B1 (ko) 2008-12-09
CN101256843A (zh) 2008-09-03
DE102008003267A1 (de) 2008-08-07

Similar Documents

Publication Publication Date Title
KR100872186B1 (ko) 상이한 에러 제어 스킴을 갖는 하이브리드 플래시 메모리장치 및 그것을 포함한 메모리 시스템
KR100842680B1 (ko) 플래시 메모리 장치의 오류 정정 컨트롤러 및 그것을포함하는 메모리 시스템
US9654141B2 (en) Memory devices and systems configured to adjust a size of an ECC coverage area
KR100845529B1 (ko) 플래시 메모리 장치의 이씨씨 제어기 및 그것을 포함한메모리 시스템
US10536172B2 (en) ECC and raid-type decoding
US9262261B2 (en) Memory devices facilitating differing depths of error detection and/or error correction coverage
US10007573B2 (en) Preferred state encoding in non-volatile memories
KR101563647B1 (ko) 메모리 시스템 및 그것의 데이터 처리 방법
US8732553B2 (en) Memory system and control method thereof
TWI606447B (zh) 用以偵測並減緩快閃記憶體中的位元線開路之設備及方法
US8984373B2 (en) Method for accessing flash memory and associated flash memory controller
US9817752B2 (en) Data integrity enhancement to protect against returning old versions of data
US8644066B2 (en) Multi-level non-volatile memory device, system and method with state-converted data
US8612836B2 (en) Non-volatile memory device with uncorrectable information region and operation method using the same
US9824007B2 (en) Data integrity enhancement to protect against returning old versions of data
KR102104833B1 (ko) 메모리 컨트롤러, 및 이의 동작 방법
CN112799874B (zh) 存储器控制方法、存储器存储装置及存储器控制电路单元
US10922025B2 (en) Nonvolatile memory bad row management
KR20200070686A (ko) 저장 장치 및 그 동작 방법
US20230195570A1 (en) Reduction of Errors in Data Retrieved from a Memory Device to Apply an Error Correction Code of a Predetermined Code Rate

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20121031

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20131031

Year of fee payment: 6

LAPS Lapse due to unpaid annual fee