KR20150049217A - 랜더마이저 및 디랜더마이저를 포함하는 메모리 시스템 - Google Patents

랜더마이저 및 디랜더마이저를 포함하는 메모리 시스템 Download PDF

Info

Publication number
KR20150049217A
KR20150049217A KR1020130129469A KR20130129469A KR20150049217A KR 20150049217 A KR20150049217 A KR 20150049217A KR 1020130129469 A KR1020130129469 A KR 1020130129469A KR 20130129469 A KR20130129469 A KR 20130129469A KR 20150049217 A KR20150049217 A KR 20150049217A
Authority
KR
South Korea
Prior art keywords
data
memory
memory device
semiconductor memory
seed
Prior art date
Application number
KR1020130129469A
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 KR1020130129469A priority Critical patent/KR20150049217A/ko
Priority to US14/219,775 priority patent/US20150121168A1/en
Publication of KR20150049217A publication Critical patent/KR20150049217A/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/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1435Saving, restoring, recovering or retrying at system level using file system or storage system metadata
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/16Protection against loss of memory contents
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1048Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using arrangements adapted for a specific error detection or correction feature
    • GPHYSICS
    • 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/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1666Error detection or correction of the data by redundancy in hardware where the redundant component is memory or memory area
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C8/00Arrangements for selecting an address in a digital store
    • G11C8/06Address interface arrangements, e.g. address buffers

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Library & Information Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Read Only Memory (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

본 발명은 향상된 동작 속도를 가지는 메모리 시스템을 제공하기 위한 것이다. 본 발명의 실시 예에 따른 메모리 시스템은 복수의 메모리 영역들을 포함하는 반도체 메모리 장치; 및 상기 반도체 메모리 장치에 데이터를 기입하고, 상기 반도체 메모리 장치로부터 데이터를 읽도록 구성되는 컨트롤러를 포함한다. 상기 컨트롤러는, 상기 복수의 메모리 영역들 중 제 1 메모리 영역의 데이터를 제 2 메모리 영역에 카피하기 위해, 상기 제 1 메모리 영역에 해당하는 디랜더마이징 시드(seed)와 상기 제 2 메모리 영역에 해당하는 랜더마이징 시드를 연산한 조합 시드를 상기 반도체 메모리 장치에 제공하도록 구성된다.

Description

랜더마이저 및 디랜더마이저를 포함하는 메모리 시스템{MEMORY SYSTEM INCLUDING RANDOMIZER AND DERANDOMIZER}
본 발명은 전자 장치에 관한 것으로, 좀 더 구체적으로는 메모리 시스템에 관한 것이다.
반도체 메모리 장치(semiconductor memory device)는 실리콘(Si, silicon), 게르마늄(Ge, Germanium), 비화 갈륨(GaAs, gallium arsenide), 인화인듐(InP, indium phospide) 등과 같은 반도체를 이용하여 구현되는 기억장치이다. 반도체 메모리 장치는 크게 휘발성 메모리 장치(Volatile memory device)와 불휘발성 메모리(Nonvolatile memory device)로 구분된다.
휘발성 메모리 장치는 전원 공급이 차단되면 저장하고 있던 데이터가 소멸되는 메모리 장치이다. 휘발성 메모리 장치에는 SRAM (Static RAM), DRAM (Dynamic RAM), SDRAM (Synchronous DRAM) 등이 있다. 불휘발성 메모리 장치는 전원 공급이 차단되어도 저장하고 있던 데이터를 유지하는 메모리 장치이다. 불휘발성 메모리 장치에는 ROM (Read Only Memory), PROM (Programmable ROM), EPROM (Electrically Programmable ROM), EEPROM (Electrically Erasable and Programmable ROM), 플래시 메모리, PRAM (Phase-change RAM), MRAM (Magnetic RAM), RRAM (Resistive RAM), FRAM (Ferroelectric RAM) 등이 있다. 플래시 메모리는 크게 노어 타입과 낸드 타입으로 구분된다.
본 발명의 실시 예는 향상된 동작 속도를 가지는 메모리 시스템 및 그것의 동작 방법을 제공하기 위한 것이다.
본 발명의 실시 예에 따른 메모리 시스템은 복수의 메모리 영역들을 포함하는 반도체 메모리 장치; 및 상기 반도체 메모리 장치에 데이터를 기입하고, 상기 반도체 메모리 장치로부터 데이터를 읽도록 구성되는 컨트롤러를 포함한다. 상기 컨트롤러는, 상기 복수의 메모리 영역들 중 제 1 메모리 영역의 데이터를 제 2 메모리 영역에 카피하기 위해, 상기 제 1 메모리 영역에 해당하는 디랜더마이징 시드(seed)와 상기 제 2 메모리 영역에 해당하는 랜더마이징 시드를 연산한 조합 시드를 상기 반도체 메모리 장치에 제공하도록 구성된다.
본 발명의 다른 일면은 반도체 메모리 장치를 제어하는 방법에 관한 것이다. 본 발명의 실시 예에 따른 반도체 메모리 장치를 제어하는 방법은 외부로부터 수신된 데이터를 복수의 메모리 영역들 중 제 1 메모리 영역에 해당하는 랜더마이징 시드와 조합하는 단계; 조합된 데이터를 상기 제 1 메모리 영역에 기입하도록 상기 반도체 메모리 장치를 제어하는 단계; 상기 제 1 메모리 영역의 데이터를 상기 제 2 메모리 영역에 카피하기 위해, 상기 제 1 메모리 영역에 해당하는 디랜더마이징 시드와 제 2 메모리 영역에 해당하는 랜더마이징 시드를 연산하여 조합 시드를 생성하는 단계; 및 상기 조합 시드를 상기 반도체 메모리 장치에 제공하는 단계를 포함한다.
본 발명의 실시 예에 따른 반도체 메모리 장치는 제 1 및 제 2 메모리 영역들; 비트 라인들을 통해 상기 제 1 및 제 2 메모리 영역들에 연결되는 읽기 및 쓰기 회로; 및 상기 제 1 메모리 영역에 저장된 원(original) 데이터가 상기 읽기 및 쓰기 회로로 읽어질 때 상기 원 데이터와 조합 시드를 연산하여 카피 데이터를 생성하도록 구성되는 논리 연산 블록을 포함한다. 상기 읽기 및 쓰기 회로는 상기 카피 데이터를 상기 제 2 메모리 영역에 기입할 것이다.
본 발명의 실시 예에 따르면 향상된 동작 속도를 가지는 메모리 시스템 및 그것의 동작 방법이 제공된다.
도 1은 반도체 메모리 장치를 포함하는 메모리 시스템을 보여주는 블록도이다.
도 2는 기입 동작 시 컨트롤러의 동작 방법을 보여주는 순서도이다.
도 3은 읽기 동작 시 컨트롤러의 동작 방법을 보여주는 순서도이다.
도 4는 본 발명의 실시 예에 따른 컨트롤러의 동작 방법을 보여주는 방법을 보여주는 순서도이다.
도 5는 본 발명의 실시 예에 따른 반도체 메모리 장치를 보여주는 블록도이다.
도 6은 카피 동작을 좀 더 상세히 설명하기 위한 개념도이다.
도 7은 본 발명의 다른 실시 예에 따른 반도체 메모리 장치를 보여주는 블록도이다.
도 8은 도 1의 메모리 시스템의 응용 예를 보여주는 블록도이다.
도 9는 카피 동작이 완료된 이후 카피 데이터의 에러를 정정하는 방법을 설명하기 위한 도면이다.
도 10은 도 9의 메모리 시스템의 응용 예를 보여주는 블록도이다.
도 11은 도 10을 참조하여 설명된 메모리 시스템을 포함하는 컴퓨팅 시스템을 보여주는 블록도이다.
본 발명의 이점 및 특징, 그리고 그것을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시 예들을 통해 설명될 것이다. 그러나 본 발명은 여기에서 설명되는 실시 예들에 한정되지 않고 다른 형태로 구체화될 수도 있다. 단지, 본 실시 예들은 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 본 발명의 기술적 사상을 용이하게 실시할 수 있을 정도로 상세히 설명하기 위하여 제공되는 것이다.
명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 "간접적으로 연결"되어 있는 경우도 포함한다. 명세서 전체에서, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.
도 1은 반도체 메모리 장치(100)를 포함하는 메모리 시스템(10)을 보여주는 블록도이다. 도 2는 기입 동작 시 컨트롤러(200)의 동작 방법을 보여주는 순서도이다. 도 3은 읽기 동작 시 컨트롤러(200)의 동작 방법을 보여주는 순서도이다.
도 1을 참조하면, 메모리 시스템(10)은 반도체 메모리 장치(100) 및 컨트롤러(200)를 포함한다. 반도체 메모리 장치(100)는 메모리 셀 어레이(110)를 포함한다.
메모리 셀 어레이(110)는 복수의 메모리 영역들을 포함한다. 복수의 메모리 영역들은 도 1에 도시된 바와 같이 복수의 메모리 블록들(BLK1~BLKz)일 수 있다. 여기서 각 메모리 블록(each memory block)은 소거 단위를 이룬다. 복수의 메모리 블록들(BLK1~BLKz) 각각은 복수의 메모리 셀들을 포함한다.
반도체 메모리 장치(100)는 컨트롤러(200)의 제어에 따라 동작한다.
반도체 메모리 장치(100)는 컨트롤러(200)로부터의 기입 요청에 응답하여 메모리 셀 어레이(110)에 데이터를 기입한다. 컨트롤러(200)로부터 기입 요청으로서 기입 커맨드, 어드레스 및 데이터가 수신되면, 반도체 메모리 장치(100)는 어드레스가 가리키는 메모리 셀들에 데이터를 기입한다.
컨트롤러(200)로부터의 읽기 요청에 응답하여, 반도체 메모리 장치(100)는 읽기 동작을 수행한다. 컨트롤러(200)로부터 읽기 요청으로서 읽기 커맨드 및 어드레스가 수신되면, 반도체 메모리 장치(100)는 어드레스가 가리키는 메모리 셀들의 데이터를 읽고 읽어진 데이터를 컨트롤러(200)로 출력한다.
또한, 반도체 메모리 장치(100)는 컨트롤러(200)로부터의 카피 요청에 응답하여 메모리 셀 어레이(110)의 임의의 메모리 영역의 데이터를 다른 임의의 메모리 영역에 카피한다. 예를 들면 반도체 메모리 장치(100)는 제 1 메모리 블록(BLK1)의 데이터를 제 2 메모리 블록(BLK2)에 카피할 수 있다.
실시 예로서, 반도체 메모리 장치(100)는 플래시 메모리 장치일 수 있다. 하지만, 본 발명의 기술적 사상이 플래시 메모리 장치에 국한되지 않음이 이해될 것이다.
컨트롤러(200)는 반도체 메모리 장치(100) 및 호스트(Host) 사이에 연결된다. 컨트롤러(200)는 호스트(Host)와 반도체 메모리 장치(100)를 인터페이싱하도록 구성된다. 컨트롤러(200)는 호스트(Host)의 제어에 따라 반도체 메모리 장치(100)에 기입 요청을 전송하거나 읽기 요청을 전송할 수 있다. 또한 컨트롤러(200)는 카피 동작을 수행하도록 반도체 메모리 장치(100)를 제어할 수 있다.
컨트롤러(200)는 시드(seed) 제공부(210)를 포함한다. 시드 제공부(210)는 랜더마이저(220), 디랜더마이저(230) 및 논리 연산 블록(240)을 포함한다.
랜더마이저(220) 및 디랜더마이저(230)는 액세스(예를 들면 기입 또는 읽기)되는 메모리 영역에 해당하는 랜더마이징 시드(RDS) 및 디랜더마이징 시드(DRDS)를 각각 제공한다. 실시 예로서, 상기 메모리 영역은 하나의 메모리 블록(BLK)을 의미할 수 있다. 이하 설명의 편의를 위해 하나의 메모리 블록(BLK)이 하나의 메모리 영역을 의미하는 것으로 가정한다.
기입 동작 시에 랜더마이저(220)가 활성화된다. 도 2를 참조하면, 기입 동작 시에 랜더마이저(220)는 기입될 메모리 블록에 대응하는 랜더마이징 시드(RDS)를 생성한다(S110). 즉 기입될 메모리 블록의 블록 어드레스가 랜더마이저(220)에 제공되면, 랜더마이저(220)는 해당 메모리 블록에 대응하는 랜더마이징 시드(RDS)를 생성할 것이다. 즉 랜더마이저(220)는 복수의 메모리 블록들(BLK1~BLKz)에 대응하는 랜더마이징 시드들 중 기입될 메모리 블록에 대응하는 랜더마이징 시드(RDS)를 제공하도록 구성된다.
이후 컨트롤러(200)는 호스트(Host)로부터 수신된 데이터와 랜더마이저(220)에서 생성된 랜더마이징 시드(RDS)를 연산하고(S120), 연산된 데이터를 반도체 메모리 장치의 해당 메모리 블록에 기입한다(S130).
잘 알려진 바와 같이, 이렇게 랜더마이징 시드(RDS)에 기초해 연산된 데이터가 메모리 셀 어레이(110)에 기입됨으로써 메모리 셀 어레이(110) 내 메모리 셀들의 문턱 전압 산포는 개선되고, 메모리 셀들에 저장된 데이터의 신뢰성은 향상된다.
읽기 동작 시 디랜더마이저(230)가 활성화된다. 도 3을 참조하면, 읽기 동작 시 컨트롤러(200)는 반도체 메모리 장치(100)로부터 데이터를 읽는다(S210). 그리고 읽어진 메모리 블록에 대응하는 디랜더마이저 시드가 생성된다(S220). 즉 읽어진 메모리 블록의 블록 어드레스가 디랜더마이저(230)에 제공되면 디랜더마이저(230)는 해당 메모리 블록에 대응하는 디랜더마이징 시드(DRDS)를 생성할 것이다. 즉 디랜더마이저(230)는 복수의 메모리 블록들(BLK1~BLKz)에 대응하는 디랜더마이징 시드들 중 읽어진 메모리 블록에 대응하는 디랜더마이징 시드(DRDS)를 제공하도록 구성된다.
이후 컨트롤러(200)는 읽어진 데이터와 디랜더마이징 시드(DRDS)를 연산할 것이다(S230). 그리고 연산된 데이터는 호스트(Host)로 전송될 것이다.
다시 도 1을 참조하면, 메모리 시스템(10)은 반도체 메모리 장치(100)의 특정 메모리 블록으로부터 데이터를 읽고 읽어진 데이터를 다른 메모리 블록에 기입(이하, 카피 동작)할 수 있다. 이하 설명의 편의를 위해 카피 동작 시 데이터가 읽어지는 메모리 블록을 제 1 메모리 블록(BLK1)으로, 데이터가 기입되는 메모리 블록을 제 2 메모리 블록(BLK2)으로 정의한다.
랜더마이징 시드 및 디랜더마이징 시드는 각 메모리 블록마다 상이하다.
일 실시 예로서, 제 2 메모리 블록(BLK2)에 기입될 데이터로 가공되기 위해 제 1 메모리 블록(BLK1)으로부터 읽어진 데이터는 컨트롤러(200)로 전송될 수 있다. 그리고 컨트롤러(200)는 디랜더마이저(230)에서 제공되는 디랜더마이징 시드(DRDS)와 읽어진 데이터를 연산하고, 연산된 데이터를 랜더마이저(220)에서 제공되는 랜더마이징 시드(RDS)와 재연산할 것이다. 컨트롤러(200)는 이렇게 재연산된 데이터를 반도체 메모리 장치(100)에 전송하여 제 2 메모리 블록(BLK2)에 기입할 것이다.
예를 들면, 제 2 메모리 블록(BLK2)에 기입될 데이터는 수학식 1과 같이 연산될 수 있다.
Figure pat00001
수학식 1을 참조하면 ODATA는 제 1 메모리 블록(BLK1)으로부터 읽혀진 데이터(이하, 원(original) 데이터)를 나타내고, CDATA는 제 2 메모리 블록(BLK2)에 기입될 데이터(이하, 카피 데이터)를 나타낸다. 컨트롤러(200)는 먼저 원 데이터(ODATA)와 디랜더마이징 시드(DRDS)를 연산한 후, 연산된 데이터를 랜더마이징 시드(RDS)와 재연산하여 카피 데이터(CDATA)를 생성할 수 있다. 여기서, 상기 연산들은 예를 들면 XOR연산일 수 있다.
이러한 방법에 따르면, 원 데이터(ODATA)가 반도체 메모리 장치(100)로부터 컨트롤러(200)에 전송된 후, 컨트롤러(200)가 원 데이터(ODATA)를 수학식 1과 같은 방법으로 카피 데이터(CDATA)로 가공하고, 가공된 카피 데이터(CDATA)가 반도체 메모리 장치(100)로 전송되게 된다. 결국 반도체 메모리 장치(100)와 컨트롤러(200) 사이에서 원 데이터(ODATA) 및 카피 데이터(CDATA)를 송수신하기 위한 시간이 요구된다.
다른 실시 예로서, 컨트롤러(200)는 카피 동작 시에 제 1 메모리 블록(BLK1)에 해당하는 디랜더마이징 시드와 제 2 메모리 블록(BLK2)에 해당하는 랜더마이징 시드를 연산한 조합 시드를 반도체 메모리 장치(100)에 제공한다.
이에 따라 반도체 메모리 장치(100)는 원 데이터(ODATA)를 조합 시드와 연산하여 카피 데이터를 생성할 수 있다.
예를 들면, 카피 데이터는 수학식 2 및 3와 같이 연산될 수 있다.
Figure pat00002
Figure pat00003
수학식 2 및 3을 참조하면 CS는 조합 시드를 나타내고, ODATA는 원 데이터를 나타내고, CDATA는 카피 데이터를 나타낸다. 수학식 1과 달리 수학식 2 및 3에서는 디랜더마이징 시드(DRDS)와 랜더마이징 시드(RDS)가 먼저 연산되어 조합 시드(CS)가 도출되고, 이후 조합 시드(CS)가 원 데이터(ODATA)와 연산된다.
결국 반도체 메모리 장치(100)는 제 1 메모리 블록(BLK1)으로부터 원 데이터(ODATA)를 읽고, 원 데이터(ODATA)와 컨트롤러(200)로부터 제공된 조합 시드(CS)를 연산하여 카피 데이터(CDATA)를 생성할 수 있다.
본 발명의 실시 예에 따르면 카피 동작 시에 반도체 메모리 장치(100)와 컨트롤러(200) 사이에서 원 데이터와 카피 데이터를 송수신하기 위한 시간이 요구되지 않는다. 따라서 카피 동작의 속도는 향상된다.
도 4는 본 발명의 실시 예에 따른 컨트롤러(200)의 동작 방법을 보여주는 방법을 보여주는 순서도이다.
도 1 및 도 4를 참조하면 S310단계에서 컨트롤러(200)는 제 1 메모리 블록(BLK1)에 해당하는 디랜더마이징 시드(DRDS)를 생성한다. S320단계에서 컨트롤러(200)는 제 2 메모리 블록(BLK2)에 해당하는 랜더마이징 시드(RDS)를 생성한다.
S330단계에서 컨트롤러(200)는 디랜더마이징 시드(DRDS)와 랜더마이징 시드(RDS)를 연산하여 조합 시드를 생성한다. 예를 들면 XOR 연산이 수행된다.
S340단계에서 컨트롤러(200)는 카피 요청과 함께 조합 시드를 반도체 메모리 장치(100)에 전송한다. 여기서, 카피 요청은 카피을 지시하기 위한 카피 커맨드, 제 1 메모리 블록(BLK1)의 어드레스, 그리고 제 2 메모리 블록(BLK2)의 어드레스를 포함할 수 있다. 카피 커맨드에 응답하여 반도체 메모리 장치(100)는 내부적으로 카피 동작을 수행하게 된다.
도 5는 본 발명의 실시 예에 따른 반도체 메모리 장치(100)를 보여주는 블록도이다.
도 5를 참조하면, 반도체 메모리 장치(100)는 메모리 셀 어레이(110), 어드레스 디코더(120), 읽기 및 쓰기 회로(130), 제어 로직(140), 입출력 회로(150) 및 데이터 처리기(160)를 포함한다.
메모리 셀 어레이(110)는 도 1을 참조하여 설명된 바와 같이 복수의 메모리 블록들(BLK1~BLKz)을 포함한다. 복수의 메모리 블록들(BLK1~BLKz)은 워드 라인들(WL)을 통해 어드레스 디코더(120)에 연결되고, 비트 라인들(BL)을 통해 읽기 및 쓰기 회로(130)에 연결된다. 복수의 메모리 블록들(BLK1~BLKz) 각각은 복수의 메모리 셀들을 포함한다. 이때 각 메모리 셀은 하나의 데이터 비트를 저장하는 싱글 레벨 셀(single level cell) 또는 2 이상의 데이터 비트들을 저장하는 멀티 레벨 셀(multi level cell)로 정의될 수 있다. 실시 예로서, 메모리 셀들은 불휘발성 메모리 셀들이다.
어드레스 디코더(120), 읽기 및 쓰기 회로(130), 제어 로직(140) 및 입출력 회로(150)는 메모리 셀 어레이(110)를 구동하는 주변 회로(peripheral circuit)로서 동작한다.
어드레스 디코더(120)는 워드 라인들(WL)을 통해 메모리 셀 어레이(110)에 연결된다. 어드레스 디코더(120)는 제어 로직(140)의 제어에 응답하여 동작하도록 구성된다. 어드레스 디코더(120)는 제어 로직(140)을 통해 어드레스(ADDR)를 수신한다.
어드레스 디코더(120)는 수신된 어드레스(ADDR) 중 블록 어드레스를 디코딩하도록 구성된다. 어드레스 디코더(120)는 디코딩된 블록 어드레스에 따라 복수의 메모리 블록들(BLK1~BLKz) 중 하나의 메모리 블록을 선택한다.
어드레스 디코더(120)는 수신된 어드레스(ADDR) 중 행 어드레스를 디코딩하도록 구성된다. 어드레스 디코더(120)는 디코딩된 행 어드레스에 따라 선택된 메모리 블록의 하나의 워드 라인을 선택하도록 구성된다.
실시 예로서, 어드레스 디코더(120)는 어드레스 버퍼, 블록 디코더, 어드레스 디코더 등을 포함할 수 있다.
읽기 및 쓰기 회로(130)는 비트 라인들(BL)을 통해 메모리 셀 어레이(110)에 연결된다. 읽기 및 쓰기 회로(130)는 제어 로직(140)의 제어에 응답하여 동작한다.
읽기 및 쓰기 회로(130)는 기입 동작 시에 입출력 회로(150)를 통해 수신되는 데이터를 선택된 워드 라인의 메모리 셀들에 기입하고, 읽기 동작 시에 선택된 워드 라인의 메모리 셀들로부터 데이터를 읽고 읽어진 데이터를 입출력 회로(150)로 출력한다.
카피 동작 시에, 읽기 및 쓰기 회로(130)는 제 1 메모리 블록(BLK1) 중 선택된 워드 라인의 메모리 셀들로부터 원(original) 데이터를 읽고, 읽어진 데이터를 데이터 처리기(160)에 제공한다. 그리고 데이터 처리기(160)로부터 카피 데이터(CDATA)를 수신하고, 카피 데이터(CDATA)를 제 2 메모리 블록(BLK2) 중 선택된 워드 라인의 메모리 셀들에 기입한다.
실시 예로서, 읽기 및 쓰기 회로(130)는 페이지 버퍼들을 포함할 수 있다.
제어 로직(140)은 입출력 회로(150)로부터 커맨드(CMD) 및 어드레스(ADDR)를 수신한다. 제어 로직(140)은 수신된 어드레스(ADDR)를 어드레스 디코더(120)에 전달한다. 그리고, 제어 로직(140)은 수신된 커맨드(CMD)에 응답하여 어드레스 디코더(120), 읽기 및 쓰기 회로(130), 입출력 회로(150) 및 데이터 처리기(160)를 제어하도록 구성된다.
입출력 회로(150)는 읽기 및 쓰기 회로(130) 및 제어 로직(140)에 연결된다. 입출력 회로(150)는 제어 로직(140)의 제어에 응답하여 동작한다. 입출력 회로(150)는 컨트롤러(200, 도 1 참조)로부터 커맨드(CMD) 및 어드레스(ADDR)를 수신하고 수신된 커맨드(CMD) 및 어드레스(ADDR)를 제어 로직(140)에 전송한다.
본 발명의 실시 예에 따르면 반도체 메모리 장치(100)는 데이터 처리기(160)를 포함한다. 데이터 처리기(160)는 제어 로직(140)의 제어에 응답하여 동작한다.
데이터 처리기(160)는 조합 시드 저장부(161) 및 논리 연산 블록(162)을 포함한다. 조합 시드 저장부(161)는 컨트롤러(200)로부터 입출력 회로(150)를 통해 제공된 조합 시드(CS)를 임시 저장하도록 구성된다. 조합 시드 저장부(161)에 저장된 조합 시드(CS)는 논리 연산 블록(162)에 제공된다.
논리 연산 블록(162)은 제어 로직(140)의 제어에 응답하여 원 데이터(ODATA) 및 조합 시드(CS)를 연산하도록 구성된다. 예를 들면 논리 연산 블록(162)는 XOR 연산을 수행하도록 구성된다. 연산 결과, 카피 데이터(CDATA)가 생성될 것이다. 생성된 카피 데이터(CDATA)는 읽기 및 쓰기 회로(130)에 제공된다.
본 발명의 실시 예에 따르면, 반도체 메모리 장치(100)는 조합 시드(CS)에 기초하여 카피 데이터(CDATA)를 내부적으로 생성한다. 따라서 카피 동작 시 반도체 메모리 장치(1000와 컨트롤러(200) 사이에서 원 데이터 및 카피 데이터는 송수신되지 않는다. 결과적으로 카피 동작의 속도는 향상된다.
도 6은 카피 동작을 좀 더 상세히 설명하기 위한 개념도이다.
도 6을 참조하면, 먼저 제 1 메모리 블록(BLK1)의 선택된 워드 라인의 메모리 셀들로부터 원 데이터가 읽혀지고(a), 읽혀진 원 데이터와 조합 시드(CS)가 연산(b)되어 카피 데이터가 생성된 후에, 카피 데이터는 제 2 메모리 블록(BLK2)의 선택된 워드 라인의 메모리 셀들에 기입됨으로써 카피 동작이 수행된다.
도 7은 본 발명의 다른 실시 예에 따른 반도체 메모리 장치(300)를 보여주는 블록도이다.
도 7을 참조하면, 반도체 메모리 장치(300)는 메모리 셀 어레이(310), 어드레스 디코더(320), 읽기 및 쓰기 회로(330), 제어 로직(340), 입출력 회로(350) 및 조합 시드 저장부(361)를 포함한다.
메모리 셀 어레이(310), 어드레스 디코더(320), 제어 로직(340) 및 입출력 회로(350)는 각각 도 5를 참조하여 설명된 메모리 셀 어레이(110), 어드레스 디코더(120), 제어 로직(140) 및 입출력 회로(150)와 마찬가지로 구성된다. 이하 중복되는 설명은 생략된다.
읽기 및 쓰기 회로(330)는 제 1 래치 그룹(LATG1), 제 2 래치 그룹(LATG2) 및 논리 연산 블록(362)을 포함한다. 실시 예로서, 각 비트 라인마다 제 1 래치 그룹(LATG1) 중 하나의 래치와 제 2 래치 그룹(LATG2) 중 하나의 래치가 하나의 페이지 버퍼를 구성하고, 이러한 페이지 버퍼가 해당 비트 라인에 연결될 수 있다.
본 발명의 실시 예에 따르면 논리 연산 블록(362)은 읽기 및 쓰기 회로(330) 내에 제공된다. 논리 연산 블록(362)은 읽기 및 쓰기 회로(330) 내의 트랜지스터들을 이용하여 구성될 수 있다. 논리 연산 블록(362)은 읽기 및 쓰기 회로(330)의 제 1 래치 그룹(LATG1) 및 제 2 래치 그룹(LATG2) 사이에 연결된다.
카피 동작 시에, 읽기 및 쓰기 회로(130)는 제어 로직(340)의 제어에 응답하여 제 1 메모리 블록(BLK1) 중 선택된 워드 라인의 메모리 셀들로부터 원 데이터(ODATA)를 읽는다. 읽어진 데이터는 제 1 래치 그룹(LATG1)에 저장된다.
논리 연산 블록(362)은 제어 로직(340)의 제어에 응답하여 조합 시드 저장부(361)로부터의 조합 시드(CS)와 제 1 래치 그룹(LATG1)으로부터의 원 데이터(ODATA)를 연산함으로써 카피 데이터(CDATA)를 생성한다. 생성된 카피 데이터(CDATA)는 제 2 래치 그룹(LATG2)에 저장된다.
이후, 카피 데이터(CDATA)는 제 2 메모리 블록(BLK2)에 기입될 것이다.
도 8은 도 1의 메모리 시스템(10)의 응용 예(1000)를 보여주는 블록도이다.
도 8을 참조하면, 메모리 시스템(1000)은 반도체 메모리 장치(1100) 및 컨트롤러(1200)를 포함한다.
반도체 메모리 장치(100)는 도 5를 참조하여 설명된 반도체 메모리 장치(100) 또는 도 7을 참조하여 설명된 반도체 메모리 장치(300)와 마찬가지로 구성된다. 이하 중복되는 설명은 생략된다.
컨트롤러(1200)는 호스트(Host) 및 반도체 메모리 장치(1100)에 연결된다. 컨트롤러(1200)는 램(1210, Random Access Memory), 프로세싱 유닛(1220, processing unit), 호스트 인터페이스(1230, host interface), 메모리 인터페이스(1240, memory interface) 및 에러 정정 블록(1250)을 포함한다.
램(1210)은 프로세싱 유닛(1220)의 동작 메모리, 반도체 메모리 장치(1100) 및 호스트(Host) 사이의 캐시 메모리, 그리고 반도체 메모리 장치(1100) 및 호스트(Host) 사이의 버퍼 메모리 중 적어도 하나로서 이용된다. 프로세싱 유닛(1220)은 컨트롤러(1200)의 제반 동작을 제어한다.
실시 예로서, 프로세싱 유닛(1220)은 펌웨어(firmware)를 구동하여 도 1을 참조하여 설명된 랜더마이저(220), 디랜더마이저(230) 및 논리 연산 블록(240)의 기능을 수행할 수 있다. 실시 예로서, 랜더마이저(220), 디랜더마이저(230) 및 논리 연산 블록(240)의 기능을 수행하기 위한 소스 코드가 반도체 메모리 장치(100)에 저장되고, 이러한 소스 코드는 메모리 시스템(1000)의 구동 시 램(1210)에 로드되며, 프로세싱 유닛(1220)은 램(1210)에 로드된 소스 코드를 이용하여 도 1을 참조하여 설명된 랜더마이저(220), 디랜더마이저(230) 및 논리 연산 블록(240)의 기능을 수행할 수 있다. 이 밖에도 다양한 구성들을 통하여 컨트롤러(1200)는 도 1을 참조하여 설명된 랜더마이저(220), 디랜더마이저(230) 및 논리 연산 블록(240)의 기능을 수행할 수 있다. 예를 들면, 컨트롤러(1200)는 랜더마이저(220), 디랜더마이저(230) 및 논리 연산 블록(240)에 각각 해당하는 하드웨어 구성들을 추가적으로 포함할 수 있다.
호스트 인터페이스(1230)는 호스트(Host) 및 컨트롤러(1200) 사이의 데이터 교환을 수행하기 위한 프로토콜을 포함한다. 예시적인 실시 예로서, 컨트롤러(1200)는 USB (Universal Serial Bus) 프로토콜, MMC (multimedia card) 프로토콜, PCI (peripheral component interconnection) 프로토콜, PCI-E (PCI-express) 프로토콜, ATA (Advanced Technology Attachment) 프로토콜, Serial-ATA 프로토콜, Parallel-ATA 프로토콜, SCSI (small computer small interface) 프로토콜, ESDI (enhanced small disk interface) 프로토콜, 그리고 IDE (Integrated Drive Electronics) 프로토콜, 사유(private) 프로토콜 등과 같은 다양한 인터페이스 프로토콜들 중 적어도 하나를 통해 호스트(Host)와 통신하도록 구성된다.
메모리 인터페이스(1240)는 반도체 메모리 장치(1100)와 인터페이싱한다. 예를 들면, 메모리 인터페이스는 낸드 인터페이스 또는 노어 인터페이스를 포함한다.
에러 정정 블록(1250)은 에러 정정 코드(ECC, Error Correcting Code)를 이용하여 반도체 메모리 장치(1100)로부터 읽혀진 데이터의 에러를 검출하고, 정정하도록 구성된다. 본 발명의 실시 예에 따른 카피 동작에 있어서, 컨트롤러(1200)는 원 데이터(ODATA, 도 5 참조)를 수신하지 않기 때문에 카피 동작 시에 기입되는 카피 데이터(CDATA)는 에러가 정정되지 않은 데이터이다. 본 발명의 실시 예에 따르면, 카피 동작이 완료된 이후에 이러한 카피 데이터(ODATA)의 에러가 정정될 수 있다. 이는 도 9를 참조하여 상세히 설명된다.
컨트롤러(1200) 및 반도체 메모리 장치(1100)는 하나의 반도체 장치로 집적될 수 있다. 예시적인 실시 예로서, 컨트롤러(1200) 및 반도체 메모리 장치(1100)는 하나의 반도체 장치로 집적되어, 메모리 카드를 구성할 수 있다. 예를 들면, 컨트롤러(1200) 및 반도체 메모리 장치(1100)는 하나의 반도체 장치로 집적되어 PC 카드(PCMCIA, personal computer memory card international association), 컴팩트 플래시 카드(CF), 스마트 미디어 카드(SM, SMC), 메모리 스틱, 멀티미디어 카드(MMC, RS-MMC, MMCmicro), SD 카드(SD, miniSD, microSD, SDHC), 유니버설 플래시 기억장치(UFS) 등과 같은 메모리 카드를 구성할 것이다.
컨트롤러(1200) 및 반도체 메모리 장치(1100)는 하나의 반도체 장치로 집적되어 반도체 드라이브(SSD, Solid State Drive)를 구성할 수 있다. 반도체 드라이브(SSD)는 반도체 메모리에 데이터를 저장하도록 구성되는 저장 장치를 포함한다. 메모리 시스템(1000)이 반도체 드라이브(SSD)로 이용되는 경우, 메모리 시스템(1000)에 연결된 호스트(Host)의 동작 속도는 획기적으로 개선된다.
다른 예로서, 메모리 시스템(1000)은 컴퓨터, UMPC (Ultra Mobile PC), 워크스테이션, 넷북(net-book), PDA (Personal Digital Assistants), 포터블(portable) 컴퓨터, 웹 타블렛(web tablet), 무선 전화기(wireless phone), 모바일 폰(mobile phone), 스마트폰(smart phone), e-북(e-book), PMP(portable multimedia player), 휴대용 게임기, 네비게이션(navigation) 장치, 블랙박스(black box), 디지털 카메라(digital camera), 3차원 수상기(3-dimensional television), 디지털 음성 녹음기(digital audio recorder), 디지털 음성 재생기(digital audio player), 디지털 영상 녹화기(digital picture recorder), 디지털 영상 재생기(digital picture player), 디지털 동영상 녹화기(digital video recorder), 디지털 동영상 재생기(digital video player), 정보를 무선 환경에서 송수신할 수 있는 장치, 홈 네트워크를 구성하는 다양한 전자 장치들 중 하나, 컴퓨터 네트워크를 구성하는 다양한 전자 장치들 중 하나, 텔레매틱스 네트워크를 구성하는 다양한 전자 장치들 중 하나, RFID 장치, 또는 컴퓨팅 시스템을 구성하는 다양한 구성 요소들 중 하나 등과 같은 전자 장치의 다양한 구성 요소들 중 하나로 제공된다.
예시적인 실시 예로서, 반도체 메모리 장치(1100) 또는 메모리 시스템(1000)은 다양한 형태들의 패키지로 실장될 수 있다. 예를 들면, 반도체 메모리 장치(1100) 또는 메모리 시스템(1000)은 PoP(Package on Package), Ball grid arrays(BGAs), Chip scale packages(CSPs), Plastic Leaded Chip Carrier(PLCC), Plastic Dual In Line Package(PDIP), Die in Waffle Pack, Die in Wafer Form, Chip On Board(COB), Ceramic Dual In Line Package(CERDIP), Plastic Metric Quad Flat Pack(MQFP), Thin Quad Flatpack(TQFP), Small Outline integrated circuit (SOIC), Shrink Small Outline Package(SSOP), Thin Small Outline Package(TSOP), Thin Quad Flatpack(TQFP), System In Package(SIP), Multi Chip Package(MCP), Wafer-level Fabricated Package(WFP), Wafer-Level Processed Stack Package(WSP) 등과 같은 방식으로 패키지화되어 실장될 수 있다.
도 9는 카피 동작이 완료된 이후 카피 데이터(CDATA, 도 5 참조)의 에러를 정정하는 방법을 설명하기 위한 도면이다.
도 8 및 도 9를 참조하면, S410단계에서, 호스트(Host)는 컨트롤러(1200)에 신규 데이터의 기입을 지시한다. S420단계에서, 컨트롤러(1200)는 신규 데이터의 기입 요청이 수신되면 반도체 메모리 장치(1100)에 카피 데이터(CDATA, 도 5 참조)에 대한 읽기 요청을 전송한다.
S430단계에서, 반도체 메모리 장치(1100)는 카피 데이터(CDATA)를 읽는다. S440단계에서, 컨트롤러(1200)는 상기 신규 데이터에 대한 기입 요청을 반도체 메모리 장치(1100)에 전송한다. 예를 들면 S440단계는 S430단계의 카피 데이터(CDATA)에 대한 읽기 동작 중에 수행될 수 있다.
S450단계에서, 카피 데이터(CDATA)에 대한 읽기 동작이 완료되면 반도체 메모리 장치(1100)는 카피 데이터(CDATA)를 컨트롤러(1200)에 전송한다.
S460단계에서, 컨트롤러(1200)는 에러 정정 블록(1250)을 이용하여 카피 데이터(CDATA)의 에러를 정정한다. 한편 S470단계에서, 반도체 메모리 장치(1100)는 신규 데이터에 대한 프로그램 동작을 수행한다. 본 발명의 실시 예에 따르면 S460단계와 S470단계는 병렬적으로 수행된다. 즉 카피 데이터(CDATA)에 대한 에러 정정은 상대적으로 많은 시간이 소요되는 프로그램 동작과 병렬적으로 수행된다.
S480단계에서, 컨트롤러(1200)는 정정된 카피 데이터에 대한 기입 요청을 반도체 메모리 장치(1100)에 전송한다. 예를 들면 S480단계는 S470단계의 신규 데이터에 대한 프로그램 동작 중에 수행될 수 있다.
S490단계에서, 반도체 메모리 장치(1100)는 정정된 카피 데이터를 해당 메모리 블록에 저장한다.
본 발명의 실시 예에 따르면 카피 데이터(CDATA)에 대한 에러 정정은 상대적으로 많은 시간이 소요되는 프로그램 동작과 병렬적으로 수행한다. 따라서 카피 데이터(CDATA)의 에러를 정정하는 데에 따라 메모리 시스템(1000)의 속도가 저하되는 것은 방지된다.
도 10은 도 9의 메모리 시스템(1000)의 응용 예(2000)를 보여주는 블록도이다.
도 10을 참조하면, 메모리 시스템(2000)은 반도체 메모리 장치(2100) 및 컨트롤러(2200)를 포함한다. 반도체 메모리 장치(2100)는 복수의 반도체 메모리 칩들을 포함한다. 복수의 반도체 메모리 칩들은 복수의 그룹들로 분할된다.
도 10에서, 복수의 그룹들은 각각 제 1 내지 제 k 채널들(CH1~CHk)을 통해 컨트롤러(2200)와 통신하는 것으로 도시되어 있다. 각 반도체 메모리 칩은 도 5를 참조하여 설명된 반도체 메모리 장치(100) 또는 도 7을 참조하여 설명된 반도체 메모리 장치(300) 중 하나와 마찬가지로 구성되고, 동작할 것이다.
각 그룹은 하나의 공통 채널을 통해 컨트롤러(2200)와 통신하도록 구성된다. 컨트롤러(2200)는 도 9를 참조하여 설명된 컨트롤러(1200)와 마찬가지로 구성되고, 복수의 채널들(CH1~CHk)을 통해 반도체 메모리 장치(2100)의 복수의 메모리 칩들을 제어하도록 구성된다.
도 10에서, 하나의 채널에 복수의 반도체 메모리 칩들이 연결되는 것으로 설명되었다. 그러나, 하나의 채널에 하나의 반도체 메모리 칩이 연결되도록 메모리 시스템(2000)이 변형될 수 있음이 이해될 것이다.
도 11은 도 10을 참조하여 설명된 메모리 시스템(2000)을 포함하는 컴퓨팅 시스템(3000)을 보여주는 블록도이다.
도 11을 참조하면, 컴퓨팅 시스템(3000)은 중앙 처리 장치(3100), 램(3200, RAM, Random Access Memory), 사용자 인터페이스(3300), 전원(3400), 시스템 버스(3500), 그리고 메모리 시스템(2000)을 포함한다.
메모리 시스템(2000)은 시스템 버스(3500)를 통해, 중앙처리장치(3100), 램(3200), 사용자 인터페이스(3300), 그리고 전원(3400)에 전기적으로 연결된다. 사용자 인터페이스(3300)를 통해 제공되거나, 중앙 처리 장치(3100)에 의해서 처리된 데이터는 메모리 시스템(2000)에 저장된다.
도 11에서, 반도체 메모리 장치(2100)는 컨트롤러(2200)를 통해 시스템 버스(3500)에 연결되는 것으로 도시되어 있다. 그러나, 반도체 메모리 장치(2100)는 시스템 버스(3500)에 직접 연결되도록 구성될 수 있다. 이때, 컨트롤러(2200)의 기능은 중앙 처리 장치(3100) 및 램(3200)에 의해 수행될 것이다.
도 11에서, 도 10을 참조하여 설명된 메모리 시스템(2000)이 제공되는 것으로 도시되어 있다. 그러나, 메모리 시스템(2000)은 도 1을 참조하여 설명된 메모리 시스템(10) 또는 도 9를 참조하여 설명된 메모리 시스템(1000)으로 대체될 수 있다. 예시적인 실시 예로서, 컴퓨팅 시스템(3000)은 도 1, 도 9 및 도 10을 참조하여 설명된 메모리 시스템들(10, 1000, 2000)을 모두 포함하도록 구성될 수 있다.
본 발명의 실시 예에 따르면 카피 동작 시에 반도체 메모리 장치와 컨트롤러 사이에서 원 데이터와 카피 데이터를 송수신하기 위한 시간이 요구되지 않는다. 따라서 카피 동작의 속도는 향상된다.
본 발명의 상세한 설명에서는 구체적인 실시 예에 관하여 설명하였으나, 본 발명의 범위와 기술적 사상에서 벗어나지 않는 한도 내에서 다양한 변경이 가능하다. 그러므로 본 발명의 범위는 상술한 실시 예에 국한되어 정해져서는 안되며 후술하는 특허청구범위뿐만 아니라 이 발명의 특허청구범위와 균등한 것들에 의해 정해져야 한다.
100: 반도체 메모리 장치
BLK1~BLKz: 제 1 내지 제 z 메모리 블록들
200: 컨트롤러
210: 시드 제공부
220: 랜더마이저
230: 디랜더마이저
240: 논리 연산 블록

Claims (18)

  1. 복수의 메모리 영역들을 포함하는 반도체 메모리 장치; 및
    상기 반도체 메모리 장치에 데이터를 기입하고, 상기 반도체 메모리 장치로부터 데이터를 읽도록 구성되는 컨트롤러를 포함하되,
    상기 컨트롤러는, 상기 복수의 메모리 영역들 중 제 1 메모리 영역의 데이터를 제 2 메모리 영역에 카피하기 위해, 상기 제 1 메모리 영역에 해당하는 디랜더마이징 시드(seed)와 상기 제 2 메모리 영역에 해당하는 랜더마이징 시드를 연산한 조합 시드를 상기 반도체 메모리 장치에 제공하도록 구성되는 메모리 시스템.
  2. 제 1 항에 있어서,
    상기 복수의 메모리 영역들은 각각 상이한 랜더마이징 시드들에 대응하는 메모리 시스템.
  3. 제 1 항에 있어서,
    상기 반도체 메모리 장치는 상기 제 1 메모리 영역의 데이터를 상기 조합 시드와 연산하여 카피 데이터를 생성하도록 구성되는 논리 연산 블록을 포함하는 메모리 시스템.
  4. 제 3 항에 있어서,
    상기 반도체 메모리 장치는 상기 카피 데이터를 상기 제 2 메모리 영역에 기입하도록 구성되는 메모리 시스템.
  5. 제 4 항에 있어서,
    상기 컨트롤러는 상기 반도체 메모리 장치에서 신규 데이터에 대한 기입 동작이 수행되기 전에 상기 반도체 메모리 장치로부터 상기 카피 데이터를 읽도록 구성되는 메모리 시스템.
  6. 제 5 항에 있어서,
    상기 컨트롤러는 상기 반도체 메모리 장치에서 상기 신규 데이터에 대한 기입 동작이 수행될 때 상기 카피 데이터의 에러를 정정하는 메모리 시스템.
  7. 제 6 항에 있어서,
    정정된 상기 카피 데이터는 상기 제 2 메모리 영역에 재기입되는 메모리 시스템.
  8. 제 1 항에 있어서,
    상기 복수의 메모리 영역들 각각은 소거 단위를 이루는 메모리 블록인 메모리 시스템.
  9. 복수의 메모리 영역들을 가지는 반도체 메모리 장치를 제어하는 방법에 있어서:
    외부로부터 수신된 데이터를 상기 복수의 메모리 영역들 중 제 1 메모리 영역에 해당하는 랜더마이징 시드와 조합하는 단계;
    조합된 데이터를 상기 제 1 메모리 영역에 기입하도록 상기 반도체 메모리 장치를 제어하는 단계;
    상기 제 1 메모리 영역의 데이터를 상기 제 2 메모리 영역에 카피하기 위해, 상기 제 1 메모리 영역에 해당하는 디랜더마이징 시드와 제 2 메모리 영역에 해당하는 랜더마이징 시드를 연산하여 조합 시드를 생성하는 단계; 및
    상기 조합 시드를 상기 반도체 메모리 장치에 제공하는 단계를 포함하는 방법.
  10. 제 9 항에 있어서,
    상기 반도체 메모리 장치는 상기 제 1 메모리 영역의 데이터를 상기 조합 시드와 연산하여 카피 데이터를 생성하는 방법.
  11. 제 10 항에 있어서,
    상기 반도체 메모리 장치는 상기 카피 데이터를 상기 제 2 메모리 영역에 기입하는 방법.
  12. 제 11 항에 있어서,
    상기 제 2 메모리 영역에 기입된 상기 카피 데이터를 읽도록 상기 반도체 메모리 장치를 제어하는 단계를 더 포함하는 방법.
  13. 제 12 항에 있어서,
    상기 반도체 메모리 장치에서 신규 데이터에 대한 기입 동작이 수행될 때, 상기 카피 데이터에 대한 에러 정정을 수행하는 단계를 더 포함하는 방법.
  14. 제 13 항에 있어서,
    정정된 상기 카피 데이터를 상기 제 2 메모리 영역에 기입하도록 상기 반도체 메모리 장치를 제어하는 단계를 더 포함하는 방법.
  15. 제 9 항에 있어서,
    상기 복수의 메모리 영역들 각각은 소거 단위를 이루는 메모리 블록인 방법.
  16. 제 1 및 제 2 메모리 영역들;
    비트 라인들을 통해 상기 제 1 및 제 2 메모리 영역들에 연결되는 읽기 및 쓰기 회로; 및
    상기 제 1 메모리 영역에 저장된 원(original) 데이터가 상기 읽기 및 쓰기 회로로 읽어질 때 상기 원 데이터와 조합 시드를 연산하여 카피 데이터를 생성하도록 구성되는 논리 연산 블록을 포함하되,
    상기 읽기 및 쓰기 회로는 상기 카피 데이터를 상기 제 2 메모리 영역에 기입하는 반도체 메모리 장치.
  17. 제 16 항에 있어서,
    상기 조합 시드는 외부로부터 수신되고,
    상기 조합 시드를 임시 저장하는 조합 시드 저장부를 더 포함하는 반도체 메모리 장치.
  18. 제 16 항에 있어서,
    상기 제 1 및 제 2 메모리 영역들은 각각 상이한 랜더마이징 시드들에 대응하고,
    상기 조합 시드는 상기 제 1 메모리 영역에 대응하는 디랜더마이징 시드와 상기 제 2 메모리 영역에 대응하는 랜더마이징 시드를 연산함으로써 결정되는 반도체 메모리 장치.
KR1020130129469A 2013-10-29 2013-10-29 랜더마이저 및 디랜더마이저를 포함하는 메모리 시스템 KR20150049217A (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020130129469A KR20150049217A (ko) 2013-10-29 2013-10-29 랜더마이저 및 디랜더마이저를 포함하는 메모리 시스템
US14/219,775 US20150121168A1 (en) 2013-10-29 2014-03-19 Memory system including randomizer and de-randomizer

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020130129469A KR20150049217A (ko) 2013-10-29 2013-10-29 랜더마이저 및 디랜더마이저를 포함하는 메모리 시스템

Publications (1)

Publication Number Publication Date
KR20150049217A true KR20150049217A (ko) 2015-05-08

Family

ID=52996877

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020130129469A KR20150049217A (ko) 2013-10-29 2013-10-29 랜더마이저 및 디랜더마이저를 포함하는 메모리 시스템

Country Status (2)

Country Link
US (1) US20150121168A1 (ko)
KR (1) KR20150049217A (ko)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102353058B1 (ko) * 2016-02-02 2022-01-20 삼성전자주식회사 시스템 온 칩 및 그것의 동작 방법
KR102438988B1 (ko) 2016-04-07 2022-09-02 삼성전자주식회사 랜덤화 연산을 수행하는 불휘발성 메모리 장치
US10997070B1 (en) 2019-12-30 2021-05-04 Micron Technology, Inc. Efficient scrambling and encoding for copyback procedures using precomputed values

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0748130B1 (en) * 1995-06-05 2002-09-25 Sony Electronics Inc. Recording and reproducing digital signals
KR100223634B1 (ko) * 1997-01-15 1999-10-15 윤종용 고속 데이타 처리 및 전송을 위한 에러정정용 메모리를 구비하는 시스템 디코더 및 에러정정용 메모리 제어방법
US20140310534A1 (en) * 2013-04-15 2014-10-16 Apple Inc. Data scrambling in memory devices using combined sequences

Also Published As

Publication number Publication date
US20150121168A1 (en) 2015-04-30

Similar Documents

Publication Publication Date Title
US9761287B2 (en) Semiconductor memory device, memory system including the same and operating method thereof
KR101903095B1 (ko) 불휘발성 메모리 장치 및 불휘발성 메모리 장치를 제어하는 컨트롤러의 동작 방법
US10002652B1 (en) Memory system and method for operating the same
KR102496988B1 (ko) 반도체 메모리 장치의 컨트롤러 및 이의 동작 방법
US9293177B2 (en) Semiconductor memory device, memory system including the same and operating method thereof
KR102603243B1 (ko) 반도체 메모리 장치 및 그것의 동작 방법
KR20160146332A (ko) 복수의 저장 영역들을 포함하는 메모리 시스템 및 그것의 동작 방법
KR20170052066A (ko) 메모리 시스템 및 이의 동작 방법
KR20170011645A (ko) 반도체 메모리 장치를 포함하는 메모리 시스템 및 그것의 동작 방법
KR20170111657A (ko) 반도체 메모리 장치 및 이의 동작 방법
US9367388B2 (en) Memory system including randomizer and derandomizer
KR20180016854A (ko) 반도체 메모리 장치 및 그 동작 방법
KR20190044349A (ko) 반도체 메모리 장치 및 그 동작 방법
US9147484B2 (en) Semiconductor memory device and operating method thereof
KR20170100875A (ko) 메모리 시스템 및 이의 동작 방법
KR20150049217A (ko) 랜더마이저 및 디랜더마이저를 포함하는 메모리 시스템
US9256494B2 (en) Memory system and operating method thereof
KR102626039B1 (ko) 반도체 메모리 장치 및 그 동작 방법
KR20150142921A (ko) 반도체 메모리 장치, 그것을 포함하는 메모리 시스템 및 그것의 동작 방법
KR20180041932A (ko) 반도체 메모리 장치 및 그 동작 방법
US9311257B2 (en) Semiconductor memory device, memory system and method of operating the same
KR101926860B1 (ko) 반도체 메모리 장치 및 그것의 동작 방법
KR102496678B1 (ko) 반도체 메모리 장치 및 이의 동작 방법
KR20170052268A (ko) 복수의 플래인들을 포함하는 반도체 장치
KR20160072712A (ko) 반도체 메모리 장치 및 그것의 동작 방법

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