KR20110017613A - 메모리 장치의 시퀀스 대체 방법, 상기 방법을 수행할 수 있는 장치들 - Google Patents

메모리 장치의 시퀀스 대체 방법, 상기 방법을 수행할 수 있는 장치들 Download PDF

Info

Publication number
KR20110017613A
KR20110017613A KR1020090075165A KR20090075165A KR20110017613A KR 20110017613 A KR20110017613 A KR 20110017613A KR 1020090075165 A KR1020090075165 A KR 1020090075165A KR 20090075165 A KR20090075165 A KR 20090075165A KR 20110017613 A KR20110017613 A KR 20110017613A
Authority
KR
South Korea
Prior art keywords
sequence
replacement
memory device
bits
sequences
Prior art date
Application number
KR1020090075165A
Other languages
English (en)
Inventor
김용준
김재홍
공준진
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to KR1020090075165A priority Critical patent/KR20110017613A/ko
Priority to US12/796,896 priority patent/US20110040929A1/en
Publication of KR20110017613A publication Critical patent/KR20110017613A/ko

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C8/00Arrangements for selecting an address in a digital store
    • G11C8/04Arrangements for selecting an address in a digital store using a sequential addressing device, e.g. shift register, counter
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C8/00Arrangements for selecting an address in a digital store
    • G11C8/06Address interface arrangements, e.g. address buffers
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C8/00Arrangements for selecting an address in a digital store
    • G11C8/12Group selection circuits, e.g. for memory block selection, chip selection, array selection

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Quality & Reliability (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

메모리 시스템의 시퀀스 대체 방법이 개시된다. 상기 방법은 호스트로부터 출력된 제1시퀀스를 수신하는 단계와, 수신된 제1시퀀스가 이미 정의된 m개의 시퀀스들 중에서 어느 하나의 시퀀스와 동일한지의 여부를 판단하는 단계와, 상기 제1시퀀스와 상기 어느 하나의 시퀀스가 서로 동일할 때, 상기 제1시퀀스 대신에 대체 시퀀스를 출력하는 단계를 포함하며, 상기 대체 시퀀스는 상기 제1시퀀스의 패턴을 나타내는 패턴 비트들과 상기 제1스퀀스의 시작 위치를 나타내는 위치 비트들을 포함한다.

Description

메모리 장치의 시퀀스 대체 방법, 상기 방법을 수행할 수 있는 장치들{Method for replacing sequences of a memory device, and apparatuses using the same}
본 발명에 따른 실시 예는 반도체 장치에 관한 것으로서, 보다 구체적으로 원하지 않는 시퀀스를 다른 시퀀스로 대체함으로써 메모리 장치의 신뢰도를 향상시킬 수 있는 메모리 장치의 시퀀스 대체 방법과 상기 방법을 수행할 수 있는 장치들에 관한 것이다.
메모리 장치는 크게 휘발성 메모리 장치(volatile memory device)와 불휘발성 메모리 장치(non-volatile memory device)로 구분될 수 있다.
상기 휘발성 메모리 장치는 리드/라이트(read/write) 속도는 빠르지만 외부 전원 공급이 중단되면 저장된 데이터가 사라진다. 반면에, 상기 불휘발성 메모리 장치는 외부 전원 공급이 중단되더라도 저장된 데이터는 보존된다. 따라서, 상기 불휘발성 메모리 장치는 외부전원 공급 여부에 무관하게 데이터를 보존할 수 있다.
상기 불휘발성 메모리 장치는 MROM(Mask Rread-Only Memory), PROM (Programmable Read-Only Memory(PROM)), EPROM(Erasable Programmable Read-Only Memory(EPROM)), 또는 EEPROM(Eelectrically Erasable Programmable Read-Only Memory) 등을 포함한다. 특히, 플래시 EEPROM(이하, 플래시 메모리)은 기존의 EEPROM에 비해 집적도가 높아서 대용량 보조 기억 장치로서 사용된다.
상기 플래시 메모리는 워드 라인 방향으로 데이터를 차례대로 프로그램할 수 있는데, 상기 플래시 메모리에 프로그램될 데이터 시퀀스가 특정 패턴의 시퀀스를 포함하는 경우 상기 플래시 메모리의 신뢰성을 저하시킬 수 있는 경우가 있다. 예컨대, 멀티 비트 셀(MLC, multi bit cell)을 포함하는 플래시 메모리는 메모리 셀에 여러 전압 상태들 중에서 어느 하나의 상태를 프로그램할 수 있다.
도 1은 본 발명의 실시 예에 따라 시퀀스 대체의 대상이 되는 시퀀스의 예를 설명하기 위한 예시도이다. 도 1을 참조하면, 이레이즈 셀(erase cell; 11)의 주변에 다수의 프로그램 셀들(12)이 위치하면, 상기 이레이즈 셀(11)은 커플링, 및/또는 프로그램 디스터브 등의 영향을 받아 상기 이레이즈 셀(11)의 전압 범위가 쉬프트되어 리드 에러가 발생할 수 있다.
본 발명에 따른 실시 예는 원하지 않는 특정 시퀀스를 다른 시퀀스로 대체함으로써 메모리 장치의 신뢰성을 향상시킬 수 있는 시퀀스 대체 방법, 및 상기 방법을 수행할 수 있는 반도체 장치를 제공하는 것이다.
본 발명의 실시 예에 따른 메모리 시스템의 시퀀스 대체 방법은 호스트로부 터 출력된 제1시퀀스를 수신하는 단계와, 수신된 제1시퀀스가 이미 정의된 m개의 시퀀스들 중에서 어느 하나의 시퀀스와 동일한지의 여부를 판단하는 단계와, 상기 제1시퀀스와 상기 어느 하나의 시퀀스가 서로 동일할 때, 상기 제1시퀀스 대신에 대체 시퀀스를 출력하는 단계를 포함하며, 상기 대체 시퀀스는 상기 제1시퀀스의 패턴을 나타내는 패턴 비트들과 상기 제1스퀀스의 시작 위치를 나타내는 위치 비트들을 포함한다.
상기 제1시퀀스의 비트의 수와 상기 대체 시퀀스의 비트의 수는 서로 동일한다. 상기 패턴 비트들의 수는 상기 m에 따라 결정된다. 예컨대, 상기 패턴 비트들의 수는 log2 m ≤ b < log2 m + 1에 따라 결정된다.
상기 메모리 시스템의 시퀀스 대체 방법은 메모리 장치로부터 출력된 제2시퀀스를 수신하는 단계와, 상기 대체 시퀀스와 상기 제2시퀀스가 서로 동일한지의 여부를 판단하고, 상기 대체 시퀀스와 상기 제2시퀀스가 서로 동일할 때, 상기 제2시퀀스 대신에 상기 제1시퀀스를 출력하는 단계를 더 포함한다.
실시 예에 따라, 상기 메모리 시스템의 시퀀스 대체 방법은 메모리 장치로부터 출력되고 대체 여부를 지시하는 대체 비트와 제2시퀀스를 포함하는 데이터를 수신하는 단계와, 상기 대체 비트를 해석하는 단계와, 상기 해석 결과 상기 제2시퀀스가 대체된 시퀀스이고 상기 대체 시퀀스와 상기 제2시퀀스가 서로 동일할 때, 상기 제2시퀀스 대신에 상기 제1시퀀스를 출력하는 단계를 더 포함한다.
본 발명의 실시 예에 따른 메모리 시스템의 컨트롤러는 이미 정의된 m개의 시퀀스들을 저장하기 위한 저장부와, 호스트로부터 출력된 제1시퀀스를 수신하고, 수신된 제1시퀀스가 상기 m개의 시퀀스들 중에서 어느 하나의 시퀀스와 동일한지의 여부를 판단하고, 상기 제1시퀀스와 상기 어느 하나의 시퀀스가 서로 동일할 때 상기 제1시퀀스 대신에 대체 시퀀스를 메모리 장치로 출력하기 위한 시퀀스 대체 회로를 포함하며, 상기 대체 시퀀스는 상기 제1시퀀스의 패턴을 나타내는 패턴 비트들과 상기 제1스퀀스의 시작 위치를 나타내는 위치 비트들을 포함한다.
상기 시퀀스 대체 회로는 상기 메모리 장치로부터 출력된 제2시퀀스를 수신하고, 상기 대체 시퀀스와 상기 제2시퀀스가 서로 동일한지의 여부를 판단하고, 상기 대체 시퀀스와 상기 제2시퀀스가 서로 동일할 때 상기 제2시퀀스 대신에 상기 제1시퀀스를 상기 호스트로 출력한다.
실시 예에 따라 상기 시퀀스 대체 회로는 상기 메모리 장치로부터 출력되고 대체 여부를 지시하는 대체 비트와 제2시퀀스를 포함하는 데이터를 수신하고, 상기 대체 비트를 해석하고, 상기 해석 결과 상기 제2시퀀스가 대체된 시퀀스이고 상기 대체 시퀀스와 상기 제2시퀀스가 서로 동일할 때, 상기 제2시퀀스 대신에 상기 제1시퀀스를 출력한다.
본 발명의 실시 예에 따른 메모리 시스템은 대체 시퀀스를 저장하기 위한 메모리 장치와, 제1시퀀스를 상기 대체 시퀀스로 대체하여 상기 메모리 장치에 저장하기 위한 컨트롤러를 포함한다.
상기 컨트롤러는 이미 정의된 m개의 시퀀스들을 저장하기 위한 저장부와, 호스트로부터 출력된 상기 제1시퀀스를 수신하고, 수신된 제1시퀀스가 상기 m개의 시 퀀스들 중에서 어느 하나의 시퀀스와 동일한지의 여부를 판단하고, 상기 제1시퀀스와 상기 어느 하나의 시퀀스가 서로 동일할 때 상기 제1시퀀스 대신에 상기 대체 시퀀스를 상기 메모리 장치로 출력하기 위한 시퀀스 대체 회로를 포함하며, 상기 대체 시퀀스는 상기 제1시퀀스의 패턴을 나타내는 패턴 비트들과 상기 제1스퀀스의 시작 위치를 나타내는 위치 비트들을 포함한다.
본 발명의 실시 예에 따른 시퀀스 대체 방법은 원하지 않는 시퀀스를 다른 시퀀스로 효율적으로 대체함으로써 메모리 장치의 신뢰성을 향상시킬 수 있는 효과가 있다.
특정한 구조 내지 기능적 설명들은 단지 본 발명의 개념에 따른 실시예를 설명하기 위한 목적으로 예시된 것으로, 본 발명의 개념에 따른 실시예들은 다양한 형태로 실시될 수 있으며 본 명세서 또는 출원에 설명된 실시예들에 한정되는 것으로 해석되어서는 아니된다.
본 발명의 개념에 따른 실시예는 다양한 변경을 가할 수 있고 여러 가지 형태를 가질 수 있으므로 특정 실시예들은 도면에 예시하고 본 명세서 또는 출원에 상세하게 설명하고자 한다. 그러나, 이는 본 발명의 개념에 따른 실시예들을 특정한 개시 형태에 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
제1 및/또는 제2 등의 용어는 다양한 구성 요소들을 설명하는데 사용될 수 있지만, 상기 구성 요소들은 상기 용어들에 한정되지는 않는다. 상기 용어들은 하나의 구성 요소를 다른 구성 요소들로부터 구별하는 목적으로만, 예컨대 본 발명의 개념에 따른 권리 범위로부터 이탈되지 않은 채, 제1 구성 요소는 제2 구성 요소로 명명될 수 있고, 유사하게 제2 구성 요소는 제1 구성 요소로도 명명될 수 있다.
어떠한 구성 요소가 다른 구성 요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성 요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성 요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떠한 구성 요소가 다른 구성 요소에 "직접 연결되어" 있다거나 또는 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성 요소가 존재하지 않는 것으로 이해되어야 할 것이다. 구성 요소들 간의 관계를 설명하기 위한 다른 표현들, 즉 '∼사이에'와 '바로 ∼사이에' 또는 '∼에 이웃하는'과 '∼에 직접 이웃하는' 등의 표현도 마찬가지로 해석되어야 한다.
본 명세서에서 사용하는 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로서, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서 '포함하다' 또는 '가지다' 등의 용어는 설시된 특징, 숫자, 단계, 동작, 구성 요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성 요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전의 정의 되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 갖는 것으로 해석되어야 하며, 본 명세서에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예를 설명함으로써 본 발명을 상세히 설명하도록 한다.
도 2a는 본 발명의 실시 예에 따른 시퀀스 대체 유닛을 포함하는 메모리 시스템의 개략적인 블록도이다. 상기 메모리 시스템(1)은 플래시 메모리를 포함하는 메모리 카드, 스마트 카드, USB 메모리 장치, 디지털 TV, 이동 전화기, PDA, PMP, e-북, 또는 컴퓨터 등에 사용될 수 있다.
상기 메모리 시스템(1)은 컨트롤러(100), 및 메모리 장치(200)를 포함할 수 있다. 실시 예에 따라 상기 메모리 시스템(1)은 호스트를 더 포함할 수 있다.
상기 컨트롤러(100)는 호스트 인터페이스(110), CPU(120)와 같은 프로세서, 사용자 데이터 버퍼(130), 시스템 데이터 버퍼(140), DMA(direct memory access; 150), 시퀀스 대체 유닛(160), 및 ECC 블록(170)을 포함할 수 있다.
상기 호스트 인터페이스(110)는 호스트(HOST)와 주고받는 데이터 및/또는 명령들을 인터페이싱할 수 있다. 여기서, 호스트 인터페이스(110)는 하드웨어를 의미할 수도 있고, 또한 통신 프로토콜을 처리하기 위한 소프트웨어가 탑재된 하드웨어를 의미할 수 있다.
상기 메모리 장치(200)는 다수의 메모리 블록들(미 도시)을 포함한다. 상기 메모리 장치(200)는 상기 다수의 메모리 블록들 각각에 접속된 다수의 채널들(미 도시) 각각을 통하여 데이터 및/또는 제어 신호들을 상기 컨트롤러(100)와 주고받을 수 있다. 상기 메모리 장치(200)는 불휘발성 메모리 칩들, 예컨대 NAND 플래시 칩 또는 NOR 플래시 칩으로 구현될 수 있다.
시스템 버스에 접속된 상기 사용자 데이터 버퍼(130)는 상기 호스트(HOST)로부터 출력된 라이트 데이터 또는 상기 메모리 장치(200)로부터 출력된 리드 데이터를 수신하여 저장할 수 있다. 상기 사용자 데이터 버퍼(130)는 상기 메모리 장치 (200)로부터 출력된 리드 데이터를 수신하여 저장하고 상기 리드 데이터에 에러가 있는 경우 상기 CPU(120)의 제어 하에 상기 호스트(HOST)로 리드 데이터를 전송하는 것을 중지할 수 있다.
상기 사용자 데이터 버퍼(130)는, 상기 CPU(120)의 제어 하에, 상기 ECC 블록(170)의 에러 정보에 기초하여(또는 참조하여) 상기 리드 데이터의 에러를 정정하고 상기 정정이 완료된 후 에러 정정된 리드 데이터를 호스트로 출력할 수 있다.
상기 시스템 데이터 버퍼(140)는, 상기 CPU(120)의 제어 하에, 상기 메모리 장치(200)로부터 출력된 시스템 데이터(예컨대, 업-데이트가 필요한 펌웨어, OS, 또는 코드 데이터, 등) 를 수신하여 저장하고, 저장된 시스템 데이터를 업-데이트하고, 업-데이트된 시스템 데이터를 상기 메모리 장치(200)로 출력할 수 있다.
상기 사용자 데이터 버퍼(130)의 동작과 유사하게, 상기 시스템 데이터 버퍼 (140)는, 상기 CPU(120)의 제어 하에, 상기 메모리 장치(200)로부터 리드된 시스템 데이터를 수신하여 저장하고, 상기 리드된 시스템 데이터에 에러가 있는 경우 상기 시스템 데이터의 업-데이트를 중지할 수 있다. 이때 상기 시스템 데이터 버퍼(140)는, 상기 CPU(120)의 제어 하에, 상기 ECC 블록(170)의 에러 정보에 기초하여 상기 리드된 시스템 데이터의 에러를 정정하고, 상기 정정이 완료된 후 상기 시스템 데이터를 업-데이트할 수 있다.
상기 사용자 데이터 버퍼(130)와 상기 시스템 데이터 버퍼(140) 각각은 버퍼 메모리들, 예컨대 싱글 포트 SRAM, 듀얼 포트 SRAM, 또는 멀티 포트 SRAM으로 구현될 수 있으나 이에 한정되는 것은 아니다.
상기 CPU(120)는 상기 ECC 블록(170)으로부터 출력된 에러 정보에 기초하여 상기 사용자 데이터 버퍼(130)에 저장된 라이트 데이터 또는 리드 데이터를 액세스하여 상기 라이트 데이터 또는 상기 리드 데이터의 에러를 정정할 수 있다. 상기 라이트 데이터 또는 상기 리드 데이터의 에러를 정정하기 위하여, 상기 CPU(120)가 상기 사용자 데이터 버퍼(130)를 액세스하는 것을 예시적으로 설명하였으나, 실시예에 따라 메모리 시스템(1)은 상기 DMA(150)를 이용하여 상기 사용자 데이터 버퍼(130)에 저장된 라이트 데이터 또는 리드 데이터를 정정할 수 있다.
상기 DMA(150)는 상기 사용자 데이터 버퍼(130)에 저장된 데이터를 액세스하여 액세스된 데이터가 상기 메모리 장치(200)에 저장되도록 제어할 수 있다.
상기 ECC 블록(170)은 호스트(HOST)로부터 출력된 라이트 데이터의 에러를 정정하거나, 또는 상기 메모리 장치(200)로부터 리드된 리드 데이터의 에러를 정정할 수 있다.
본 발명의 실시 예에 따른 상기 컨트롤러(100)는 이미 정의된 시퀀스와 동일한 시퀀스를 본 발명의 실시 예에 따른 방법에 기초하여 다른 시퀀스로 대체하기 위한 시퀀스 대체 유닛(160)을 포함할 수 있다.
라이트 동작 시에, 상기 시퀀스 대체 유닛(160)은 상기 호스트(HOST)로부터 출력된 라이트 데이터의 적어도 일부(예컨대, 라이트 시퀀스)가 이미 정의된(또는 설정된) 시퀀스와 동일한 경우 상기 라이트 시퀀스를 다른 시퀀스로 대체하는 기능을 수행한다. 또한, 리드 동작 시에, 시퀀스 대체 유닛(160)은 대체된 시퀀스를 원래의 시퀀스로 다시 대체하는 기능을 수행한다.
도 3은 도 2a 또는 도 2b에 도시된 시퀀스 대체 유닛의 개략적인 블록도이다. 도 2a 및 도 3을 참조하여 상기 시퀀스 대체 유닛(160)의 동작을 구체적으로 설명하면, 라이트 동작 시에 상기 호스트(HOST)로부터 출력된 라이트 데이터(X)에 포함된 특정 시퀀스는 상기 시퀀스 대체 유닛(160)에 의하여 대체 시퀀스로 대체되고, 리드 동작 시에 상기 시퀀스 대체 유닛(160)은 대체 시퀀스를 원래의 시퀀스로 다시 대체(또는 복원)할 수 있다.
도 3에 도시된 바와 같이, 시퀀스 대체 유닛(160)은 시퀀스 대체 회로(161), 저장부(163), 및 시퀀스 역대체 회로(165)를 포함할 수 있다. 저장부(163)는 이미 정의된 m개의 시퀀스들을 저장한다.
시퀀스 대체 회로(161)는 호스트로부터 출력되고 제1시퀀스를 포함하는 라이트 데이터(X)를 수신하고, 수신된 제1시퀀스가 상기 m개의 시퀀스들 중에서 어느 하나의 시퀀스와 동일한지의 여부를 판단하고, 상기 제1시퀀스와 상기 어느 하나의 시퀀스가 서로 동일할 때 상기 제1시퀀스 대신에 대체 시퀀스를 포함하는 대체 데이터(Y)를 메모리 장치(200)로 출력한다. 상기 대체 시퀀스는 상기 제1시퀀스의 패턴을 나타내는 패턴 비트들(도 4b의 Ai)과 상기 제1스퀀스의 시작 위치를 나타내는 위치 비트들(도 4b의 Bi)을 포함한다.
상기 시퀀스 역대체 회로(165)는 상기 메모리 장치(200)로부터 출력되고 제2시퀀스를 포함하는 리드 데이터(Y')수신하고, 상기 대체 시퀀스와 상기 제2시퀀스가 서로 동일한지의 여부를 판단하고, 상기 대체 시퀀스와 상기 제2시퀀스가 서로 동일할 때 상기 제2시퀀스 대신에 상기 제1시퀀스를 포함하는 데이터(X')를 상기 호스트로 출력한다.
실시 예에 따라, 상기 시퀀스 역대체 회로(165)는 상기 메모리 장치(200)로부터 출력되고 대체 여부를 지시하는 대체 비트와 제2시퀀스를 포함하는 데이터 (Y')를 수신하고, 상기 대체 비트를 해석하고, 상기 해석 결과 상기 제2시퀀스가 대체된 시퀀스이고 상기 대체 시퀀스와 상기 제2시퀀스가 서로 동일할 때, 상기 제2시퀀스 대신에 상기 제1시퀀스를 포함하는 데이터(X)를 호스트로 출력한다.
실시 예에 따라, 상기 대체 비트는 0 또는 1일 수 있다. 이때 0은 상기 제2시퀀스는 원래의 시퀀스임을 나타내고, 1은 상기 제2시퀀스는 대체 시퀀스임을 나타낼 수 있다.
시퀀스 대체 회로(161)는 호스트(HOST)로부터 출력되는 라이트 데이터(X), 또는 상기 DMA(150)에 의하여 액세스된 라이트 데이터(X)에 이미 정의된(또는 이미 설정된) 시퀀스와 동일한 비트들이 포함되어 있는지를 추출할 수 있다.
예컨대, 000000이 대체 대상으로 정의된(설정된) 경우, 상기 시퀀스 대체 회로(161)는 라이트 데이터(X)를 시퀀스 단위, 예컨대 6비트씩 나누고 나눠진 시퀀스와 000000을 비교하고 비교 결과에 따라 대체 여부를 결정할 수 있다.
상기 저장부(163)에는 이미 정의된 시퀀스들이 저장되어 있으므로, 상기 시퀀스 대체 회로(161)는 저장부(163)에 저장된 시퀀스들을 참조하여 라이트 데이터(X)에 대체할 시퀀스가 포함되어 있는지를 판단한다. 상기 저장부(163)는 LUT(look up table)로 구현될 수도 있다. 또한, 저장부(163)에 저장된 시퀀스들 각각은 프로그램가능하다.
도 2a에서는 상기 시퀀스 대체 유닛(160)에 의한 시퀀스 대체 동작이 ECC 블록(170)에 의한 ECC 인코딩 동작보다 먼저 수행되는 것이 도시되어 있으나, 실시 예에 따라 도 2b에 도시된 바와 같이 상기 시퀀스 대체 유닛(160)에 의한 시퀀스 대체 동작이 ECC 블록(170)에 의한 ECC 인코딩 동작 이후에 수행될 수도 있다.
도 2a에 도시된 바와 같이 상기 시퀀스 대체 유닛(160)에 의한 시퀀스 대체 동작이 ECC 블록(170)에 의한 ECC 인코딩 동작보다 먼저 수행되는 경우, 상기 컨트롤러(100)에 포함된 상기 ECC 블록(170)은 시스테매틱 타입(systematic type)으로 구현될 수 있다.
도 2b에 도시된 바와 같이 상기 시퀀스 대체 유닛(160)에 의한 시퀀스 대체 동작이 ECC 블록(170)에 의한 ECC 인코딩 동작 이후에 수행되는 경우, 상기 컨트롤러(100′)에 포함된 상기 ECC 블록(170)은 시스테매틱 타입(systematic type)과 비-시스테매틱 타입(non-systematic type) 중 어느 하나로 구현될 수 있다.
도 4a부터 도 4c는 본 발명의 실시 예에 따른 시퀀스 대체 동작을 설명하기 위한 예시도들이다. 도 2a부터 도 4c를 참조하면, 저장부(163)에 저장된 시퀀스들(W1 내지 Wm) 각각은 동일한 비트 길이(예컨대, a-비트)를 가질 수 있다. 또한, 상기 시퀀스들 (W1 내지 Wm)의 개수는 m개일 수 있으며, 여기서 m은 자연수이다.
도 2b와 도 4b에 도시된 바와 같이, 상기 시퀀스 대체 유닛(160)으로 입력되는 라이트 데이터(X)에 포함된 시퀀스(Wi)는 상기 시퀀스 대체 유닛(160)의 시퀀스 대체 동작에 따라 대체 시퀀스(Ci)로 대체될 수 있다. 상기 시퀀스(Wi)의 비트 길이(예컨대, a-비트)와 상기 대체 시퀀스(Ci)의 비트 길이는 동일할 수 있다. 상기 대체 시퀀스(Ci)는 라이트 데이터(X)에 포함된 시퀀스(Wi)의 패턴을 나타내는 패턴 비트들(Ai)과 상기 시퀀스(Wi)의 시작 위치를 나타내는 위치 비트들 (Bi)을 포함할 수 있다. 패턴 비트들(Ai)의 비트 길이는 저장부(163)에 저장된 시퀀스들(W1 내지 Wm)의 개수에 따라 결정될 수 있다.
예컨대, 도 4a 및 도 4b에 도시된 바와 같이, 시퀀스들(W1 ~ Wm)의 개수가 m개(m은 자연수)일 때, 패턴 비트들(Ai)의 비트 길이(예컨대, b-비트)는 다음과 같은 수학식 1로 산출될 수 있다.
log2 m ≤ b < log2 m + 1
도 4c에 도시된 바와 같이, 4개의 시퀀스들(W1 ~ W4)이 정의될 경우, 패턴 비트들(Ai)의 비트 길이(b)는 2-비트일 수 있다. 위치 비트들(Bi)은 라이트 데이 터(X)에 포함된 시퀀스(Wi)의 시작 위치를 나타낸다. 이에 대한 구체적인 예는 도 6을 참조하여 설명될 것이다
도 5a 및 도 5b는 본 발명의 다른 실시 예에 따른 시퀀스 대체 동작을 설명하기 위한 예시도들이다. 도 4a부터 도 4c의 예에서는 복수의 시퀀스들(W1 ~ Wm) 각각이 모두 동일한 비트 길이(예컨대, a-비트)를 갖는 것을 예시하고 있지만, 실시 예에 따라 도 5a에 도시된 바와 같이 복수의 시퀀스들(W1 ~ Wm) 각각의 비트 길이는 서로 다를 수 있다. 예컨대, W1는 a1-비트이고, W2는 a2-비트이고, Wm은 am-비트일 수 있다.
그러나, 시퀀스들(W1 ~ Wm)의 패턴 비트들(Ai)의 비트 길이는 시퀀스들(W1 ~ Wm)의 개수에 따라 결정되기 때문에, 대체 시퀀스(Ci)의 패턴 비트들(Ai)의 비트 길이는 일정하다. 따라서, 도 5b에 도시된 바와 같이, 대체 시퀀스(Ci)의 위치 비트들(Bi)의 비트 길이는 (ai-b)-비트이다. 여기서, 1≤i≤m이다.
도 6은 본 발명의 실시 예에 따른 시퀀스 대체 방법을 설명하기 위한 예시도이다. 도 6에서는, 4개의 시퀀스들(W1 ~ W4)이 정의되고, 상기 시퀀스들(W1 ~ W4) 각각은 6-비트로 구성된다. 따라서, 대체 비트의 패턴 비트들(Ai)은 2-비트이고, 위치 비트들(Bi)은 4-비트일 수 있다.
도 2부터 도 6을 참조하면, 라이트 데이터(X)에 '000000(W1)', '010101(W2)', '110111(W3)', 또는 '001100(W4)'의 시퀀스가 포함될 경우, 상기 시퀀스 대체 유닛(160)은 상기 시퀀스들(W1 내지 W4) 각각을 대체 시퀀스로 대체할 수 있다. 예컨대, 시퀀스(W1)의 패턴 비트들(A1)은 00, 시퀀스(W2)의 패턴 비트들(A2)은 01, 시퀀스(W3)의 패턴 비트들(A3)은 10, 시퀀스(W4)의 패턴 비트들(A4)은 11을 나타낼 수 있다. 시퀀스들(W1 ~ W4) 각각에 대한 패턴 비트들은 저장부 (163)에 저장된다.
시퀀스 대체 유닛(160)으로 라이트 데이터(X)가 입력되면, 시퀀스 대체 회로(161)는 라이트 데이터(X)에 포함된 시퀀스와 저장부(163)에 저장된 시퀀스들(W1 ~ W4) 각각을 비교한다.
예컨대, 도 6에 도시된 바와 같이, 라이트 데이터(X)에 포함된 제1시퀀스, 즉 3번째 비트부터 8번째 비트(000000)가 저장부(163)에 저장된 시퀀스(W1=000000)와 동일한 경우, 시퀀스 대체 회로(161)는 제1시퀀스(000000)의 패턴을 나타내는 패턴 비트들(Ai=00), 및 제1시퀀스의 시작 위치(예컨대, 입력 데이터(X)의 3번째 비트)를 나타내는 위치 비트들(Bi=0011)을 포함하는 대체 시퀀스(000011)을 생성한다. 따라서, 시퀀스 대체 회로(161)는 라이트 데이터(X)에 포함된 제1시퀀스(000000) 대신에 대체 시퀀스(000011)를 출력한다.
또한, 라이트 데이터(X)에 포함된 제2시퀀스, 즉 13번째 비트부터 18번째 비트(001100)가 저장부(163)에 저장된 시퀀스(W4=001100)와 동일한 경우, 시퀀스 대체 회로(161)는 제2시퀀스(001100)의 패턴을 나타내는 패턴 비트들(Ai=11), 및 제2시퀀스의 시작 위치(예컨대, 입력 데이터(X)의 13번째 비트)를 나타내는 위치 비트들(Bi=1101)을 포함하는 대체 시퀀스(111101)를 생성한다. 따라서, 시퀀스 대체 회로(161)는 라이트 데이터(X)에 포함된 제2시퀀스(001100) 대신에 대체 시퀀스 (111101)를 출력한다.
패턴 비트들(Ai)과 위치 비트들(Bi=1101)을 포함하는 대체 시퀀스(111101)는 시퀀스 역 대체 동작을 위하여 저장부(163)에 저장된다.
도 4b와 도 5b에 도시된 바와 같이, 대체 시퀀스(Ci)는 대체될 시퀀스의 패턴을 나타내는 패턴 비트들(Ai)과 상기 대체될 시퀀스의 시작 위치를 나타내는 위치 비트들(Bi)을 포함한다. 실시 예에 따라 대체 시퀀스(Ci)는 위치 비트들(Bi)과 패턴 비트들(Ai)을 포함할 수 있다.
대체 시퀀스가 저장부(163)에 저장된 시퀀스들(W1 ~ W4) 중에서 적어도 어느 하나와 동일한 경우 시퀀스 대체 회로(160)는 대체 시퀀스에 대한 대체 동작을 다시 수행할 수 있다.
도 7은 본 발명의 실시 예에 따른 메모리 장치의 시퀀스 대체 방법을 설명하기 위한 순서도이다. 도 2a, 도 2b, 도 3, 및 도 7을 참조하면, 시퀀스 대체 회로(161)는 저장부 (163)에 저장된 시퀀스들을 참조하여 호스트(HOST)로부터 출력된 데이터(X)로부터 제1시퀀스(W1)를 추출할 수 있다(S710). 상기 시퀀스 대체 회로(161)는 상기 제1시퀀스의 패턴을 나타내는 패턴 비트들(Ai)과 상기 제1시퀀스의 시작 위치를 나타내는 위치 비트들을 포함하는 제2시퀀스를 생성하고, 상기 제1시퀀스를 상기 제2시퀀스로 대체하고, 상기 제2시퀀스를 포함하는 대체 데이터(Y)를 생성할 수 있다(S720).
상기 시퀀스 대체 회로(161)는 상기 대체 데이터(Y)에 제1시퀀스가 존재하는지 여부를 판단할 수 있다(S730). 판단 결과, 상기 대체 데이터(Y)에 상기 제1시퀀 스가 존재하는 경우 상기 시퀀스 대체 회로(161)는 상기 대체 데이터(Y)에 대하여 상기한 대체 동작을 다시 한번 더 수행할 수 있다.
본 발명의 실시 예에 따른 시퀀스 대체 방법은 컴퓨터로 리드할 수 있는 기록 매체에 컴퓨터가 리드할 수 있는 코드로서 구현될 수 있다. 컴퓨터가 리드할 수 있는 기록 매체는 컴퓨터 시스템에 의하여 리드될 수 있는 데이터가 저장되는 모든 종류의 기록 장치를 포함할 수 있다.
본 발명은 도면에 도시된 일 실시예를 참고로 설명되었으나 이는 예시적인 것에 불과하며, 본 기술 분야에서 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 것을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 특허청구범위의 기술적 사상에 의해 정해져야 할 것이다.
본 발명의 상세한 설명에서 제공되는 도면을 보다 충분하게 이해하기 위하여 각 도면의 간단한 설명이 제공된다.
도 1은 본 발명의 실시 예에 따라 시퀀스 대체의 대상이 되는 시퀀스의 예를 설명하기 위한 예시도이다.
도 2a는 본 발명의 실시 예에 따른 시퀀스 대체 유닛을 포함하는 메모리 시스템의 개략적인 블록도이다.
도 2b는 본 발명의 다른 실시 예에 따른 시퀀스 대체 유닛을 포함하는 메모리 시스템의 개략적인 블록도이다.
도 3은 도 2a 또는 도 2b에 도시된 시퀀스 대체 유닛의 개략적인 블록도이다.
도 4a부터 도 4c는 본 발명의 실시 예에 따른 시퀀스 대체 동작을 설명하기 위한 예시도들이다.
도 5a 및 도 5b는 본 발명의 다른 실시 예에 따른 시퀀스 대체 동작을 설명하기 위한 예시도들이다.
도 6은 본 발명의 실시 예에 따른 시퀀스 대체 방법을 설명하기 위한 예시도이다.
도 7은 본 발명의 실시 예에 따른 메모리 장치의 시퀀스 대체 방법을 설명하기 위한 순서도이다.

Claims (17)

  1. 호스트로부터 출력된 제1시퀀스를 수신하는 단계;
    수신된 제1시퀀스가 이미 정의된 m개의 시퀀스들 중에서 어느 하나의 시퀀스와 동일한지의 여부를 판단하는 단계; 및
    상기 제1시퀀스와 상기 어느 하나의 시퀀스가 서로 동일할 때, 상기 제1시퀀스 대신에 대체 시퀀스를 출력하는 단계를 포함하며,
    상기 대체 시퀀스는 상기 제1시퀀스의 패턴을 나타내는 패턴 비트들과 상기 제1스퀀스의 시작 위치를 나타내는 위치 비트들을 포함하는 메모리 시스템의 시퀀스 대체 방법.
  2. 제1항에 있어서, 상기 제1시퀀스의 비트의 수와 상기 대체 시퀀스의 비트의 수는 서로 동일한 메모리 시스템의 시퀀스 대체 방법.
  3. 제1항에 있어서, 상기 패턴 비트들의 수는 상기 m에 따라 결정되는 메모리 시스템의 시퀀스 대체 방법.
  4. 제1항에 있어서, 상기 패턴 비트들의 수는 log2 m ≤ b < log2 m + 1에 따라 결정되는 메모리 시스템의 시퀀스 대체 방법.
  5. 제1항에 있어서, 상기 메모리 시스템의 시퀀스 대체 방법은,
    메모리 장치로부터 출력된 제2시퀀스를 수신하는 단계; 및
    상기 대체 시퀀스와 상기 제2시퀀스가 서로 동일한지의 여부를 판단하고, 상기 대체 시퀀스와 상기 제2시퀀스가 서로 동일할 때, 상기 제2시퀀스 대신에 상기 제1시퀀스를 출력하는 단계를 더 포함하는 메모리 시스템의 시퀀스 대체 방법.
  6. 제1항에 있어서, 상기 메모리 시스템의 시퀀스 대체 방법은,
    메모리 장치로부터 출력되고 대체 여부를 지시하는 대체 비트와 제2시퀀스를 포함하는 데이터를 수신하는 단계;
    상기 대체 비트를 해석하는 단계; 및
    상기 해석 결과 상기 제2시퀀스가 대체된 시퀀스이고 상기 대체 시퀀스와 상기 제2시퀀스가 서로 동일할 때, 상기 제2시퀀스 대신에 상기 제1시퀀스를 출력하는 단계를 더 포함하는 메모리 시스템의 시퀀스 대체 방법.
  7. 이미 정의된 m개의 시퀀스들을 저장하기 위한 저장부; 및
    호스트로부터 출력된 제1시퀀스를 수신하고, 수신된 제1시퀀스가 상기 m개의 시퀀스들 중에서 어느 하나의 시퀀스와 동일한지의 여부를 판단하고, 상기 제1시퀀스와 상기 어느 하나의 시퀀스가 서로 동일할 때 상기 제1시퀀스 대신에 대체 시퀀스를 메모리 장치로 출력하기 위한 시퀀스 대체 회로를 포함하며,
    상기 대체 시퀀스는 상기 제1시퀀스의 패턴을 나타내는 패턴 비트들과 상기 제1스퀀스의 시작 위치를 나타내는 위치 비트들을 포함하는 메모리 시스템의 컨트롤러.
  8. 제7항에 있어서, 상기 시퀀스 대체 회로는,
    상기 메모리 장치로부터 출력된 제2시퀀스를 수신하고, 상기 대체 시퀀스와 상기 제2시퀀스가 서로 동일한지의 여부를 판단하고, 상기 대체 시퀀스와 상기 제2시퀀스가 서로 동일할 때 상기 제2시퀀스 대신에 상기 제1시퀀스를 상기 호스트로 출력하는 메모리 시스템의 컨트롤러.
  9. 제7항에 있어서, 상기 시퀀스 대체 회로는,
    상기 메모리 장치로부터 출력되고 대체 여부를 지시하는 대체 비트와 제2시퀀스를 포함하는 데이터를 수신하고, 상기 대체 비트를 해석하고, 상기 해석 결과 상기 제2시퀀스가 대체된 시퀀스이고 상기 대체 시퀀스와 상기 제2시퀀스가 서로 동일할 때, 상기 제2시퀀스 대신에 상기 제1시퀀스를 출력하는 메모리 시스템의 컨트롤러.
  10. 제7항에 있어서, 상기 패턴 비트들의 수는 상기 m에 따라 결정되는 메모리 시스템의 컨트롤러.
  11. 제7항에 있어서, 상기 패턴 비트들의 수는,
    log2 m ≤ b < log2 m + 1에 따라 결정되는 메모리 시스템의 컨트롤러.
  12. 대체 시퀀스를 저장하기 위한 메모리 장치; 및
    제1시퀀스를 상기 대체 시퀀스로 대체하여 상기 메모리 장치에 저장하기 위한 컨트롤러를 포함하며.
    상기 컨트롤러는,
    이미 정의된 m개의 시퀀스들을 저장하기 위한 저장부; 및
    호스트로부터 출력된 상기 제1시퀀스를 수신하고, 수신된 제1시퀀스가 상기 m개의 시퀀스들 중에서 어느 하나의 시퀀스와 동일한지의 여부를 판단하고, 상기 제1시퀀스와 상기 어느 하나의 시퀀스가 서로 동일할 때 상기 제1시퀀스 대신에 상기 대체 시퀀스를 상기 메모리 장치로 출력하기 위한 시퀀스 대체 회로를 포함하며,
    상기 대체 시퀀스는 상기 제1시퀀스의 패턴을 나타내는 패턴 비트들과 상기 제1스퀀스의 시작 위치를 나타내는 위치 비트들을 포함하는 메모리 시스템.
  13. 제12항에 있어서, 상기 시퀀스 대체 회로는,
    상기 메모리 장치로부터 출력된 제2시퀀스를 수신하고, 상기 대체 시퀀스와 상기 제2시퀀스가 서로 동일한지의 여부를 판단하고, 상기 대체 시퀀스와 상기 제2 시퀀스가 서로 동일할 때 상기 제2시퀀스 대신에 상기 제1시퀀스를 상기 호스트로 출력하는 메모리 시스템.
  14. 제12항에 있어서, 상기 시퀀스 대체 회로는,
    상기 메모리 장치로부터 출력되고 대체 여부를 지시하는 대체 비트와 제2시퀀스를 포함하는 데이터를 수신하고, 상기 대체 비트를 해석하고, 상기 해석 결과 상기 제2시퀀스가 대체된 시퀀스이고 상기 대체 시퀀스와 상기 제2시퀀스가 서로 동일할 때, 상기 제2시퀀스 대신에 상기 제1시퀀스를 출력하는 메모리 시스템.
  15. 제12항에 있어서, 상기 메모리 시스템은 메모리 카드인 메모리 시스템.
  16. 제12항에 있어서, 상기 패턴 비트들의 수는 log2 m ≤ b < log2 m + 1에 따라 결정되는 메모리 시스템.
  17. 제12항에 있어서, 상기 패턴 비트들의 수는 상기 m에 따라 결정되는 메모리 시스템.
KR1020090075165A 2009-08-14 2009-08-14 메모리 장치의 시퀀스 대체 방법, 상기 방법을 수행할 수 있는 장치들 KR20110017613A (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020090075165A KR20110017613A (ko) 2009-08-14 2009-08-14 메모리 장치의 시퀀스 대체 방법, 상기 방법을 수행할 수 있는 장치들
US12/796,896 US20110040929A1 (en) 2009-08-14 2010-06-09 Method and apparatus for modifying data sequences stored in memory device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020090075165A KR20110017613A (ko) 2009-08-14 2009-08-14 메모리 장치의 시퀀스 대체 방법, 상기 방법을 수행할 수 있는 장치들

Publications (1)

Publication Number Publication Date
KR20110017613A true KR20110017613A (ko) 2011-02-22

Family

ID=43589272

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020090075165A KR20110017613A (ko) 2009-08-14 2009-08-14 메모리 장치의 시퀀스 대체 방법, 상기 방법을 수행할 수 있는 장치들

Country Status (2)

Country Link
US (1) US20110040929A1 (ko)
KR (1) KR20110017613A (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8737491B1 (en) 2010-08-20 2014-05-27 Cadence Design Systems, Inc. Analog-to-digital converter based decision feedback equalization
US8737490B1 (en) * 2010-08-20 2014-05-27 Cadence Design Systems, Inc. Analog-to-digital converter based decision feedback equalization

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7243185B2 (en) * 2004-04-05 2007-07-10 Super Talent Electronics, Inc. Flash memory system with a high-speed flash controller
US7030789B1 (en) * 2004-12-01 2006-04-18 Hitachi Global Storage Technologies Netherlands B.V. Techniques for applying modulation constraints to data using periodically changing symbol mappings
KR100845529B1 (ko) * 2007-01-03 2008-07-10 삼성전자주식회사 플래시 메모리 장치의 이씨씨 제어기 및 그것을 포함한메모리 시스템
US8346730B2 (en) * 2008-04-25 2013-01-01 Netapp. Inc. Deduplication of data on disk devices based on a threshold number of sequential blocks

Also Published As

Publication number Publication date
US20110040929A1 (en) 2011-02-17

Similar Documents

Publication Publication Date Title
US10698762B2 (en) Data reading method and storage controller
KR101891378B1 (ko) 메모리 블록에 대한 프로그래밍 단계 사이즈를 조정하는 시스템 및 방법
US8949690B2 (en) Memory controller
CN113168875B (zh) 读取干扰扫描合并
CN111954863B (zh) 基于可调整错误率提供存储器系统的数据
US9208021B2 (en) Data writing method, memory storage device, and memory controller
US20170052734A1 (en) Method and device for fail-safe erase of flash memory
KR20130016941A (ko) 메모리 시스템 및 그것의 메타 데이터 관리 방법
US20150012687A1 (en) Method for managing commands in command queue, memory control circuit unit and memory storage apparatus
CN108027764B (zh) 可转换的叶的存储器映射
US11630769B2 (en) Data processing method for controlling write speed of memory device to avoid significant write delay and data storage device utilizing the same
US10503433B2 (en) Memory management method, memory control circuit unit and memory storage device
US9043672B2 (en) Memory controller, storage device, and memory control method
US20200234786A1 (en) Data reading method, storage controller and storage device
CN110120234B (zh) 固态存储设备及其最优读出阈值电压的搜索方法
US10372377B2 (en) Memory controller, memory system, and control method
US20160364148A1 (en) Buffer memory accessing method, memory controller and memory storage device
CN113360303A (zh) 进行数据存储管理以提升数据可靠度的方法以及相关设备
US20140050024A1 (en) Data reading method, and circuit, rewritable non-volatile memory module and memory storage apparatus using the same
KR20110017613A (ko) 메모리 장치의 시퀀스 대체 방법, 상기 방법을 수행할 수 있는 장치들
US10546640B2 (en) Data protecting method and memory storage device
US9229798B2 (en) Error handling method, memory storage device and memory controlling circuit unit
CN108257642B (zh) 读阈值设置方法与装置
CN117608501B (zh) 电压调整方法、存储器存储装置及存储器控制电路单元
CN112685213B (zh) 非易失性存储器及其电压校准方法

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid