KR102535243B1 - 메모리 시스템 및 그것의 동작 방법 - Google Patents
메모리 시스템 및 그것의 동작 방법 Download PDFInfo
- Publication number
- KR102535243B1 KR102535243B1 KR1020170174488A KR20170174488A KR102535243B1 KR 102535243 B1 KR102535243 B1 KR 102535243B1 KR 1020170174488 A KR1020170174488 A KR 1020170174488A KR 20170174488 A KR20170174488 A KR 20170174488A KR 102535243 B1 KR102535243 B1 KR 102535243B1
- Authority
- KR
- South Korea
- Prior art keywords
- mode
- host interface
- normal
- data
- host
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1015—Read-write modes for single port memories, i.e. having either a random port or a serial port
- G11C7/1045—Read-write mode select circuits
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
- G06F3/0634—Configuration or reconfiguration of storage systems by changing the state or mode of one or more devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
- G06F3/0631—Configuration or reconfiguration of storage systems by allocating resources to storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0658—Controller construction arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
-
- 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
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/04—Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
- G11C16/0483—Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells having several storage transistors connected in series
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/10—Programming or data input circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C2029/0411—Online error correction
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C2211/00—Indexing scheme relating to digital stores characterized by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C2211/56—Indexing scheme relating to G11C11/56 and sub-groups for features not covered by these groups
- G11C2211/564—Miscellaneous aspects
- G11C2211/5641—Multilevel memory having cells with different number of storage levels
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Software Systems (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Computer Security & Cryptography (AREA)
- Read Only Memory (AREA)
Abstract
본 발명은 메모리 시스템 및 메모리 시스템의 동작 방법에 관한 것으로, 메모리 시스템은 호스트 장치로부터 입력되는 호스트 인터페이스 변환 커맨드에 응답하여 프리 코딩 모드 또는 노멀 쓰기 모드를 선택하는 컨트롤러; 및 상기 컨트롤러의 제어에 따라 상기 프리 코딩 모드 시 상기 호스트 장치로부터 입력되는 OS(operating system) 데이터를 OS 저장 영역에 저장하는 반도체 메모리 장치를 포함한다.
Description
본 발명은 메모리 시스템 및 그것의 동작 방법에 관한 것으로, 보다 구체적으로는 호스트 인터페이스 모드를 기초로 하여 프리 코딩 모드를 활성 또는 비활성화시킬 수 있는 메모리 시스템 및 그것의 동작 방법에 관한 것이다.
최근 컴퓨터 환경에 대한 패러다임(paradigm)이 언제, 어디서나 컴퓨터 시스템을 사용할 수 있도록 하는 유비쿼터스 컴퓨팅(ubiquitous computing)으로 전환되고 있다. 이로 인해 휴대폰, 디지털 카메라, 노트북 컴퓨터 등과 같은 휴대용 전자 장치의 사용이 급증하고 있다. 이와 같은 휴대용 전자 장치는 일반적으로 메모리 장치를 이용하는 메모리 시스템, 다시 말해 데이터 저장 장치를 사용한다. 데이터 저장 장치는 휴대용 전자 장치의 주 기억 장치 또는 보조 기억 장치로 사용된다.
메모리 장치를 이용한 데이터 저장 장치는 기계적인 구동부가 없어서 안정성 및 내구성이 뛰어나며, 또한 정보의 액세스 속도가 매우 빠르고 전력 소모가 적다는 장점이 있다. 이러한 장점을 갖는 메모리 시스템의 일 예로 데이터 저장 장치는 USB(Universal Serial Bus) 메모리 장치, 다양한 인터페이스를 갖는 메모리 카드, 솔리드 스테이트 드라이브(SSD: Solid State Drive) 등을 포함한다.
본 발명의 실시 예는 호스트 인터페이스 모드에 따라 용이하게 프리 코딩 모드로 활성화 또는 비활성화되는 메모리 시스템 및 그것의 동작 방법을 제공한다.
본 발명의 실시 예에 따른 메모리 시스템은 호스트 장치로부터 입력되는 호스트 인터페이스 변환 커맨드에 응답하여 프리 코딩 모드 또는 노멀 쓰기 모드를 선택하는 컨트롤러; 및 상기 컨트롤러의 제어에 따라 상기 프리 코딩 모드 시 상기 호스트 장치로부터 입력되는 OS(operating system) 데이터를 OS 저장 영역에 저장하는 반도체 메모리 장치를 포함한다.
본 발명의 실시 예에 따른 메모리 시스템의 동작 방법은 호스트 장치로부터 입력되는 호스트 인터페이스 변환 커맨드에 응답하여 호스트 인터페이스 모드를 선택하는 단계와, 상기 호스트 인터페이스 변환 커맨드에 응답하여 프리 코딩 모드 또는 노멀 쓰기 모드를 선택하는 단계, 및 상기 호스트 장치로부터 입력되는 데이터를 상기 프리 코딩 모드 또는 노멀 쓰기 모드로 반도체 메모리 장치에 저장하는 단계를 포함한다.
본 기술에 따르면, 메모리 시스템의 동작 중 오퍼레이팅 시스템(operating system)을 저장하는 프리 코딩 동작 시 호스트 인터페이스 모드에 따라 프리 코딩 동작 모드를 활성화 또는 비활성화시킴으로써, 메모리 시스템을 효율적으로 동작시킬 수 있다.
도 1은 본 발명의 실시 예에 따른 메모리 시스템을 설명하기 위한 블록도이다.
도 2는 도 1의 반도체 메모리 장치를 설명하기 위한 블록도이다.
도 3은 도 2의 메모리 셀 어레이의 일 실시 예를 보여주는 블록도이다.
도 4는 도 3에 도시된 메모리 블록을 설명하기 위한 회로도이다.
도 5 및 도 6은 본 발명의 실시 예에 따른 메모리 시스템의 동작 방법을 설명하기 위한 순서도이다.
도 7은 도 1의 메모리 시스템의 응용 예를 보여주는 블록도이다.
도 8은 도 7을 참조하여 설명된 메모리 시스템을 포함하는 컴퓨팅 시스템을 보여주는 블록도이다.
도 2는 도 1의 반도체 메모리 장치를 설명하기 위한 블록도이다.
도 3은 도 2의 메모리 셀 어레이의 일 실시 예를 보여주는 블록도이다.
도 4는 도 3에 도시된 메모리 블록을 설명하기 위한 회로도이다.
도 5 및 도 6은 본 발명의 실시 예에 따른 메모리 시스템의 동작 방법을 설명하기 위한 순서도이다.
도 7은 도 1의 메모리 시스템의 응용 예를 보여주는 블록도이다.
도 8은 도 7을 참조하여 설명된 메모리 시스템을 포함하는 컴퓨팅 시스템을 보여주는 블록도이다.
본 발명의 이점 및 특징, 그리고 그것을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시 예들을 통해 설명될 것이다. 그러나 본 발명은 여기에서 설명되는 실시 예들에 한정되지 않고 다른 형태로 구체화될 수도 있다. 단지, 본 실시 예들은 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 본 발명의 기술적 사상을 용이하게 실시할 수 있을 정도로 상세히 설명하기 위하여 제공되는 것이다.
명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 "간접적으로 연결"되어 있는 경우도 포함한다. 명세서 전체에서, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.
도 1은 본 발명의 실시 예에 따른 메모리 시스템을 설명하기 위한 블록도이다.
도 1을 참조하면, 메모리 시스템(1000)은 반도체 메모리 장치(100) 및 컨트롤러(1100)를 포함한다.
반도체 메모리 장치(100)는 컨트롤러(1100)의 제어에 따라 읽기, 쓰기, 소거, 그리고 배경(background) 동작 등을 수행한다. 반도체 메모리 장치(100)는 복수의 메모리 블록들을 포함하며, 복수의 메모리 블록들 중 적어도 하나 이상의 메모리 블록들은 오퍼레이팅 시스템(operating system; 이하 OS)이 저장되는 OS 저장 영역(111)으로 정의될 수 있다. 이때 복수의 메모리 블록들 중 OS 저장 영역(111)을 제외한 나머지 메모리 블록들은 노멀 메모리 블록으로 정의될 수 있다. 예를 들어 OS 저장 영역(111)에 포함된 메모리 블록들은 SLC(Single Level Cell) 방식으로 프로그램 및 리드되는 메모리 블록으로 정의될 수 있으며, 노멀 메모리 블록은 MLC(Multi Level Cell), TLC(Triple Level Cell), 또는 QLC(Quad Level Cell) 방식으로 프로그램 및 리드되는 메모리 블록으로 정의될 수 있다.
컨트롤러(1100)는 호스트 장치(200) 및 반도체 메모리 장치(100)에 연결된다. 호스트 장치(200)로부터의 요청에 응답하여, 컨트롤러(1100)는 반도체 메모리 장치(100)를 액세스하도록 구성된다. 예를 들면, 컨트롤러(1100)는 반도체 메모리 장치(100)의 읽기, 쓰기, 소거, 그리고 배경(background) 동작을 제어하도록 구성된다. 컨트롤러(1100)는 반도체 메모리 장치(100) 및 호스트 장치(200) 사이에 인터페이스를 제공하도록 구성된다. 컨트롤러(1100)는 반도체 메모리 장치(100)를 제어하기 위한 펌웨어(firmware)를 구동하도록 구성된다.
상술한 메모리 시스템(1000)은 OS 데이터를 반도체 메모리 장치(100)의 OS 저장 영역(111)에 프로그램할 때 프리 코딩(pre cording) 모드로 동작할 수 있다. 메모리 시스템(1000)은 호스트 장치(200)로부터 입력되는 호스트 인터페이스 변환 커맨드에 응답하여 호스트 인터페이스 모드를 변경하고, 호스트 인터페이스 변환 커맨드에 응답하여 프리 코딩 모드로 동작할지 또는 노멀 쓰기 모드로 동작할지를 판단하여 OS 데이터를 프로그램하거나 노멀 데이터를 프로그램할 수 있다.
호스트 인터페이스 모드는 데이터 전송 속도에 따라 복수의 인터페이스 모드로 정의될 수 있으며, 예를 들어 하이 스피드 모드(High Speed Mode), HS 200 모드, HS 400 모드 등으로 정의될 수 있다. 하이 스피드 모드(High Speed Mode)는 최대 52 Mega Byte/sec의 데이터 전송 속도를 가지며, HS 200 모드는 최대 200 Mega Byte/sec의 데이터 전송 속도를 가지며, HS 400 모드는 최대 400 Mega Byte/sec의 데이터 전송 속도를 갖는다.
본 발명의 실시 예에서는 OS 데이터를 프로그램하는 프리 코딩 모드는 설정 데이터 전송 속도보다 느린 전송 속도를 갖는 호스트 인터페이스 모드에서 동작하며, 노멀 데이터를 프로그램하는 노멀 쓰기 모드는 설정 데이터 전송 속도와 같거나 빠른 전송 속도를 갖는 호스트 인터페이스 모드에서 동작한다. 예를 들어 프리 코딩 모드는 하이 스피드 모드에서 동작하며, 노멀 쓰기 모드는 하이 스피드 모드 보다 빠른 전송 속도를 갖는 HS 200 또는 HS 400 모드에서 동작할 수 있다.
본 발명의 실시 예에 따른 컨트롤러는 초기 호스트 인터페이스 모드를 하이 스피드 모드로 설정하고, 호스트 장치(200)로부터 입력되는 호스트 인터페이스 모드 변환 커맨드에 응답하여 호스트 인터페이스 모드를 하이 스피드 모드로 유지하거나, HS 200 모드 또는 HS 400 모드로 변환한다.
호스트 장치(200)가 OS 데이터를 전송하기 위한 장치 예를 들어 롬 라이터(Rom Writter)일 경우, 호스트 장치(200)로부터 입력되는 호스트 인터페이스 모드 변환 커맨드에 응답하여 호스트 인터페이스 모드를 하이 스피드 모드로 유지하고, 이 후 호스트 장치(200)로부터 입력되는 OS 데이터는 컨트롤러(1100)의 프리 코딩 동작 모드에 따른 제어에 따라 반도체 메모리 장치(100)의 OS 저장 영역(111)에 저장된다.
반면, 호스트 장치(200)가 어플리케이션 프로세서(Application Processor; 이하, AP)일 경우, 호스트 장치(200)로부터 입력되는 호스트 인터페이스 모드 변환 커맨드에 응답하여 호스트 인터페이스 모드를 하이 스피드 모드에서 HS 200 모드 또는 HS 400 모드로 변환한다. 이 후, 호스트 장치(200)로부터 입력되는 노멀 데이터는 컨트롤러(1100)의 노멀 쓰기 모드에 따른 제어에 따라 반도체 메모리 장치(100)의 노멀 메모리 블록들에 저장되거나, 노멀 메모리 블록들에 저장된 데이터들이 독출되어 호스트 장치(200)로 출력될 수 있다.
컨트롤러(1100)는 램(1110, Random Access Memory), 프로세싱 유닛(1120, processing unit), 호스트 인터페이스(1130, host interface), 메모리 인터페이스(1140, memory interface) 및 에러 정정 블록(1150)을 포함한다.
램(1110)은 펌웨어(firmware)를 저장하며, 프로세싱 유닛(1120)의 동작 메모리, 반도체 메모리 장치(100) 및 호스트(Host) 사이의 캐시 메모리, 그리고 반도체 메모리 장치(100) 및 호스트(Host) 사이의 버퍼 메모리로써 이용될 수 있다. 펌웨어(firmware)에는 제반 동작을 수행하기 위한 알고리즘이 포함될 수 있다. 램(1110)은 컨트롤러(1100)가 처리하는 데이터를 저장할 수 있다.
프로세싱 유닛(1120)은 컨트롤러(1100)의 제반 동작을 제어하며, 반도체 메모리 장치(100)의 프로그램 동작, 리드 동작, 또는 소거 동작을 제어할 수 있다. 본 발명의 실시 예에서는 프로세싱 유닛(1120)은 호스트 장치(200)로부터 입력되는 호스트 인터페이스 모드 변환 커맨드에 응답하여 호스트 인터페이스 모드를 유지 또는 변환하고, 호스트 인터페이스 모드 변환 커맨드에 따라 프리 코딩 모드 또는 노멀 쓰기 모드로 동작하도록 반도체 메모리 장치(100)를 제어할 수 있다.
호스트 인터페이스(1130)는 호스트(Host) 및 컨트롤러(1100) 사이의 데이터 교환을 수행하기 위한 프로토콜을 포함한다. 예시적인 실시 예로서, 컨트롤러(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)와 통신하도록 구성된다.
메모리 인터페이스(1140)는 반도체 메모리 장치(100)와 인터페이싱한다. 예를 들면, 메모리 인터페이스는 낸드 인터페이스 또는 노어 인터페이스를 포함한다.
에러 정정 블록(1150)은 에러 정정 코드(ECC, Error Correcting Code)를 이용하여 반도체 메모리 장치(100)로부터 수신된 데이터의 에러를 검출하고, 정정하도록 구성된다. 예를 들어 에러 정정 블록(1150)은 검출된 에러의 비트 수와 최대 허용 ECC 비트 수를 비교하고, 검출된 에러의 비트 수가 비트 수 보다 작을 경우 검출된 에러를 정정한다.
컨트롤러(1100) 및 반도체 메모리 장치(100)는 하나의 반도체 장치로 집적될 수 있다. 예시적인 실시 예로서, 컨트롤러(1100) 및 반도체 메모리 장치(100)는 하나의 반도체 장치로 집적되어, 메모리 카드를 구성할 수 있다. 예를 들면, 컨트롤러(1100) 및 반도체 메모리 장치(100)는 하나의 반도체 장치로 집적되어 PC 카드(PCMCIA, personal computer memory card international association), 컴팩트 플래시 카드(CF), 스마트 미디어 카드(SM, SMC), 메모리 스틱, 멀티미디어 카드(MMC, RS-MMC, MMCmicro), SD 카드(SD, miniSD, microSD, SDHC), 유니버설 플래시 기억장치(UFS) 등과 같은 메모리 카드를 구성할 것이다.
컨트롤러(1100) 및 반도체 메모리 장치(100)는 하나의 반도체 장치로 집적되어 반도체 드라이브(SSD, Solid State Drive)를 구성할 수 있다. 반도체 드라이브(SSD)는 반도체 메모리에 데이터를 저장하도록 구성되는 저장 장치를 포함한다. 메모리 시스템(1000)이 반도체 드라이브(SSD)로 이용되는 경우, 메모리 시스템(1000)에 연결된 호스트 장치(200)의 동작 속도는 개선될 수 있다.
다른 예로서, 메모리 시스템(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 장치, 또는 컴퓨팅 시스템을 구성하는 다양한 구성 요소들 중 하나 등과 같은 전자 장치의 다양한 구성 요소들 중 하나로 제공된다.
예시적인 실시 예로서, 반도체 메모리 장치(100) 또는 메모리 시스템(1000)은 다양한 형태들의 패키지로 실장될 수 있다. 예를 들면, 반도체 메모리 장치(100) 또는 메모리 시스템(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(SOIC), Shrink Small Outline Package(SSOP), Thin Small Outline(TSOP), Thin Quad Flatpack(TQFP), System In Package(SIP), Multi Chip Package(MCP), Wafer-level Fabricated Package(WFP), Wafer-Level Processed Stack Package(WSP) 등과 같은 방식으로 패키지화되어 실장될 수 있다.
도 2는 도 1에 도시된 반도체 메모리 장치를 설명하기 위한 블록도이다.
도 2를 참조하면, 본 발명의 실시예에 따른 반도체 메모리 장치는 제1 내지 제m 메모리 블록들(MB1~MBm)을 포함하는 메모리 셀 어레이(110), 메모리 블록들(MB1~MBm)의 선택된 페이지에 포함된 메모리 셀들의 프로그램 동작 및 리드 동작을 수행하도록 구성된 주변회로(PERI)를 포함한다. 주변회로(PERI)는 제어 회로(120), 전압 공급 회로(130), 페이지 버퍼 그룹(140), 컬럼 디코더(150) 및 입출력 회로(160)를 포함한다.
메모리 셀 어레이(110)에 포함된 제1 내지 제m 메모리 블록들(MB1~MBm) 중 일부 메모리 블록들은 OS 저장 영역(111)으로 정의될 수 있다. OS 저장 영역(111)은 적어도 하나 이상의 메모리 블록을 포함하도록 구성될 수 있으며, 본 발명의 실시 예에서는 설명의 편의를 위해 제1 메모리 블록(MB1) 내지 제3 메모리 블록(MB3)이 포함되는 것으로 도시 및 설명한다. OS 저장 영역(111)에 포함된 제1 내지 제3 메모리 블록(MB1 내지 MB3)은 프리 코딩 모드 시 도 1의 호스트 장치(200)로부터 입력된 OS 데이터(OS_DATA)를 컨트롤러(1100)의 제어에 따라 저장할 수 있다. OS 저장 영역(111)에 포함된 제1 내지 제3 메모리 블록(MB1 내지 MB3)은 SLC 방식으로 프로그램 및 리드되는 메모리 블록으로 정의될 수 있다. 이로 인하여 제1 내지 제3 메모리 블록(MB1 내지 MB3)에 저장되는 OS 데이터(OS_DATA)의 신뢰도를 확보하고 OS 저장 영역(111)의 데이터 프로그램 동작을 빠르게 수행할 수 있다.
메모리 셀 어레이(110)에 포함된 제1 내지 제m 메모리 블록들(MB1~MBm) 중 OS 저장 영역(111)을 제외한 나머지 메모리 블록들(MB4~MBm)은 노멀 메모리 블록들로 정의될 수 있다. 노멀 메모리 블록들(MB4~MBm)은 노멀 쓰기 동작시 호스트 장치(200)로부터 입력된 노멀 데이터(NM_DATA)를 컨트롤러(1100)의 제어에 따라 저장할 수 있다.
제어 회로(120)는 외부로부터 입출력 회로(160)를 통해 입력되는 커맨드(CMD)에 응답하여 프로그램 동작 또는 리드 동작을 수행하기 위해 필요한 전압을 생성하기 위한 전압 제어 신호(VCON)를 출력하고, 동작의 종류에 따라 페이지 버퍼 그룹(140)에 포함된 페이지 버퍼들(PB1~PBk)을 제어하기 위한 PB 제어 신호(PBCON)를 출력한다. 또한, 제어 회로(120)는 입출력 회로(160)를 통해 외부로부터 입력되는 어드레스 신호(ADD)에 응답하여 로우 어드레스 신호(RADD)와 컬럼 어드레스 신호(CADD)를 출력한다.
전압 공급 회로(130)는 제어 회로(120)의 전압 제어 신호(VCON)에 응답하여 메모리 셀들의 프로그램 동작, 리드 동작 및 소거 동작에 필요한 동작 전압들을 선택된 메모리 블록의 드레인 셀렉트 라인, 워드라인들(WLs) 및 소스 셀렉트 라인을 포함하는 로컬 라인들로 공급한다. 이러한 전압 공급 회로(130)는 전압 생성 회로 및 로우 디코더를 포함한다.
전압 생성 회로는 제어 회로(120)의 전압 제어 신호(VCON)에 응답하여 메모리 셀들의 프로그램 동작, 리드 동작, 또는 소거 동작에 필요한 동작 전압들을 글로벌 라인들로 출력한다.
로우 디코더는 제어 회로(120)의 로우 어드레스 신호들(RADD)에 응답하여, 전압 생성 회로에서 글로벌 라인들로 출력된 동작 전압들이 메모리 셀 어레이(110)에서 선택된 메모리 블록의 로컬 라인들로 전달될 수 있도록 글로벌 라인들과 로컬 라인들을 연결한다.
페이지 버퍼 그룹(140)은 비트라인들(BL1~BLk)을 통해 메모리 셀 어레이(110)와 연결되는 다수의 페이지 버퍼들(PB1~PBk)을 각각 포함한다. 페이지 버퍼 그룹(140)의 페이지 버퍼들(PB1~PBk)은 제어 회로(120)의 PB 제어 신호(PBCON)에 응답하여 메모리 셀들에 데이터(OS_DATA 또는 NM_DATA)를 저장하기 위하여 입력되는 데이터(OS_DATA 또는 NM_DATA)에 따라 비트라인들(BL1~BLk)을 선택적으로 프리차지하거나, 메모리 셀들로부터 데이터(OS_DATA 또는 NM_DATA)를 독출하기 위하여 비트라인들(BL1~BLk)의 전압을 센싱한다.
컬럼 디코더(150)는 제어 회로(120)에서 출력된 컬럼 어드레스 신호(CADD)에 응답하여 페이지 버퍼 그룹(140)에 포함된 페이지 버퍼들(PB1~PBk)을 선택한다. 즉, 컬럼 디코더(150)는 메모리 셀들에 저장될 데이터(OS_DATA 또는 NM_DATA)를 컬럼 어드레스 신호(CADD)에 응답하여 순차적으로 페이지 버퍼들(PB1~PBk)로 전달한다. 또한, 리드 동작에 의해 페이지 버퍼들(PB1~PBk)에 래치된 메모리 셀들의 데이터(OS_DATA 또는 NM_DATA)가 외부로 출력될 수 있도록 컬럼 어드레스 신호(CADD)에 응답하여 순차적으로 페이지 버퍼들(PB1~PBk)을 선택한다.
입출력 회로(160)는 프로그램 동작 시 메모리 셀들에 저장하기 위해 도 1의 호스트 장치(200) 및 컨트롤러(1100)로부터 입력된 데이터(OS_DATA 또는 NM_DATA)를 페이지 버퍼 그룹(140)으로 입력하기 위하여 제어 회로(120)의 제어에 따라 데이터(OS_DATA 또는 NM_DATA)를 컬럼 디코더(150)에 전달한다. 컬럼 디코더(150)는 입출력 회로(160)로부터 전달된 데이터(OS_DATA 또는 NM_DATA)를 페이지 버퍼 그룹(140)의 페이지 버퍼들(PB1~PBk)로 전달하면 페이지 버퍼들(PB1~PBk)은 입력된 데이터(OS_DATA 또는 NM_DATA)를 내부의 래치 회로에 저장한다. 또한, 리드 동작 시 입출력 회로(160)는 페이지 버퍼 그룹(140)의 페이지 버퍼들(PB1~PBk)로부터 컬럼 디코더(150)를 통해 전달된 데이터(OS_DATA 또는 NM_DATA)를 외부로 출력한다.
도 3은 도 2의 메모리 셀 어레이(110)의 일 실시 예를 보여주는 블록도이다.
도 3을 참조하면, 메모리 셀 어레이(110)는 복수의 메모리 블록들(BLK1~BLKz)을 포함한다. 각 메모리 블록은 3차원 구조를 갖는다. 각 메모리 블록은 기판 위에 적층된 복수의 메모리 셀들을 포함한다. 이러한 복수의 메모리 셀들은 +X 방향, +Y 방향 및 +Z 방향을 따라 배열된다. 각 메모리 블록의 구조는 도 4를 참조하여 더 상세히 설명된다.
도 4는 도 3에 도시된 메모리 블록을 설명하기 위한 회로도이다.
도 4를 참조하면, 각 메모리 블록은 비트라인들(BL1~BLk)과 공통 소스 라인(CSL) 사이에 연결된 다수의 스트링들(ST1~STk)을 포함한다. 즉, 스트링들(ST1~STk)은 대응하는 비트 라인들(BL1~BLk)과 각각 연결되고 공통 소스 라인(CSL)과 공통으로 연결된다. 각각의 스트링(ST1)은 소스가 공통 소스 라인(CSL)에 연결되는 소스 셀렉트 트랜지스터(SST), 복수의 메모리 셀들(C01~Cn1), 그리고 드레인이 비트라인(BL1)에 연결되는 드레인 셀렉트 트랜지스터(DST)를 포함한다. 메모리 셀들(C01~Cn1)은 셀렉트 트랜지스터들(SST, DST) 사이에 직렬로 연결된다. 소스 셀렉트 트랜지스터(SST)의 게이트는 소스 셀렉트 라인(SSL)에 연결되고, 메모리 셀들(C01~Cn1)의 게이트들은 워드라인들(WL0~WLn)에 각각 연결되며, 드레인 셀렉트 트랜지스터(DST)의 게이트는 드레인 셀렉트 라인(DSL)에 연결된다.
메모리 블록에 포함된 메모리 셀들은 물리적 페이지 단위 또는 논리적 페이지 단위로 구분할 수 있다. 예를 들어, 하나의 워드라인(예, WL0)에 연결된 메모리 셀들(C01~C0k)이 하나의 물리적 페이지(PAGE0)를 구성한다. 이러한 페이지는 프로그램 동작 또는 리드 동작의 기본 단위가 된다.
도 5 및 도 6은 본 발명의 실시 예에 따른 메모리 시스템의 동작 방법을 설명하기 위한 순서도이다.
도 1 내지 도 6을 참조하여, 본 발명의 실시 예에 따른 메모리 시스템의 동작 방법을 설명하면 다음과 같다.
메모리 시스템(1000)에 파워가 공급, 즉 파워 온(power on)이 이루어지면(S510), 컨트롤러(1100)는 부팅 동작을 수행하여 동작 준비 상태가 된다.
컨트롤러(1100)는 초기 세팅시 OS를 저장하는 프리 코딩 모드가 활성화된다(S520).
메모리 시스템(1000)과 연결된 호스트 장치(200)는 호스트 인터페이스 모드 변경을 위한 커맨드를 메모리 시스템(1000)의 컨트롤러(1100)로 출력한다. 예를 들어 호스트 장치(200)가 OS를 저장시키기 위한 롬 라이터일 경우 호스트 인터페이스 모드를 하이 스피드 모드로 변경시키기 위한 호스트 인터페이스 변환 커맨드를 컨트롤러(1100)로 출력하고, 호스트 장치(200)가 OS를 저장시키기 위한 롬 라이터(Rom Writter)일 경우 호스트 인터페이스 모드를 하이 스피드 모드로 변경시키기 위한 호스트 인터페이스 변환 커맨드를 컨트롤러(1100)로 출력하고, 호스트 장치(200)가 어플리케이션 프로세서(AP)일 경우 호스트 인터페이스 모드를 HS 200 모드 또는 HS 400 모드로 변경시키기 위한 호스트 인터페이스 변환 커맨드를 컨트롤러(1100)로 출력한다.
컨트롤러(1100)는 호스트 장치(200)로부터 입력받은 호스트 인터페이스 변환 커맨드에 응답하여 호스트 인터페이스 모드를 판단하여 변경한다(S530).
또한 컨트롤러(1100)는 입력받은 호스트 인터페이스 변환 커맨드가 설정된 호스트 인터페이스 모드인지 판단한다(S540). 예를 들어 설정된 호스트 인터페이스 모드가 프리 코딩 모드 동작을 위한 하이 스피드 모드일 경우, 입력받은 호스트 인터페이스 변환 커맨드가 하이 스피드 모드에 대응하는 커맨드인지 또는 노멀 쓰기 동작을 위한 호스트 인터페이스 모드(예를 들어 HS 200 모드 또는 HS 400 모드)인지 판단한다.
상술한 판단 단계(S540)의 결과, 입력받은 호스트 인터페이스 변환 커맨드가 설정된 호스트 인터페이스 모드(예를 들어 프리 코딩 모드 동작을 위한 하이 스피드 모드)에 대응할 경우(예), 초기 세팅시 활성화된 프리 코딩 모드를 유지시킨다(S550).
반면, 상술한 판단 단계(S540)의 결과 입력받은 호스트 인터페이스 변환 커맨드가 설정된 호스트 인터페이스 모드(하이 스피드 모드)가 아닌 다른 호스트 인터페이스 모드(예를 들어 HS 200 모드 또는 HS 400 모드)에 대응할 경우(아니오), 초기 세팅시 활성화된 프리 코딩 모드를 비활성화시킨다(S560).
이 후, 단계 S610으로 진입한다.
상술한 바와 같이 본원 발명의 실시 예에 따르면, 메모리 시스템(1000)은 초기 세팅시 프리 코딩 모드를 활성화시킨 후, 호스트 장치(200)에서 입력되는 호스트 인터페이스 모드 변환 커맨드에 따라 호스트 인터페이스 모드를 변경함과 동시에 호스트 인터페이스 모드에 따라 활성화된 프리 코딩 모드를 유지시키거나 비활성화시킬 수 있다. 즉, 호스트 인터페이스 모드 변환 커맨드에 따라 호스트 장치(200)가 롬 라이터(Rom Writter)인지 또는 어플리케이션 프로세서(AP)인지를 즉각적으로 판단하여 메모리 시스템(1000)의 동작 모드를 설정할 수 있다.
호스트 인터페이스 모드 변환 커맨드에 따라 메모리 시스템(1000)의 동작 모드를 프리 코딩 모드를 활성화 또는 비활성화시킨 이 후, 단계 S610에서 다음 단계로 진입한다.
호스트 장치(200)로부터 데이터가 입력되면(S620), 컨트롤러(1100)는 데이터를 램(1110)에 임시 저장하고, 컨트롤러(1100)의 프로세싱 유닛(1120)은 프리 코딩 모드의 활성화 또는 비활성화 상태에 따라 프리 코딩 모드인지 또는 노멀 쓰기 모드인지를 판단한다(S630). 프리 코딩 모드가 활성화 상태일 경우 램(1110)에 저장된 데이터를 OS 데이터(OS_DATA)로 판단하고, 프리 코딩 모드가 비활성화 상태일 경우 램(1110)에 저장된 데이터를 노멀 데이터(NM_DATA)로 판단한다.
프리 코딩 모드가 비활성화 상태이며, 이에 따라 노멀 쓰기 모드로 판단될 경우(S630의 아니오), 컨트롤러(1100)는 램(1110)에 임시 저장된 노멀 데이터(NM_DATA)를 반도체 메모리 장치(100)로 전송하고, 전송된 노멀 데이터(NM_DATA)가 반도체 메모리 장치(100)의 노멀 메모리 블록들(MB4 내지 MBm)에 저장되도록 반도체 메모리 장치(100)를 제어한다(S640).
프리 코딩 모드가 활성화 상태이며, 이에 따라 프리 코딩 모드로 판단될 경우(S630의 예), 컨트롤러(1100)는 반도체 메모리 장치(100)의 OS 저장 영역(111)의 빈 공간인 프리 블록(free block)의 수가 설정 수 이하로 판단되어 가비지 컬렉션(Garbage Collection) 동작 등을 요구하는 긴급 상태인지 또는 OS 저장 영역(111)의 최대치까지 프로그램된 상태인지를 판단한다(S650).
상술한 판단 단계(S650)에서 반도체 메모리 장치(100)의 OS 저장 영역(111)이 가비지 컬렉션(Garbage Collection) 동작을 요구하는 긴급 상태이거나 OS 저장 영역(111)의 최대치까지 프로그램된 상태라고 판단될 경우(예), 램(1110)에 임시 저장된 OS 데이터(OS_DATA)를 OS 저장 영역(111)에 프로그램할 수 없다고 판단하고, OS 데이터(OS_DATA)를 노멀 쓰기 동작과 반도체 메모리 장치(100)의 노멀 메모리 블록들(MB4 내지 MBm)에 저장되도록 반도체 메모리 장치(100)를 제어한다(S640).
상술한 판단 단계(S650)에서 반도체 메모리 장치(100)의 OS 저장 영역(111)이 긴급 상태가 아니고, OS 저장 영역(111)의 최대치까지 프로그램된 상태가 아니라고 판단될 경우(아니오), 램(1110)에 임시 저장된 OS 데이터(OS_DATA)를 OS 저장 영역(111)에 프로그램한다(S660).
도 7은 도 1의 메모리 시스템의 응용 예를 보여주는 블록도이다.
도 7을 참조하면, 메모리 시스템(2000)은 반도체 메모리 장치(2100) 및 컨트롤러(2200)를 포함한다. 반도체 메모리 장치(2100)는 복수의 반도체 메모리 칩들을 포함한다. 복수의 반도체 메모리 칩들은 복수의 그룹들로 분할된다.
도 7에서, 복수의 그룹들은 각각 제 1 내지 제 k 채널들(CH1~CHk)을 통해 컨트롤러(2200)와 통신하는 것으로 도시되어 있다. 각 반도체 메모리 칩은 도 2를 참조하여 설명된 반도체 메모리 장치(100) 중 하나와 마찬가지로 구성되고, 동작할 것이다.
각 그룹은 하나의 공통 채널을 통해 컨트롤러(2200)와 통신하도록 구성된다. 컨트롤러(2200)는 도 1을 참조하여 설명된 컨트롤러(1100)와 마찬가지로 구성되고, 복수의 채널들(CH1~CHk)을 통해 반도체 메모리 장치(2100)의 복수의 메모리 칩들을 제어하도록 구성된다.
도 8은 도 7를 참조하여 설명된 메모리 시스템을 포함하는 컴퓨팅 시스템을 보여주는 블록도이다.
도 8을 참조하면, 컴퓨팅 시스템(3000)은 중앙 처리 장치(3100), 램(3200, RAM, Random Access Memory), 사용자 인터페이스(3300), 전원(3400), 시스템 버스(3500), 그리고 메모리 시스템(2000)을 포함한다.
메모리 시스템(2000)은 시스템 버스(3500)를 통해, 중앙처리장치(3100), 램(3200), 사용자 인터페이스(3300), 그리고 전원(3400)에 전기적으로 연결된다. 사용자 인터페이스(3300)를 통해 제공되거나, 중앙 처리 장치(3100)에 의해서 처리된 데이터는 메모리 시스템(2000)에 저장된다.
도 8에서, 반도체 메모리 장치(2100)는 컨트롤러(2200)를 통해 시스템 버스(3500)에 연결되는 것으로 도시되어 있다. 그러나, 반도체 메모리 장치(2100)는 시스템 버스(3500)에 직접 연결되도록 구성될 수 있다. 이때, 컨트롤러(2200)의 기능은 중앙 처리 장치(3100) 및 램(3200)에 의해 수행될 것이다.
도 8에서, 도 7을 참조하여 설명된 메모리 시스템(2000)이 제공되는 것으로 도시되어 있다. 그러나, 메모리 시스템(2000)은 도 1을 참조하여 설명된 메모리 시스템(1000)으로 대체될 수 있다. 예시적인 실시 예로서, 컴퓨팅 시스템(3000)은 도 1 및 도 7을 참조하여 설명된 메모리 시스템들(1000, 2000)을 모두 포함하도록 구성될 수 있다.
본 발명의 상세한 설명에서는 구체적인 실시 예에 관하여 설명하였으나, 본 발명의 범위와 기술적 사상에서 벗어나지 않는 한도 내에서 다양한 변경이 가능하다. 그러므로 본 발명의 범위는 상술한 실시 예에 국한되어 정해져서는 안되며 후술하는 특허청구범위뿐만 아니라 이 발명의 특허청구범위와 균등한 것들에 의해 정해져야 한다.
1000 : 메모리 시스템
1100 : 컨트롤러
1110 : 램
1120 : 프로세싱 유닛
1130 : 호스트 인터페이스
1140 : 메모리 인터페이스
1150 : 에러 정정 블록
100 : 반도체 메모리 장치
110 : 메모리 셀 어레이
111 : OS 저장 영역
120 : 제어 회로
130 : 전압 공급 회로
140 : 페이지 버퍼 그룹
150 : 컬럼 디코더
160 : 입출력 회로
1100 : 컨트롤러
1110 : 램
1120 : 프로세싱 유닛
1130 : 호스트 인터페이스
1140 : 메모리 인터페이스
1150 : 에러 정정 블록
100 : 반도체 메모리 장치
110 : 메모리 셀 어레이
111 : OS 저장 영역
120 : 제어 회로
130 : 전압 공급 회로
140 : 페이지 버퍼 그룹
150 : 컬럼 디코더
160 : 입출력 회로
Claims (20)
- 호스트 장치로부터 입력되는 호스트 인터페이스 변환 커맨드에 응답하여 호스트 인터페이스 모드를 설정하고, 상기 호스트 인터페이스 모드에 응답하여 프리 코딩 모드 또는 노멀 쓰기 모드를 선택하는 컨트롤러; 및
상기 컨트롤러의 제어에 따라 상기 프리 코딩 모드 시 상기 호스트 장치로부터 입력되는 OS(operating system) 데이터를 OS 저장 영역에 저장하는 반도체 메모리 장치를 포함하고,
상기 컨트롤러는 파워 온에 응답하여 상기 프리 코딩 모드를 활성화시키고, 상기 호스트 인터페이스 변환 커맨드에 대응되는 상기 호스트 인터페이스 모드가 하이 스피드 모드이면 상기 프리 코딩 모드를 활성화 상태로 유지하는 메모리 시스템.
- ◈청구항 2은(는) 설정등록료 납부시 포기되었습니다.◈제 1 항에 있어서,
상기 호스트 장치는 롬 라이터 또는 어플리케이션 프로세서인 메모리 시스템.
- ◈청구항 3은(는) 설정등록료 납부시 포기되었습니다.◈제 2 항에 있어서,
상기 컨트롤러는 상기 호스트 인터페이스 변환 커맨드에 따라 상기 호스트 장치가 상기 롬 라이터인지 또는 상기 어플리케이션 프로세서인지 판단하여 상기 프리 코딩 모드 또는 상기 노멀 쓰기 모드로 동작하는 메모리 시스템.
- ◈청구항 4은(는) 설정등록료 납부시 포기되었습니다.◈제 2 항에 있어서,
상기 롬 라이터는 상기 하이 스피드 모드에 대응하는 상기 호스트 인터페이스 변환 커맨드를 상기 컨트롤러로 출력하고,
상기 어플리케이션 프로세서는 HS 200 또는 HS 400에 대응하는 상기 호스트 인터페이스 변환 커맨드를 상기 컨트롤러로 출력하는 메모리 시스템.
- 삭제
- 삭제
- ◈청구항 7은(는) 설정등록료 납부시 포기되었습니다.◈제 1 항에 있어서,
상기 컨트롤러는 상기 호스트 인터페이스 변환 커맨드가 HS 200 모드 또는 HS 400 모드에 대응할 경우 상기 프리 코딩 모드의 상태를 비활성화시키는 메모리 시스템.
- ◈청구항 8은(는) 설정등록료 납부시 포기되었습니다.◈제 1 항에 있어서,
상기 컨트롤러는 상기 호스트 인터페이스 변환 커맨드에 대응하는 상기 호스트 인터페이스 모드가 설정 데이터 전송 속도보다 느린 전송 속도를 갖는 제1 호스트 인터페이스 모드일 경우 상기 프리 코딩 모드의 상태를 활성화 상태로 유지시키고,
상기 호스트 인터페이스 변환 커맨드에 대응하는 상기 호스트 인터페이스 모드가 상기 설정 데이터 전송 속도보다 빠른 전송 속도를 갖는 제2 호스트 인터페이스 모드일 경우 상기 프리 코딩 모드의 상태를 비활성화시키는 메모리 시스템.
- ◈청구항 9은(는) 설정등록료 납부시 포기되었습니다.◈제 8 항에 있어서,
상기 컨트롤러는 상기 호스트 인터페이스 변환 커맨드가 상기 제1 호스트 인터페이스 모드에 대응할 경우 상기 프리 코딩 모드로 동작하고, 상기 호스트 인터페이스 변환 커맨드가 상기 제2 호스트 인터페이스 모드에 대응할 경우 상기 노멀 쓰기 모드로 동작하는 메모리 시스템.
- ◈청구항 10은(는) 설정등록료 납부시 포기되었습니다.◈제 9 항에 있어서,
상기 반도체 메모리 장치는 데이터를 저장할 수 있는 상기 OS 저장 영역 및 복수의 노멀 메모리 블록들을 포함하며,
상기 노멀 쓰기 모드 시 상기 호스트 장치로부터 입력된 노멀 데이터를 상기 복수의 노멀 메모리 블록들에 저장하는 메모리 시스템.
- ◈청구항 11은(는) 설정등록료 납부시 포기되었습니다.◈제 10 항에 있어서,
상기 컨트롤러는 상기 프리 코딩 모드 시 상기 OS 저장 영역의 빈 공간이 부족할 경우, 상기 OS 데이터를 상기 복수의 노멀 메모리 블록들에 저장하는 메모리 시스템.
- ◈청구항 12은(는) 설정등록료 납부시 포기되었습니다.◈제 10 항에 있어서,
상기 OS 저장 영역에 포함된 메모리 블록들은 SLC(Single Level Cell) 방식으로 프로그램 및 리드되는 메모리 블록이며,
상기 복수의 노멀 메모리 블록들은 MLC(Multi Level Cell), TLC(Triple Level Cell), 또는 QLC(Quad Level Cell) 방식으로 프로그램 및 리드되는 메모리 블록인 메모리 시스템.
- 호스트 장치로부터 입력되는 호스트 인터페이스 변환 커맨드에 응답하여 호스트 인터페이스 모드를 선택하는 단계;
선택된 호스트 인터페이스 모드에 응답하여 프리 코딩 모드 또는 노멀 쓰기 모드를 선택하는 단계; 및
상기 호스트 장치로부터 입력되는 데이터를 상기 프리 코딩 모드 또는 상기 노멀 쓰기 모드로 반도체 메모리 장치에 저장하는 단계를 포함하고,
상기 반도체 메모리 장치는 복수의 메모리 블록들을 포함하고,
상기 복수의 메모리 블록들은,
상기 프리 코딩 모드시 OS(operating system) 데이터를 저장하는 OS 저장 영역 및 상기 노멀 쓰기 모드시 노멀 데이터를 저장하는 노멀 영역을 포함하고,
상기 프리 코딩 모드시 상기 OS 저장 영역에 포함된 메모리 블록의 수가 부족하면 상기 OS 데이터를 상기 노멀 영역에 저장하는 메모리 시스템의 동작 방법.
- ◈청구항 14은(는) 설정등록료 납부시 포기되었습니다.◈제 13 항에 있어서,
상기 호스트 장치는 상기 OS 데이터를 상기 반도체 메모리 장치에 프로그램하기 위한 롬 라이터 또는 상기 반도체 메모리 장치에 상기 노멀 데이터를 저장하거나 읽기 위한 어플리케이션 프로세서인 메모리 시스템의 동작 방법.
- ◈청구항 15은(는) 설정등록료 납부시 포기되었습니다.◈제 14 항에 있어서,
상기 호스트 장치가 상기 롬 라이터일 경우 상기 프리 코딩 모드에서 상기 OS 데이터를 상기 반도체 메모리 장치에 저장하고,
상기 호스트 장치가 상기 어플리케이션 프로세서일 경우 상기 노멀 쓰기 모드에서 상기 노멀 데이터를 상기 반도체 메모리 장치에 저장하는 메모리 시스템의 동작 방법.
- ◈청구항 16은(는) 설정등록료 납부시 포기되었습니다.◈제 13 항에 있어서,
상기 프리 코딩 모드 또는 상기 노멀 쓰기 모드를 선택하는 단계는 상기 호스트 인터페이스 변환 커맨드에 대응하는 상기 호스트 인터페이스 모드가 설정 데이터 전송 속도보다 느린 제1 호스트 인터페이스 모드일 경우 상기 프리 코딩 모드를 선택하고,
상기 호스트 인터페이스 변환 커맨드에 대응하는 상기 호스트 인터페이스 모드가 상기 설정 데이터 전송 속도와 같거나 빠른 제2 호스트 인터페이스 모드일 경우 상기 노멀 쓰기 모드를 선택하는 메모리 시스템의 동작 방법.
- 삭제
- 삭제
- ◈청구항 19은(는) 설정등록료 납부시 포기되었습니다.◈제 13 항에 있어서,
상기 OS 저장 영역에 포함되는 메모리 블록들은 SLC(Single Level Cell) 방식으로 프로그램 및 리드되는 메모리 블록인 메모리 시스템의 동작 방법.
- ◈청구항 20은(는) 설정등록료 납부시 포기되었습니다.◈제 13 항에 있어서,
상기 노멀 영역에 포함된 노멀 메모리 블록들은 MLC(Multi Level Cell), TLC(Triple Level Cell), 또는 QLC(Quad Level Cell) 방식으로 프로그램 및 리드되는 메모리 블록인 메모리 시스템의 동작 방법.
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020170174488A KR102535243B1 (ko) | 2017-12-18 | 2017-12-18 | 메모리 시스템 및 그것의 동작 방법 |
US16/031,627 US10705746B2 (en) | 2017-12-18 | 2018-07-10 | Memory system and operating method thereof |
CN201811437252.5A CN110045917B (zh) | 2017-12-18 | 2018-11-28 | 存储器***及其操作方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020170174488A KR102535243B1 (ko) | 2017-12-18 | 2017-12-18 | 메모리 시스템 및 그것의 동작 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20190073136A KR20190073136A (ko) | 2019-06-26 |
KR102535243B1 true KR102535243B1 (ko) | 2023-05-23 |
Family
ID=66815109
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020170174488A KR102535243B1 (ko) | 2017-12-18 | 2017-12-18 | 메모리 시스템 및 그것의 동작 방법 |
Country Status (3)
Country | Link |
---|---|
US (1) | US10705746B2 (ko) |
KR (1) | KR102535243B1 (ko) |
CN (1) | CN110045917B (ko) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11704234B2 (en) * | 2020-04-28 | 2023-07-18 | Silicon Motion, Inc. | Method for accessing flash memory module and associated package |
CN111610937A (zh) * | 2020-05-26 | 2020-09-01 | 群联电子股份有限公司 | 数据写入方法、存储器存储装置及存储器控制电路单元 |
US11442665B2 (en) * | 2020-12-04 | 2022-09-13 | Western Digital Technologies, Inc. | Storage system and method for dynamic selection of a host interface |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7704147B2 (en) * | 1999-10-06 | 2010-04-27 | Igt | Download procedures for peripheral devices |
JP4124990B2 (ja) * | 2000-11-07 | 2008-07-23 | キヤノン株式会社 | 撮像装置及び撮像装置の制御方法 |
KR100399603B1 (ko) | 2001-10-30 | 2003-09-29 | 한국전자통신연구원 | 스마트 카드와 이의 os 프로그램 저장/삭제 및 실행방법 |
KR100448905B1 (ko) * | 2002-07-29 | 2004-09-16 | 삼성전자주식회사 | 낸드플래쉬메모리를 시스템구동 및 저장용으로 사용하는장치 |
EP1726097A4 (en) * | 2004-03-02 | 2007-09-05 | Spartak Buniatyan | TRANSPORTABLE UNIVERSAL MEMORY |
TW200636471A (en) * | 2005-04-01 | 2006-10-16 | Mediatek Inc | Method of parallel programmable memory and the system thereof |
JP2007065956A (ja) * | 2005-08-31 | 2007-03-15 | Renesas Technology Corp | メモリカード |
EP1862947A1 (fr) | 2006-06-01 | 2007-12-05 | Nagracard S.A. | Dispositif de sécurité destiné à être connecté à une unité de traitement d'un signal audio/vidéo et procédé utilisant un tel dispositif |
TWI473097B (zh) * | 2008-06-02 | 2015-02-11 | A Data Technology Co Ltd | 自動切換記憶體介面模式之快閃記憶體裝置 |
TWI494948B (zh) * | 2011-01-31 | 2015-08-01 | Phison Electronics Corp | 用於非揮發性記憶體的資料寫入方法、控制器與儲存裝置 |
KR101977664B1 (ko) * | 2012-09-14 | 2019-05-13 | 삼성전자주식회사 | 임베디드 멀티미디어 카드와 이를 제어하는 호스트 |
US9471484B2 (en) * | 2012-09-19 | 2016-10-18 | Novachips Canada Inc. | Flash memory controller having dual mode pin-out |
CN103870209B (zh) * | 2012-12-18 | 2016-12-28 | 群联电子股份有限公司 | 工作模式切换方法、存储器控制器与存储器储存装置 |
KR20140142759A (ko) * | 2013-05-31 | 2014-12-15 | 에스케이하이닉스 주식회사 | 비휘발성 메모리 장치 및 그의 동작방법과 비휘발성 메모리 장치를 포함하는 시스템 |
KR102145420B1 (ko) * | 2013-07-25 | 2020-08-18 | 삼성전자주식회사 | 데이터 전송 속도를 변경하는 스토리지 시스템 및 그것의 데이터 전송 속도 변경 방법 |
KR20170011645A (ko) * | 2015-07-23 | 2017-02-02 | 에스케이하이닉스 주식회사 | 반도체 메모리 장치를 포함하는 메모리 시스템 및 그것의 동작 방법 |
KR102456118B1 (ko) * | 2016-02-24 | 2022-10-19 | 에스케이하이닉스 주식회사 | 데이터 저장 장치 및 그것의 동작 방법 |
KR20170110448A (ko) * | 2016-03-23 | 2017-10-11 | 삼성전자주식회사 | 메모리 컨트롤러 및 이를 포함하는 저장 장치 |
KR102430983B1 (ko) * | 2017-09-22 | 2022-08-09 | 삼성전자주식회사 | 스토리지 장치 및 그 동작 방법 |
-
2017
- 2017-12-18 KR KR1020170174488A patent/KR102535243B1/ko active IP Right Grant
-
2018
- 2018-07-10 US US16/031,627 patent/US10705746B2/en active Active
- 2018-11-28 CN CN201811437252.5A patent/CN110045917B/zh active Active
Non-Patent Citations (5)
Title |
---|
Secure In-Field Firmware Updates for MSP MCUs, (2015.11.30.) 1부.* |
미국공개특허 제2009-0300273호(2009.12.03.) 1부.* |
미국공개특허 제2012-0198131호(2012.08.02.) 1부.* |
한국공개특허 제10-2014-0035766호(2014.03.24.) 1부.* |
한국공개특허 제10-2017-0110448호(2017.10.11.) 1부.* |
Also Published As
Publication number | Publication date |
---|---|
US10705746B2 (en) | 2020-07-07 |
CN110045917B (zh) | 2022-06-10 |
KR20190073136A (ko) | 2019-06-26 |
CN110045917A (zh) | 2019-07-23 |
US20190187923A1 (en) | 2019-06-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10437518B2 (en) | Memory system and method of operating the same | |
KR102503177B1 (ko) | 메모리 시스템 및 그것의 동작 방법 | |
KR102485411B1 (ko) | 메모리 시스템 및 그것의 동작 방법 | |
CN110047549B (zh) | 存储器***及其操作方法 | |
US11468921B2 (en) | Memory system capable of improving stability of a data read operation of interface circuit, and method of operating the memory system | |
US11269551B2 (en) | Semiconductor memory device and method of operating the same | |
KR20190092941A (ko) | 메모리 장치, 이를 포함하는 메모리 시스템 및 메모리 시스템의 동작 방법 | |
KR102535243B1 (ko) | 메모리 시스템 및 그것의 동작 방법 | |
KR20190123984A (ko) | 메모리 시스템 및 그것의 동작 방법 | |
US11056177B2 (en) | Controller, memory system including the same, and method of operating the memory system | |
US20200160918A1 (en) | Memory system and method of operating the same | |
KR102409798B1 (ko) | 메모리 시스템 및 그것의 동작 방법 | |
US20190155700A1 (en) | Memory system and method of operating the same | |
KR102676336B1 (ko) | 메모리 시스템 및 그것의 동작 방법 | |
KR102627873B1 (ko) | 메모리 장치, 이를 포함하는 메모리 시스템 및 그것의 동작 방법 | |
KR102461751B1 (ko) | 메모리 장치 및 이의 동작 방법 | |
US11295830B2 (en) | Memory system and operating method of the memory system | |
US11694740B2 (en) | Memory device, memory system including memory device, and method of operating memory device | |
CN111681699B (zh) | 存储器装置及操作存储器装置的方法 | |
KR20240002633A (ko) | 메모리 장치 및 이의 동작 방법 | |
KR20240085237A (ko) | 메모리 장치, 이를 포함하는 메모리 시스템 및 그것의 동작 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E90F | Notification of reason for final refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |