KR20140146275A - 불휘발성 메모리 장치를 제어하는 메모리 컨트롤러의 동작 방법 및 불휘발성 메모리 시스템 - Google Patents
불휘발성 메모리 장치를 제어하는 메모리 컨트롤러의 동작 방법 및 불휘발성 메모리 시스템 Download PDFInfo
- Publication number
- KR20140146275A KR20140146275A KR1020130068499A KR20130068499A KR20140146275A KR 20140146275 A KR20140146275 A KR 20140146275A KR 1020130068499 A KR1020130068499 A KR 1020130068499A KR 20130068499 A KR20130068499 A KR 20130068499A KR 20140146275 A KR20140146275 A KR 20140146275A
- Authority
- KR
- South Korea
- Prior art keywords
- data
- error
- read data
- memory controller
- host
- Prior art date
Links
Images
Classifications
-
- 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
-
- 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
- G06F11/1008—Adding 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/1012—Adding 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 codes or arrangements adapted for a specific type of error
-
- 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
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C29/38—Response verification devices
- G11C29/42—Response verification devices using error correcting codes [ECC] or parity check
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
본 발명의 실시 예에 따른 불휘발성 메모리 장치를 제어하는 메모리 컨트롤러의 동작 방법은 불휘발성 메모리 장치로부터 읽기 데이터를 수신하는 단계; 수신된 읽기 데이터의 오류를 검출하고 정정하는 제 1 오류 정정 동작을 수행하는 단계; 제 1 오류 정정 동작을 기반으로 정정되지 않는 오류가 검출된 경우, 더미 데이터를 호스트로 전송하고, 제 1 오류 정정 동작을 기반으로 정정되지 않은 오류를 정정하는 제 2 오류 정정 동작을 수행하는 단계을 포함하고, 제 2 오류 정정 동작을 수행하는 동안 복수의 읽기 데이터 중 정정되지 않는 오류를 포함하는 읽기 데이터를 제외한 나머지 읽기 데이터를 상기 호스트로 전송한다.
Description
본 발명은 반도체 메모리 시스템에 관한 것으로 더욱 상세하게는 불휘발성 메모리 장치를 제어하는 메모리 컨트롤러의 동작 방법 및 불휘발성 메모리 시스템에 관한 것이다.
반도체 메모리 장치(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) 등이 있다.
본 발명의 목적은 UECC(Uncorrectable Error Correction Code) 데이터가 검출된 경우, 메모리 컨트롤러는 더미 데이터를 호스트로 전송함으로써 향상된 성능을 갖는 메모리 컨트롤러의 동작 방법 및 불휘발성 메모리 시스템을 제공하는 데 있다.
본 발명의 실시 예에 따른 불휘발성 메모리 장치를 제어하는 메모리 컨트롤러의 동작 방법은 상기 불휘발성 메모리 장치로부터 복수의 읽기 데이터를 수신하는 단계; 상기 수신된 복수의 읽기 데이터의 오류를 검출하고 정정하는 제 1 오류 정정 동작을 수행하는 단계; 상기 제 1 오류 정정 동작을 기반으로 정정되지 않는 오류가 검출된 경우, 상기 복수의 읽기 데이터 중 상기 정정되지 않는 오류를 포함하는 읽기 데이터 대신 더미 데이터를 호스트로 전송하는 단계; 및 상기 제 1 오류 정정 동작을 기반으로 정정되지 않은 오류를 정정하는 제 2 오류 정정 동작을 수행하는 단계을 포함하고, 상기 제 2 오류 정정 동작을 수행하는 동안 상기 복수의 읽기 데이터 중 상기 정정되지 않는 오류를 포함하는 읽기 데이터를 제외한 나머지 읽기 데이터를 상기 호스트로 전송한다.
실시 예로서, 상기 제 2 오류 정정 동작을 완료한 후 정정된 데이터를 상기 호스트로 전송하는 단계를 더 포함한다.
실시 예로서, 상기 복수의 읽기 데이터가 저장될 버퍼 유닛들을 할당하는 단계를 더 포함한다.
실시 예로서, 상기 제 1 오류 정정 동작을 기반으로 정정되지 않는 오류가 검출된 경우, 상기 더미 데이터를 상기 할당된 버퍼 유닛들 중 상기 정정되지 않는 오류를 포함하는 읽기 데이터에 대응하는 버퍼 유닛에 저장하는 단계를 포함한다.
실시 예로서, 상기 제 1 오류 정정 동작을 기반으로 정정되지 않는 오류가 검출된 경우, 상기 제 2 오류 정정 동작을 완료한 이후, 상기 정정된 데이터를 상기 더미 데이터가 저장된 버퍼 유닛에 덮어쓰기하는 단계를 더 포함한다.
실시 예로서, 상기 할당된 버퍼 유닛들의 정보를 버퍼 테이블에 저장하는 단계를 더 포함한다.
실시 예로서, 상기 할당된 버퍼 유닛들의 정보는 상기 할당된 버퍼 유닛들의 오프셋 및 사이즈 정보를 포함한다.
실시 예로서, 상기 제 1 오류 정정 동작을 기반으로 정정되지 않는 오류가 검출된 경우, 상기 버퍼 테이블에 상기 정정되지 않는 오류를 포함하는 읽기 데이터의 오류 정보를 저장하는 단계를 더 포함한다.
본 발명의 다른 실시 예에 따른 불휘발성 메모리 시스템은 불휘발성 메모리 장치; 및 상기 불휘발성 메모리 장치를 제어하는 메모리 컨트롤러를 포함하고, 상기 메모리 컨트롤러는 호스트로부터 읽기 커맨드를 수신하고, 상기 수신된 읽기 커맨드에 응답하여, 상기 불휘발성 메모리 장치에 저장된 복수의 읽기 데이터를 읽고, 제 1 오류 정정 동작을 기반으로 상기 복수의 읽기 데이터의 오류를 검출 및 정정하여 상기 호스트로 전송하고, 상기 제 1 오류 정정 동작을 기반으로 정정되지 않는 오류가 검출된 경우, 상기 메모리 컨트롤러는 상기 복수의 읽기 데이터 중 상기 정정되지 않는 오류를 포함하는 읽기 데이터를 대신하여 더미 데이터를 상기 호스트로 전송하고, 상기 정정되지 않는 오류를 정정하는 제 2 오류 정정 동작을 함께 수행하고, 상기 제 2 오류 정정 동작을 수행하는 동안 상기 정정되지 않는 오류를 포함하는 읽기 데이터를 제외한 나머지 읽기 데이터를 호스트로 전송한다.
실시 예로서, 상기 메모리 컨트롤러는 상기 제 2 오류 정정 동작을 완료한 후, 정정된 데이터를 상기 호스트로 전송한다.
본 발명에 따르면, UECC 데이터가 검출된 경우, 메모리 컨트롤러는 UECC 오류 정정 동작동안 더미 데이터를 호스트로 전송한다. 즉, 메모리 컨트롤러는 UECC 오류 정정정 동작 및 후속 읽기 데이터의 전송을 함께 수행함으로써 향상된 성능을 갖는 메모리 컨트롤러 및 불휘발성 메모리 시스템이 제공된다.
도 1은 본 발명의 실시 예에 따른 사용자 시스템을 보여주는 블록도이다.
도 2는 도 1에 도시된 메모리 컨트롤러를 상세하게 보여주는 블록도이다.
도 3은 도 1에 도시된 메모리 컨트롤러의 동작 방법을 보여주는 순서도이다.
도 4 및 도 5는 도 3에 도시된 메모리 컨트롤러의 동작 방법을 상세하게 설명하기 위한 블록도들이다.
도 6은 본 발명의 적용 예에 따른 메모리 카드 시스템을 예시적으로 보여주는 블록도이다.
도 7은 본 발명의 적용 예에 따른 사용자 시스템을 예시적으로 보여주는 블록도이다.
도 8은 본 발명의 적용 예에 따른 모바일 시스템을 예시적으로 보여주는 블록도이다.
도 2는 도 1에 도시된 메모리 컨트롤러를 상세하게 보여주는 블록도이다.
도 3은 도 1에 도시된 메모리 컨트롤러의 동작 방법을 보여주는 순서도이다.
도 4 및 도 5는 도 3에 도시된 메모리 컨트롤러의 동작 방법을 상세하게 설명하기 위한 블록도들이다.
도 6은 본 발명의 적용 예에 따른 메모리 카드 시스템을 예시적으로 보여주는 블록도이다.
도 7은 본 발명의 적용 예에 따른 사용자 시스템을 예시적으로 보여주는 블록도이다.
도 8은 본 발명의 적용 예에 따른 모바일 시스템을 예시적으로 보여주는 블록도이다.
이하에서, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있을 정도로 상세하게 설명하기 위하여 본 발명의 실시 예들을 첨부된 도면들을 참조하여 설명하기로 한다.
본 발명의 실시 예에 따른 메모리 컨트롤러는 불휘발성 메모리 장치에 저장된 데이터를 읽고, 읽은 데이터를 호스트로 전송할 수 있다. 이 때, 읽은 데이터의 UECC 오류(Uncorrectable Error Correction Code Error)가 검출된 경우, 메모리 컨트롤러는 UECC 데이터 대신 더미 데이터를 호스트로 전송하여 후속 읽기 데이터를 전송할 수 있다. 이 후, UECC 데이터의 오류 정정이 완료된 후, 메모리 컨트롤러는 정정 데이터를 호스트로 전송한다. 즉, UECC 데이터의 오류 정정 동작 및 읽기 데이터의 전송이 함께 수행되므로 향상된 성능을 갖는 메모리 컨트롤러가 제공된다.
도 1은 본 발명의 실시 예에 따른 사용자 시스템을 보여주는 블록도이다. 예시적으로, 사용자 시스템(100)은 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), DMB (Digital Multimedia Broadcasting) 재생기, 디지털 음성 녹음기(digital audio recorder), 디지털 음성 재생기(digital audio player), 디지털 영상 녹화기(digital picture recorder), 디지털 영상 재생기(digital picture player), 디지털 동영상 녹화기(digital video recorder), 디지털 동영상 재생기(digital video player) 등과 같은 컴퓨팅 시스템들 중 하나로 제공될 수 있다.
도 1을 참조하면, 사용자 시스템(100)은 호스트(110), 메모리 컨트롤러(120), 및 불휘발성 메모리 장치(130)를 포함한다. 예시적으로, 메모리 컨트롤러(120) 및 불휘발성 메모리 장치는 하나의 칩 또는 하나의 모듈로 제공될 수 있다.
호스트(110)는 메모리 컨트롤러(120)와 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) 프로토콜, MIPI (Mobile Industry Processor Interface) 프로토콜 등과 같은 다양한 인터페이스 프로토콜들 중 적어도 하나에 기반하여 데이터를 교환할 수 있다.
호스트(110)는 커맨드(CMD)를 메모리 컨트롤러(120)로 전송할 수 있다. 호스트(110)는 메모리 컨트롤러(120)로부터 읽기 데이터(DATA)를 수신할 수 있다. 예를 들어, 호스트(110)는 불휘발성 메모리 장치(130)에 저장된 데이터(DATA)를 읽기 위하여 읽기 커맨드(CMD)를 메모리 컨트롤러(120)로 전송할 수 있다.
메모리 컨트롤러(120)는 호스트(110)로부터 커맨드(CMD)를 수신하고, 수신된 커맨드(CMD)를 기반으로 불휘발성 메모리 장치(130)를 제어할 수 있다. 예를 들어, 메모리 컨트롤러(120)는 호스트(110)로부터 읽기 커맨드(CMD)를 수신할 수 있다. 메모리 컨트롤러(120)는 수신된 읽기 커맨드(CMD)에 응답하여, 불휘발성 메모리 장치(130)에 저장된 복수의 데이터(DATA)를 읽고, 읽은 데이터(DATA)를 호스트(110)로 전송할 수 있다.
불휘발성 메모리 장치(130)는 메모리 컨트롤러(120)의 제어에 따라 데이터의 읽기, 쓰기, 소거 등의 동작을 수행할 수 있다. 예시적으로, 불휘발성 메모리 장치(130)는 NAND 플래시, NOR 플래시, MRAM, RRAM, PRAM 등과 같은 반도체 메모리 소자를 기반으로 제공될 수 있다.
본 발명의 실시 예에 따른 메모리 컨트롤러(120)는 ECC 회로(121)를 포함한다. ECC 회로(121)는 불휘발성 메모리 장치(130)로부터 수신된 복수의 읽기 데이터(DATA)의 오류를 검출하고 정정하는 제 1 오류 정정 동작(이하에서, "ECC 오류 정정 동작"이라 한다.)을 수행할 수 있다. 예를 들어, ECC 회로(121)는 불휘발성 메모리 장치(130)의 스페어 영역(미도시)에 저장된 ECC 코드를 읽고, 읽은 ECC 코드를 기반으로 읽기 데이터(DATA_1~DATA_n)의 오류를 판별할 수 있다. 검출된 오류가 오류 정정 용량 이내인 경우, ECC 회로(121)는 검출된 오류를 정정할 수 있다.
검출된 오류가 오류 정정 용량을 초과하는 경우, ECC 회로(121)는 ECC 오류 정정 동작을 기반으로 오류 정정 용량을 초과하는 오류를 정정할 수 없다. 이하에서, 검출된 오류가 오류 정정 용량을 초과하여 ECC 회로(121)의 ECC 오류 정정 동작을 기반으로 정정되지 않는 오류를 UECC 오류(Uncorrectable Error Correction Code error)라 한다. 또한, UECC 오류를 포함하는 데이터를 UECC 데이터(DATA_u)라 한다.
불휘발성 메모리 장치(130)로부터 UECC 데이터(DATA_u)가 읽어진 경우, 메모리 컨트롤러(120)는 제 2 오류 정정 동작(이하에서, "UECC 오류 정정 동작"이라 한다.)을 수행할 수 있다. 예시적으로, UECC 오류 정정 동작은 ECC 회로(121)에 의한 오류 정정 동작과 다르다. UECC 오류 정정 동작은 ECC 회로(121)에 의한 ECC 오류 정정 동작보다 많은 시간이 소요될 수 있다. 예를 들어, 메모리 컨트롤러(120)는 UECC 데이터(DATA_u)를 불휘발성 메모리 장치(130)로부터 다시 읽을 수 있다. 메모리 컨트롤러(120)는 미리 정해진 특정 알고리즘을 기반으로 다시 읽은 UECC 데이터(DATA_u)의 UECC 오류를 정정할 수 있다. UECC 오류 정정 동작은 소프트웨어 계층에서 구현될 수 있다.
불휘발성 메모리 장치(130)로부터 UECC 데이터(DATA_u)가 독출된 경우, 메모리 컨트롤러(120)는 UECC 데이터(DATA_u)의 UECC 오류 정정 동작이 수행되기 전에 호스트(110)로 더미 데이터(DATA_d)를 전송할 수 있다. 메모리 컨트롤러(120)가 더미 데이터(DATA_d)를 호스트(110)로 전송함으로써, 메모리 컨트롤러(120)는 다른 읽기 데이터(DATA)를 호스트(110)로 전송하고, 이와 함께 UECC 데이터(DATA_u)의 UECC 오류 정정 동작을 수행할 수 있다.
예시적으로, 더미 데이터(DATA_d)는 UECC 오류가 포함된 읽기 데이터(DATA)와 동일한 데이터일 수 있다. 또는 더미 데이터(DATA_d)는 미리 정해진 데이터일 수 있다. 또는 더미 데이터(DATA_d)는 랜덤 패턴의 데이터일 수 있다.
메모리 컨트롤러(120)는 UECC 데이터(DATA_u)의 UECC 오류 정정 동작을 완료한 후에, 정정된 데이터(DATA_c)를 호스트(110)로 전송할 수 있다.
종래의 메모리 컨트롤러는 UECC 오류가 검출된 경우, UECC 오류 정정 동작의 수행을 완료한 후, 정정 데이터를 전송하고, 이 후, 다른 읽기 데이터를 전송한다. 이와 달리 본 발명에 따른 메모리 컨트롤러(120)는 UECC 오류가 검출된 경우, UECC 오류 정정 동작 이전에 더미 데이터(DATA_d)를 전송함으로써, 다른 읽기 데이터가 전송될 수 있다. 즉, 메모리 컨트롤러(120)는 데이터 전송 및 UECC 오류 정정 동작을 함께 수행함으로써 향상된 성능을 갖는 메모리 컨트롤러가 제공된다.
도 2는 도 1에 도시된 메모리 컨트롤러를 상세하게 보여주는 블록도이다. 도 2를 참조하면, 메모리 컨트롤러(121)는 ECC 회로(121), CPU(122), 호스트 인터페이스(123), 플래쉬 인터페이스(124), 및 버퍼 메모리(125)를 포함한다.
ECC 회로(121)는 불휘발성 메모리 장치(130)로부터 독출된 읽기 데이터(DATA)에 포함된 오류를 검출하고 정정하는 동작을 수행한다.
CPU(122)는 호스트(110)로부터 입력된 신호 및 데이터를 분석하고 처리한다. CPU(122)는 호스트 인터페이스(123)나 플래시 인터페이스(124)를 통해 호스트(110)나 플래시 메모리 장치(130)를 제어한다. CPU(122)는 불휘발성 메모리 장치(130)을 구동하기 위한 펌웨어에 따라서 불휘발성 메모리 장치(130)를 제어할 수 있다.
호스트 인터페이스(123)는 메모리 컨트롤러(120)와의 인터페이싱을 제공한다. 호스트 인터페이스(123)는 USB(Universal Serial Bus), SCSI(Small Computer System Interface), PCI express, ATA, PATA(Parallel ATA), SATA(Serial ATA), SAS(Serial Attached SCSI), MIPI (Mobile Industry Processor Interface) 등의 인터페이스를 이용하여 호스트(110)와 통신할 수 있다.
플래시 인터페이스(124)는 버퍼 메모리(125)로부터 전달된 쓰기 데이터를 스캐터링(Scattering)한다. 또는 플래시 인터페이스(124)는 플래시 메모리 장치(130)로부터 읽은 복수의 읽기 데이터(DATA_1~DATA_n)를 버퍼 메모리(125)로 전달한다.
버퍼 메모리(125)는 호스트(110)로부터 제공되는 쓰기 데이터 또는 불휘발성 메모리 장치(130)로부터 읽은 읽기데이터를 임시로 저장한다. 버퍼 메모리(125)는 불휘발성 메모리 장치(130)에 저장될 메타 데이터나 캐시 데이터를 저장할 수 있다. 버퍼 메모리(125)는 복수의 버퍼 유닛들(BU1~BUn) 및 버퍼 관리부(121a)를 포함한다. 복수의 버퍼 유닛들(BU1~BUn)은 쓰기 데이터 또는 읽기 데이터가 저장되도록 할당될 수 있다. 예시적으로, 버퍼 유닛들의 할당 정보는 버퍼 테이블(미도시)에 저장될 수 있다.
도 3은 도 2에 도시된 메모리 컨트롤러의 동작을 보여주는 순서도이다. 도 1 및 도 3을 참조하면, S110 단계에서, 메모리 컨트롤러(120)는 호스트(110)로부터 읽기 커맨드(CMD)를 수신할 수 있다. 예시적으로, 읽기 커맨드(CMD)는 불휘발성 메모리 장치(130)에 저장된 복수의 읽기 데이터(DATA_1~DATA_n)에 대응하는 커맨드일 수 있다.
S120 단계에서, 메모리 컨트롤러(120)는 읽기 데이터(DATA)가 저장될 버퍼 유닛들을 할당할 수 있다. 예를 들어, 메모리 컨트롤러(120)는 수신된 읽기 커맨드(CMD)에 응답하여, 복수의 버퍼 유닛들(BU1~BUn) 중 일부를 할당할 수 있다. 메모리 컨트롤러(120)는 할당된 버퍼 유닛들의 정보를 버퍼 테이블에 저장할 수 있다. 예시적으로, 버퍼 테이블은 메모리 컨트롤러(120)의 캐시 메모리에 저장될 수 있다.
S130 단계에서, 메모리 컨트롤러(120)는 불휘발성 메모리 장치(130)에 저장된 읽기 데이터(DATA)를 독출할 수 있다.
S140 단계에서, 메모리 컨트롤러(120)는 UECC 데이터(DATA_u)가 존재하는지(또는, 읽기 데이터(DATA)에 UECC 오류가 포함되는지) 판별할 수 있다. 예를 들어, 메모리 컨트롤러(120)는 ECC 회로(121)를 포함한다. ECC 회로(121)는 복수의 읽기 데이터(DATA) 및 오류 정정 코드를 기반으로 복수의 읽기 데이터(DATA)에 포함된 오류를 정정할 수 있다. 이 때, 읽기 데이터(DATA)는 ECC 회로(121)의 동작을 기반으로 정정되지 않는 오류를 포함할 수 있다. 이 경우, 메모리 컨트롤러(120)는 UECC 데이터(DATA_u)가 존재하는 것으로 판단한다.
판별 결과에 따라 UECC 데이터(DATA_u)가 존재하지 않는 경우, 메모리 컨트롤러(120)는 읽기 데이터(DATA)를 호스트(110)로 전송한다. 이 때, 메모리 컨트롤러(120)는 직렬 인터페이스 방식을 기반으로 읽기 데이터(DATA)를 호스트(110)로 순차적으로 전송할 수 있다.
판별 결과에 따라 UECC 데이터(DATA_u)가 존재하는 경우, S150 단계에서, 메모리 컨트롤러(120)는 UECC 데이터(DATA_u) 대신 더미 데이터(DATA_d)를 호스트(110)로 전송할 수 있다. 이 후, 메모리 컨트롤러(120)는 다른 읽기 데이터(DATA)를 전송할 수 있다. 예시적으로, 메모리 컨트롤러(120)는 버퍼 테이블에 UECC 데이터(DATA_u)의 정보를 저장할 수 있다. UECC 데이터(DATA_u)의 정보는 UECC 데이터(DATA_u)가 저장될 버퍼 유닛의 오프셋 정보 및 사이즈 정보를 포함할 수 있다. 예시적으로, 더미 데이터(DATA_d)는 UECC 데이터(DATA_u)와 대응되는 버퍼 유닛에 저장될 것이다.
S160 단계에서, 메모리 컨트롤러(120)는 UECC 오류 정정 동작을 수행할 수 있다. 예를 들어, 메모리 컨트롤러(120)는 UECC 데이터(DATA_u)의 오류를 복구하기 위하여 불휘발성 메모리 장치(130)로부터 UECC 데이터(DATA_u)를 다시 읽고, 읽은 UECC 데이터(DATA_u)의 오류를 정정할 수 있다.
S170 단계에서, 메모리 컨트롤러(120)는 정정된 데이터(DATA_c)를 호스트(110)로 전송할 수 있다. 예를 들어, 메모리 컨트롤러(120)는 UECC 오류 정정 동작을 통해 UECC 데이터(DATA_u)의 오류를 정정할 수 있다. 메모리 컨트롤러(120)는 더미 데이터(DATA_d)가 저장된 버퍼 유닛에 정정된 데이터(DATA_c)를 덮어 쓰기할 수 있다.
예시적으로, 메모리 컨트롤러(120)는 S150 단계 및 S160 단계를 함께 수행할 수 있다. 도 3의 메모리 컨트롤러(120)의 동작 방법은 이하의 도면들을 참조하여 더욱 상세하게 설명된다.
도 4 및 도 5는 도 3에 도시된 메모리 컨트롤러의 동작을 설명하기 위한 블록도들이다. 간결한 설명을 위하여, 불휘발성 메모리 장치(130)는 제 1 내지 제 4 읽기 데이터(DATA_1~DATA_4)를 함께 읽는 것으로 가정한다. 즉, 메모리 컨트롤러(120)는 읽기 커맨드(CMD)에 응답하여, 불휘발성 메모리 장치(130)로부터 제 1 내지 제 4 읽기 데이터(DATA_1~DATA_4)를 읽고, 읽은 제 1 내지 제 4 읽기 데이터(DATA_1~DATA_4)를 호스트(110)로 전송할 것이다.
도 4 및 도 5를 참조하면, 사용자 시스템(100)은 호스트(110), 메모리 컨트롤러(120), 및 불휘발성 메모리 장치(130)를 포함한다. 메모리 컨트롤러(120)는 버퍼 유닛들(BU1~BU4) 및 버퍼 테이블(BT)을 포함한다. 사용자 시스템(100)의 구성 요소들은 도 1을 참조하여 설명되었으므로 이에 대한 상세한 설명은 생략된다.
먼저 도 4를 참조하면, 호스트(110)는 읽기 커맨드(CMD)를 메모리 컨트롤러(120)로 전송할 수 있다.(①) 예시적으로, 읽기 커맨드(CMD)는 제 1 내지 제 4 읽기 데이터(DATA_1~DATA_4)의 읽기 동작을 가리키는 커맨드일 수 있다.
메모리 컨트롤러(120)는 수신된 읽기 커맨드(CMD)에 응답하여, 제 1 내지 제 4 읽기 데이터(DATA_1~DATA_4)가 저장될 제 1 내지 제 4 버퍼 유닛들(BU1~BU4)을 할당할 수 있다. 메모리 컨트롤러(120)는 할당된 제 1 내지 제 4 버퍼 유닛들(BU1~BU4)의 할당 정보를 버퍼 테이블(BT)에 저장할 수 있다. 할당 정보는 제 1 내지 제 4 버퍼 유닛들(BU1~BU4)의 오프셋 및 사이즈 정보를 포함할 수 있다. 메모리 컨트롤러(120)는 불휘발성 메모리 장치(130)에 저장된 제 1 내지 제 4 읽기 데이터(DATA_1~DATA_4)를 읽을 수 있다.(②)
다음으로 도 5을 참조하면, 메모리 컨트롤러(120)는 제 1 내지 제 4 데이터(DATA_1~DATA_4)의 오류를 검출하고 정정할 수 있다. 예를 들어, ECC 회로(121, 도 2 참조)는 수신된 제 1 내지 제 4 읽기 데이터(DATA_1~DATA_4)의 오류를 검출하고 정정할 수 있다. 간결한 설명을 위하여, 제 1 읽기 데이터(DATA1)는 UECC 데이터(DATA_u)인 것으로 가정한다.
메모리 컨트롤러(120)는 UECC 데이터(DATA_u)의 오류를 정정하기 위하여, 소프트웨어 계층의 UECC 오류 정정 동작을 수행할 것이다. 이 때, 메모리 컨트롤러(120)는 UECC 데이터(DATA_u) 대신 더미 데이터(DATA_d)를 호스트(110)로 전송한다. 이 후, 메모리 컨트롤러(120)는 제 2 내지 제 4 읽기 데이터(DATA2~DATA4)를 전송할 수 있다. 예시적으로, 메모리 컨트롤러(120)는 더미 데이터(DATA_d) 및 제 2 내지 제 4 읽기 데이터(DATA_2~DATA_4)를 직렬 인터페이스를 기반으로 호스트(110)로 전송할 수 있다.(③)
메모리 컨트롤러(120)는 UECC 데이터(DATA_u)의 UECC 오류 정정 동작을 완료한 이 후, 정정된 데이터(DATA_c)를 호스트(110)로 전송할 수 있다.(④)
예시적으로, 호스트(110) 및 메모리 컨트롤러(120)의 데이터 전송과 메모리 컨트롤러(120) 및 불휘발성 메모리 장치(130)의 데이터 전송은 직접 메모리 접근(DMA, Direct Memory Access) 동작을 기반으로 제공될 수 있다.
상술된 본 발명의 실시 예에 따르면, UECC 데이터(DATA_u)가 검출된 경우, 메모리 컨트롤러(120)는 UECC 데이터(DATA_u) 대신 더미 데이터(DATA_d)를 먼저 전송하고, 이 후 제 2 내지 제 4 데이터(DATA_2~DATA_4)를 전송할 수 있다. 이와 함께, 메모리 컨트롤러(120)는 UECC 오류 정정 동작을 수행할 수 있다. 만약, 더미 데이터(DATA_d)를 전송하지 않을 경우, 메모리 컨트롤러(120)는 UECC 데이터(DATA_u)의 UECC 오류 정정 동작을 완료한 이 후, 데이터 전송을 수행할 것이다. 따라서, 메모리 컨트롤러(120)가 읽기 데이터의 전송 및 UECC 오류 정정 동작을 함께 수행함으로써, 향상된 성능을 갖는 메모리 시스템이 제공된다.
도 6은 본 발명의 적용 예에 따른 메모리 카드 시스템을 보여주는 블록도이다. 메모리 카드 시스템(1000)은 호스트(1100)와 메모리 카드(1200)를 구비한다. 호스트(1100)는 호스트 컨트롤러(1110) 및 호스트 접속 유닛(1120)을 포함한다. 메모리 카드(1200)는 카드 접속 유닛(1210), 카드 컨트롤러(1220), 그리고 플래시 메모리 장치(1230)를 포함한다.
호스트(1100)는 메모리 카드(1200)에 데이터를 쓰거나, 메모리 카드(1200)에 저장된 데이터를 읽을 수 있다. 호스트 컨트롤러(1110)는 커맨드(예를 들면, 읽기 커맨드), 호스트(1100) 내의 클록 발생기(도시되지 않음)에서 발생한 클록 신호(CLK), 그리고 데이터(DATA)를 호스트 접속 유닛(1120)을 통해 메모리 카드(1200)로 전송할 수 있다. 카드 컨트롤러(3220)는 카드 접속 유닛(3210)을 통해 수신된 읽기 커맨드에 응답하여, 플래시 메모리 장치(3230)에 저장된 데이터(DATA)를 읽을 수 있다. 예시적으로, 카드 컨트롤러(1220)는 도 1 내지 도 6을 참조하여 설명된 메모리 컨트롤러(120)의 구성을 기반으로 구현될 수 있다.
예시적으로, 호스트(1100) 및 메모리 카드(1200)는 직렬 인터페이스를 기반으로 데이터를 송수신할 수 있다. 예시적으로, 호스트(1100) 및 메모리 카드(120)는 M-PHY 인터페이스를 기반으로 통신할 수 있다.
도 7는 본 발명의 적용 예에 따른 사용자 시스템을 예시적으로 보여주는 블록도이다. 도 9를 참조하면, 사용자 시스템(2000)은 호스트(2100), 및 메모리 모듈(2200)을 포함한다. 호스트(2100)는 메모리 모듈(2200)로 커맨드(CMD), 쓰기 데이터(DATA_w), 및 읽기 데이터(DATA_r)와 같은 신호를 송수신할 수 있다. 예시적으로, 호스트(2100)는 메모리 모듈(2200)과 미리 정해진 인터페이스(2110)를 기반으로 통신할 수 있다. 예를 들어, 호스트(2100)는 메모리 모듈(2200)과 직렬 인터페이스를 기반으로 통신할 수 있다. 예시적으로, 호스트(2100)는 메모리 모듈(2200)과 M-PHY 인터페이스를 기반으로 통신할 수 있다
메모리 모듈(2200)은 메모리 컨트롤러(2210) 및 복수의 불휘발성 메모리 장치들(2221~222n)을 포함한다. 메모리 컨트롤러(2210)는 호스트(2100)로부터 수신된 커맨드(CMD)에 응답하여, 복수의 불휘발성 메모리 장치들(2221~222n)을 제어할 수 있다. 예시적으로, 메모리 컨트롤러(2210)는 도 1 내지 도 6을 참조하여 설명된 메모리 컨트로러를 기반으로 제공될 수 있다.
메모리 컨트롤러(2210) 및 복수의 불휘발성 메모리 장치들(2221~222n)은 복수의 채널들(CH1~CHn)을 기반으로 연결된다. 메모리 컨트롤러(3210)는 불휘발성 메모리 장치들(2221~222n) 각각을 독립적으로 제어할 수 있다. 예시적으로, 메모리 모듈(2200)은 범용 플래시 스토리지(UFS, Universal Flash Storage)로 제공될 수 있다.
도 8은 본 발명의 적용 예에 따른 모바일 시스템을 예시적으로 보여주는 블록도이다. 예시적으로, 모바일 시스템(3000)은 휴대전화, 스마트폰, 태블릿 PC, 디지털 카메라, E-북 등과 같은 휴대용 무선 기기들 중 어느 하나로 제공될 수 있다.
도 8을 참조하면, 모바일 시스템(3000)은 AP(3100, Application Processor), 네트워크 모듈(3200), 스토리지 모듈(3300), 입력 인터페이스(3400), 및 디스플레이 모듈(3500)을 포함할 수 있다.
AP(3100)는 모바일 시스템(3000)에 포함된 구성 요소들, OS(Operating system) 등을 구동시킬 수 있다. 예시적으로, AP(3100)는 그래픽 엔진, 모바일 시스템(3000)에 포함된 구성 요소들을 제어하는 컨트롤러들 및 인터페이스들을 포함할 수 있다.
네트워크 모듈(3200)은 외부 장치들과 통신을 수행할 수 있다. 예시적으로, 네트워크 모듈(3200)은 CDMA(Code Division Multiple Access), GSM(Global System for Mobile communication), WCDMA(wideband CDMA), CDMA-2000, TDMA(Time Dvision Multiple Access), LTE(Long Term Evolution), Wimax, WLAN, UWB, 블루투스, WI-DI 등과 같은 무선 통신을 지원할 수 있다.
스토리지 모듈(3300)은 데이터를 저장할 수 있다. 예를 들어, 스토리지 모듈(3300)은 외부로부터 수신한 데이터를 저장할 수 있다. 또는 스토리지 모듈(3300)은 스토리지 모듈(3300)에 저장된 데이터를 AP(3100)로 전송할 수 있다. 예시적으로, 스토리지 모듈(3300)은 DRAM(Dynamic Random Access Memory), SDRAM(Synchronous DRAM), SRAM(Static RAM), DDR SDRAM(Double Date Rate SDRAM), DDR2 SDRAM, DDR3 SDRAM, PRAM(Phase-change RAM), MRAM(Magnetic RAM), RRAM(Resistive RAM), NAND flash, NOR flash 등과 같은 반도체 메모리 장치로 구현될 수 있다. 예시적으로, 스토리지 모듈(3300)은 도 1 내지 도 6을 참조하여 설명된 메모리 컨트롤러 및 불휘발성 메모리 장치를 포함할 수 있다. 스토리지 모듈(3300)은 도 1 내지 도 6을 참조하여 설명된 동작 방법을 기반으로 동작할 것이다. 예시적으로 스토리지 모듈(3300)은 범용 플래시 스토리지(Universal Flash Storage)로 제공될 수 있다.
입력 인터페이스(3400)는 모바일 시스템(3000)에 데이터 또는 명령어를 입력하는 인터페이스를 제공한다. 예시적으로, 입력 인터페이스(3400)는 카메라, 터치 스크린, 동작 인식 모듈, 마이크 등과 같은 입력 장치들을 포함한다. 디스플레이 모듈(3500)은 AP(3100)의 제어에 따라 이미지, 그래픽 등을 출력할 수 있다.
예시적으로, AP(3100) 및 스토리지 모듈(3200)은 단일 인터페이스를 기반으로 서로 통신할 수 있다. 예를 들어, AP(3100) 및 스토리지 모듈(3200)은 호스트 인터페이스(3110, 3210)를 통해 연결될 수 있다. 예시적으로, AP(3100), 네트워크 모듈(3200), 스토리지 모듈(3300), 입력 인터페이스(3400), 및 디스플레이 모듈(3500)은 인터페이스들(3110, 3210, 3310, 3410)을 기반으로 연결될 수 있다. 예시적으로, 인터페이스들(3110, 3210, 3310, 3410)은 공통 M-PHY 인터페이스를 기반으로 제공될 수 있다. 즉, AP(3100)는 단일 인터페이스를 기반으로 모바일 시스템(3000)에 포함된 구성 요소들을 제어할 수 있다.
상술된 본 발명의 실시 예에 따르면, 불휘발성 메모리 장치의 읽기 동작 중 UECC 오류가 발생할 경우, 메모리 컨트롤러는 UECC 데이터에 대응하는 더미 데이터를 호스트로 전송한다. 따라서, 메모리 컨트롤러는 UECC 오류 정정 동작이 완료되기 전에 후속 읽기 데이터를 호스트로 전송할 수 있다. 즉, 메모리 컨트롤러는 읽기 데이터의 전송 및 UECC 오류 정정 동작을 함께 수행할 수 있다. UECC 오류 정정 동작이 완료된 이 후, 메모리 컨트롤러는 정정된 데이터를 호스트로 전송한다. 따라서, 읽기 데이터의 신뢰성이 보장될 뿐만 아니라, 향상된 성능을 갖는 불휘발성 메모리 시스템이 제공된다.
본 발명의 상세한 설명에서는 구체적인 실시 예에 관하여 설명하였으나, 본 발명의 범위에서 벗어나지 않는 한도 내에서 여러가지 변형이 가능하다. 그러므로, 본 발명의 범위는 상술한 실시 예에 국한되어 정해져서는 안되며 후술하는 특허청구범위뿐만 아니라 이 발명의 특허청구범위와 균등한 것들에 의해 정해져야 할 것이다.
110 : 호스트 120 : 메모리 컨트롤러
130 : 불휘발성 메모리 장치 DATA_1~DATA_n : 읽기 데이터
DATA_d : 더미 데이터 DATA_c : 정정된 데이터
BU1~BUn : 버퍼 유닛들
130 : 불휘발성 메모리 장치 DATA_1~DATA_n : 읽기 데이터
DATA_d : 더미 데이터 DATA_c : 정정된 데이터
BU1~BUn : 버퍼 유닛들
Claims (10)
- 불휘발성 메모리 장치를 제어하는 메모리 컨트롤러의 동작 방법에 있어서,
상기 불휘발성 메모리 장치로부터 복수의 읽기 데이터를 수신하는 단계;
상기 수신된 복수의 읽기 데이터의 오류를 검출하고 정정하는 제 1 오류 정정 동작을 수행하는 단계;
상기 제 1 오류 정정 동작을 기반으로 정정되지 않는 오류가 검출된 경우, 상기 복수의 읽기 데이터 중 상기 정정되지 않는 오류를 포함하는 읽기 데이터 대신 더미 데이터를 호스트로 전송하는 단계; 및
상기 제 1 오류 정정 동작을 기반으로 정정되지 않은 오류를 정정하는 제 2 오류 정정 동작을 수행하는 단계을 포함하고,
상기 제 2 오류 정정 동작을 수행하는 동안 상기 복수의 읽기 데이터 중 상기 정정되지 않는 오류를 포함하는 읽기 데이터를 제외한 나머지 읽기 데이터를 상기 호스트로 전송하는 동작 방법. - 제 1 항에 있어서,
상기 제 2 오류 정정 동작을 완료한 후 정정된 데이터를 상기 호스트로 전송하는 단계를 더 포함하는 동작 방법. - 제 1 항에 있어서,
상기 복수의 읽기 데이터가 저장될 버퍼 유닛들을 할당하는 단계를 더 포함하는 동작 방법. - 제 3 항에 있어서,
상기 제 1 오류 정정 동작을 기반으로 정정되지 않는 오류가 검출된 경우, 상기 더미 데이터를 상기 할당된 버퍼 유닛들 중 상기 정정되지 않는 오류를 포함하는 읽기 데이터에 대응하는 버퍼 유닛에 저장하는 단계를 포함하는 동작 방법. - 제 4 항에 있어서,
상기 제 1 오류 정정 동작을 기반으로 정정되지 않는 오류가 검출된 경우, 상기 제 2 오류 정정 동작을 완료한 이후, 상기 정정된 데이터를 상기 더미 데이터가 저장된 버퍼 유닛에 덮어쓰기하는 단계를 더 포함하는 동작 방법. - 제 3 항에 있어서,
상기 할당된 버퍼 유닛들의 정보를 버퍼 테이블에 저장하는 단계를 더 포함하는 동작 방법. - 제 6 항에 있어서,
상기 할당된 버퍼 유닛들의 정보는 상기 할당된 버퍼 유닛들의 오프셋 및 사이즈 정보를 포함하는 동작 방법. - 제 7 항에 있어서,
상기 제 1 오류 정정 동작을 기반으로 정정되지 않는 오류가 검출된 경우, 상기 버퍼 테이블에 상기 정정되지 않는 오류를 포함하는 읽기 데이터의 오류 정보를 저장하는 단계를 더 포함하는 동작 방법. - 불휘발성 메모리 장치; 및
상기 불휘발성 메모리 장치를 제어하는 메모리 컨트롤러를 포함하고,
상기 메모리 컨트롤러는 호스트로부터 읽기 커맨드를 수신하고, 상기 수신된 읽기 커맨드에 응답하여, 상기 불휘발성 메모리 장치에 저장된 복수의 읽기 데이터를 읽고, 제 1 오류 정정 동작을 기반으로 상기 복수의 읽기 데이터의 오류를 검출 및 정정하여 상기 호스트로 전송하고,
상기 제 1 오류 정정 동작을 기반으로 정정되지 않는 오류가 검출된 경우, 상기 메모리 컨트롤러는 상기 복수의 읽기 데이터 중 상기 정정되지 않는 오류를 포함하는 읽기 데이터를 대신하여 더미 데이터를 상기 호스트로 전송하고, 상기 정정되지 않는 오류를 정정하는 제 2 오류 정정 동작을 함께 수행하고, 상기 제 2 오류 정정 동작을 수행하는 동안 상기 정정되지 않는 오류를 포함하는 읽기 데이터를 제외한 나머지 읽기 데이터를 호스트로 전송하는 불휘발성 메모리 시스템. - 제 9 항에 있어서,
상기 메모리 컨트롤러는 상기 제 2 오류 정정 동작을 완료한 후, 정정된 데이터를 상기 호스트로 전송하는 불휘발성 메모리 시스템.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020130068499A KR20140146275A (ko) | 2013-06-14 | 2013-06-14 | 불휘발성 메모리 장치를 제어하는 메모리 컨트롤러의 동작 방법 및 불휘발성 메모리 시스템 |
US14/303,646 US20140372831A1 (en) | 2013-06-14 | 2014-06-13 | Memory controller operating method for read operations in system having nonvolatile memory device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020130068499A KR20140146275A (ko) | 2013-06-14 | 2013-06-14 | 불휘발성 메모리 장치를 제어하는 메모리 컨트롤러의 동작 방법 및 불휘발성 메모리 시스템 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20140146275A true KR20140146275A (ko) | 2014-12-26 |
Family
ID=52020357
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020130068499A KR20140146275A (ko) | 2013-06-14 | 2013-06-14 | 불휘발성 메모리 장치를 제어하는 메모리 컨트롤러의 동작 방법 및 불휘발성 메모리 시스템 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20140372831A1 (ko) |
KR (1) | KR20140146275A (ko) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20180023311A (ko) * | 2016-08-25 | 2018-03-07 | 에스케이하이닉스 주식회사 | 데이터 저장 장치 |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016165033A (ja) * | 2015-03-06 | 2016-09-08 | 日本電気株式会社 | エラー訂正装置、エラー訂正システム及びエラー訂正方法 |
US9542269B1 (en) * | 2015-06-29 | 2017-01-10 | SK Hynix Inc. | Controller controlling semiconductor memory device and operating method thereof |
US9577854B1 (en) | 2015-08-20 | 2017-02-21 | Micron Technology, Inc. | Apparatuses and methods for asymmetric bi-directional signaling incorporating multi-level encoding |
JP6577302B2 (ja) * | 2015-08-28 | 2019-09-18 | 東芝メモリ株式会社 | メモリシステム |
JP6158265B2 (ja) * | 2015-09-16 | 2017-07-05 | 株式会社東芝 | キャッシュメモリシステム |
US10164817B2 (en) * | 2017-03-21 | 2018-12-25 | Micron Technology, Inc. | Methods and apparatuses for signal translation in a buffered memory |
JP2020154584A (ja) * | 2019-03-19 | 2020-09-24 | キオクシア株式会社 | メモリシステム |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4949342A (en) * | 1987-04-14 | 1990-08-14 | Matsushita Electric Industrial Co., Ltd. | Code error detecting method |
JP2001357637A (ja) * | 2000-06-14 | 2001-12-26 | Sony Corp | 情報再生装置、情報処理方法及び情報記録媒体 |
US7493465B2 (en) * | 2004-05-17 | 2009-02-17 | Oracle International Corporation | Method and system for extended memory with user mode input/output operations |
CN100405280C (zh) * | 2004-06-21 | 2008-07-23 | 罗姆股份有限公司 | 对存储盘的数据读出方法、数据写入方法以及存储盘控制装置 |
US20060236035A1 (en) * | 2005-02-18 | 2006-10-19 | Jeff Barlow | Systems and methods for CPU repair |
US7849383B2 (en) * | 2007-06-25 | 2010-12-07 | Sandisk Corporation | Systems and methods for reading nonvolatile memory using multiple reading schemes |
US8006172B2 (en) * | 2007-07-10 | 2011-08-23 | Oracle America, Inc. | Auxiliary path iterative decoding |
US20090092018A1 (en) * | 2007-10-05 | 2009-04-09 | Misuzu Mochizuki | Recording modulation circuit, recording modulation method and optical disk apparatus |
US7852596B2 (en) * | 2009-02-25 | 2010-12-14 | Western Digital Technologies, Inc. | Disk drive returning dummy data to a host when reading an unwritten data sector |
JP5039160B2 (ja) * | 2010-03-02 | 2012-10-03 | 株式会社東芝 | 不揮発性半導体記憶システム |
-
2013
- 2013-06-14 KR KR1020130068499A patent/KR20140146275A/ko not_active Application Discontinuation
-
2014
- 2014-06-13 US US14/303,646 patent/US20140372831A1/en not_active Abandoned
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20180023311A (ko) * | 2016-08-25 | 2018-03-07 | 에스케이하이닉스 주식회사 | 데이터 저장 장치 |
Also Published As
Publication number | Publication date |
---|---|
US20140372831A1 (en) | 2014-12-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR20140146275A (ko) | 불휘발성 메모리 장치를 제어하는 메모리 컨트롤러의 동작 방법 및 불휘발성 메모리 시스템 | |
KR102146037B1 (ko) | 불휘발성 메모리 시스템 및 그것의 동작 방법 | |
US9189397B2 (en) | Data storage device including buffer memory | |
KR20140142793A (ko) | 불휘발성 메모리 장치를 제어하는 메모리 컨트롤러의 동작 방법 및 불휘발성 메모리 시스템 | |
US10108369B2 (en) | Memory system and operating method thereof | |
CN110059032B (zh) | 存储器接口及具有存储器接口的存储器控制器 | |
KR20110058028A (ko) | 멀티 칩 메모리 시스템 및 그것의 데이터 전송 방법 | |
US9606811B2 (en) | Operating method of data storage device | |
KR102558901B1 (ko) | 메모리 시스템 및 메모리 시스템의 동작방법 | |
US10734045B2 (en) | Memory system capable of performing a data clock calibration operation | |
KR20160025292A (ko) | 데이터 저장 장치, 그것을 포함하는 데이터 처리 시스템 및 그것의 동작 방법 | |
KR102100707B1 (ko) | 데이터 저장 장치 | |
JP2014110057A (ja) | 格納装置、フラッシュメモリ及び格納装置の動作方法 | |
KR102511341B1 (ko) | 메모리 장치, 메모리 컨트롤러 및 이들을 포함하는 메모리 시스템과, 이들의 동작 방법 | |
US8883521B2 (en) | Control method of multi-chip package memory device | |
US20200150867A1 (en) | Memory system and operation method thereof | |
KR20150020384A (ko) | 데이터 저장 장치 및 그것의 동작 방법 | |
TW201643721A (zh) | 緩衝記憶體存取方法、記憶體控制器與記憶體儲存裝置 | |
KR20190060429A (ko) | 메모리 시스템 및 이의 동작 방법 | |
US9524757B2 (en) | Data storage device capable of reducing power consumption | |
US20140068150A1 (en) | Data storage device and operating method thereof | |
US10908843B2 (en) | Memory system for managing free pages based on real time clock and operating method thereof | |
US10908836B2 (en) | Memory system and operation method thereof | |
KR102655360B1 (ko) | 컨트롤러, 데이터 저장 장치 및 그것의 동작 방법 | |
TWI569201B (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 |