KR20110017613A - 메모리 장치의 시퀀스 대체 방법, 상기 방법을 수행할 수 있는 장치들 - Google Patents
메모리 장치의 시퀀스 대체 방법, 상기 방법을 수행할 수 있는 장치들 Download PDFInfo
- 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
- pattern
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C8/00—Arrangements for selecting an address in a digital store
- G11C8/04—Arrangements for selecting an address in a digital store using a sequential addressing device, e.g. shift register, counter
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C8/00—Arrangements for selecting an address in a digital store
- G11C8/06—Address interface arrangements, e.g. address buffers
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C8/00—Arrangements for selecting an address in a digital store
- G11C8/12—Group 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
본 발명에 따른 실시 예는 반도체 장치에 관한 것으로서, 보다 구체적으로 원하지 않는 시퀀스를 다른 시퀀스로 대체함으로써 메모리 장치의 신뢰도를 향상시킬 수 있는 메모리 장치의 시퀀스 대체 방법과 상기 방법을 수행할 수 있는 장치들에 관한 것이다.
메모리 장치는 크게 휘발성 메모리 장치(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로 산출될 수 있다.
도 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시퀀스가 이미 정의된 m개의 시퀀스들 중에서 어느 하나의 시퀀스와 동일한지의 여부를 판단하는 단계; 및상기 제1시퀀스와 상기 어느 하나의 시퀀스가 서로 동일할 때, 상기 제1시퀀스 대신에 대체 시퀀스를 출력하는 단계를 포함하며,상기 대체 시퀀스는 상기 제1시퀀스의 패턴을 나타내는 패턴 비트들과 상기 제1스퀀스의 시작 위치를 나타내는 위치 비트들을 포함하는 메모리 시스템의 시퀀스 대체 방법.
- 제1항에 있어서, 상기 제1시퀀스의 비트의 수와 상기 대체 시퀀스의 비트의 수는 서로 동일한 메모리 시스템의 시퀀스 대체 방법.
- 제1항에 있어서, 상기 패턴 비트들의 수는 상기 m에 따라 결정되는 메모리 시스템의 시퀀스 대체 방법.
- 제1항에 있어서, 상기 패턴 비트들의 수는 log2 m ≤ b < log2 m + 1에 따라 결정되는 메모리 시스템의 시퀀스 대체 방법.
- 제1항에 있어서, 상기 메모리 시스템의 시퀀스 대체 방법은,메모리 장치로부터 출력된 제2시퀀스를 수신하는 단계; 및상기 대체 시퀀스와 상기 제2시퀀스가 서로 동일한지의 여부를 판단하고, 상기 대체 시퀀스와 상기 제2시퀀스가 서로 동일할 때, 상기 제2시퀀스 대신에 상기 제1시퀀스를 출력하는 단계를 더 포함하는 메모리 시스템의 시퀀스 대체 방법.
- 제1항에 있어서, 상기 메모리 시스템의 시퀀스 대체 방법은,메모리 장치로부터 출력되고 대체 여부를 지시하는 대체 비트와 제2시퀀스를 포함하는 데이터를 수신하는 단계;상기 대체 비트를 해석하는 단계; 및상기 해석 결과 상기 제2시퀀스가 대체된 시퀀스이고 상기 대체 시퀀스와 상기 제2시퀀스가 서로 동일할 때, 상기 제2시퀀스 대신에 상기 제1시퀀스를 출력하는 단계를 더 포함하는 메모리 시스템의 시퀀스 대체 방법.
- 이미 정의된 m개의 시퀀스들을 저장하기 위한 저장부; 및호스트로부터 출력된 제1시퀀스를 수신하고, 수신된 제1시퀀스가 상기 m개의 시퀀스들 중에서 어느 하나의 시퀀스와 동일한지의 여부를 판단하고, 상기 제1시퀀스와 상기 어느 하나의 시퀀스가 서로 동일할 때 상기 제1시퀀스 대신에 대체 시퀀스를 메모리 장치로 출력하기 위한 시퀀스 대체 회로를 포함하며,상기 대체 시퀀스는 상기 제1시퀀스의 패턴을 나타내는 패턴 비트들과 상기 제1스퀀스의 시작 위치를 나타내는 위치 비트들을 포함하는 메모리 시스템의 컨트롤러.
- 제7항에 있어서, 상기 시퀀스 대체 회로는,상기 메모리 장치로부터 출력된 제2시퀀스를 수신하고, 상기 대체 시퀀스와 상기 제2시퀀스가 서로 동일한지의 여부를 판단하고, 상기 대체 시퀀스와 상기 제2시퀀스가 서로 동일할 때 상기 제2시퀀스 대신에 상기 제1시퀀스를 상기 호스트로 출력하는 메모리 시스템의 컨트롤러.
- 제7항에 있어서, 상기 시퀀스 대체 회로는,상기 메모리 장치로부터 출력되고 대체 여부를 지시하는 대체 비트와 제2시퀀스를 포함하는 데이터를 수신하고, 상기 대체 비트를 해석하고, 상기 해석 결과 상기 제2시퀀스가 대체된 시퀀스이고 상기 대체 시퀀스와 상기 제2시퀀스가 서로 동일할 때, 상기 제2시퀀스 대신에 상기 제1시퀀스를 출력하는 메모리 시스템의 컨트롤러.
- 제7항에 있어서, 상기 패턴 비트들의 수는 상기 m에 따라 결정되는 메모리 시스템의 컨트롤러.
- 제7항에 있어서, 상기 패턴 비트들의 수는,log2 m ≤ b < log2 m + 1에 따라 결정되는 메모리 시스템의 컨트롤러.
- 대체 시퀀스를 저장하기 위한 메모리 장치; 및제1시퀀스를 상기 대체 시퀀스로 대체하여 상기 메모리 장치에 저장하기 위한 컨트롤러를 포함하며.상기 컨트롤러는,이미 정의된 m개의 시퀀스들을 저장하기 위한 저장부; 및호스트로부터 출력된 상기 제1시퀀스를 수신하고, 수신된 제1시퀀스가 상기 m개의 시퀀스들 중에서 어느 하나의 시퀀스와 동일한지의 여부를 판단하고, 상기 제1시퀀스와 상기 어느 하나의 시퀀스가 서로 동일할 때 상기 제1시퀀스 대신에 상기 대체 시퀀스를 상기 메모리 장치로 출력하기 위한 시퀀스 대체 회로를 포함하며,상기 대체 시퀀스는 상기 제1시퀀스의 패턴을 나타내는 패턴 비트들과 상기 제1스퀀스의 시작 위치를 나타내는 위치 비트들을 포함하는 메모리 시스템.
- 제12항에 있어서, 상기 시퀀스 대체 회로는,상기 메모리 장치로부터 출력된 제2시퀀스를 수신하고, 상기 대체 시퀀스와 상기 제2시퀀스가 서로 동일한지의 여부를 판단하고, 상기 대체 시퀀스와 상기 제2 시퀀스가 서로 동일할 때 상기 제2시퀀스 대신에 상기 제1시퀀스를 상기 호스트로 출력하는 메모리 시스템.
- 제12항에 있어서, 상기 시퀀스 대체 회로는,상기 메모리 장치로부터 출력되고 대체 여부를 지시하는 대체 비트와 제2시퀀스를 포함하는 데이터를 수신하고, 상기 대체 비트를 해석하고, 상기 해석 결과 상기 제2시퀀스가 대체된 시퀀스이고 상기 대체 시퀀스와 상기 제2시퀀스가 서로 동일할 때, 상기 제2시퀀스 대신에 상기 제1시퀀스를 출력하는 메모리 시스템.
- 제12항에 있어서, 상기 메모리 시스템은 메모리 카드인 메모리 시스템.
- 제12항에 있어서, 상기 패턴 비트들의 수는 log2 m ≤ b < log2 m + 1에 따라 결정되는 메모리 시스템.
- 제12항에 있어서, 상기 패턴 비트들의 수는 상기 m에 따라 결정되는 메모리 시스템.
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)
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)
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 |
-
2009
- 2009-08-14 KR KR1020090075165A patent/KR20110017613A/ko not_active Application Discontinuation
-
2010
- 2010-06-09 US US12/796,896 patent/US20110040929A1/en not_active Abandoned
Also Published As
Publication number | Publication date |
---|---|
US20110040929A1 (en) | 2011-02-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9858996B2 (en) | Memory access module for performing sensing operations on storage cells of a storage device to obtain soft information and executing a program mode to control access to the storage device | |
CN113168875B (zh) | 读取干扰扫描合并 | |
US8949690B2 (en) | Memory controller | |
KR101891378B1 (ko) | 메모리 블록에 대한 프로그래밍 단계 사이즈를 조정하는 시스템 및 방법 | |
US10698762B2 (en) | Data reading method and storage controller | |
US11514986B2 (en) | Memory system and semiconductor memory device | |
CN111954863B (zh) | 基于可调整错误率提供存储器系统的数据 | |
US20070035998A1 (en) | Nonvolatile memory apparatus | |
US20140173172A1 (en) | System and method to update read voltages in a non-volatile memory in response to tracking data | |
US11630769B2 (en) | Data processing method for controlling write speed of memory device to avoid significant write delay and data storage device utilizing the same | |
US9208021B2 (en) | Data writing method, memory storage device, and memory controller | |
US20170052734A1 (en) | Method and device for fail-safe erase of flash memory | |
US8266368B2 (en) | Memory controller, memory system, and control method for memory system | |
US9496041B2 (en) | Memory programming method, memory control circuit unit and memory storage device | |
US10503433B2 (en) | Memory management method, memory control circuit unit and memory storage device | |
US20200234786A1 (en) | Data reading method, storage controller and storage device | |
US9043672B2 (en) | Memory controller, storage device, and memory control method | |
CN110120234B (zh) | 固态存储设备及其最优读出阈值电压的搜索方法 | |
US10372377B2 (en) | Memory controller, memory system, and control method | |
US20140050024A1 (en) | Data reading method, and circuit, rewritable non-volatile memory module and memory storage apparatus using the same | |
US20160364148A1 (en) | Buffer memory accessing method, memory controller and memory storage device | |
KR20110017613A (ko) | 메모리 장치의 시퀀스 대체 방법, 상기 방법을 수행할 수 있는 장치들 | |
CN108257642B (zh) | 读阈值设置方法与装置 | |
CN112685213B (zh) | 非易失性存储器及其电压校准方法 | |
US9229798B2 (en) | Error handling method, memory storage device and memory controlling circuit unit |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PA0109 | Patent application |
Patent event code: PA01091R01D Comment text: Patent Application Patent event date: 20090814 |
|
PG1501 | Laying open of application | ||
PC1203 | Withdrawal of no request for examination | ||
WITN | Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid |