KR20190132788A - 스토리지 장치 및 스토리지 장치의 동작 방법 - Google Patents

스토리지 장치 및 스토리지 장치의 동작 방법 Download PDF

Info

Publication number
KR20190132788A
KR20190132788A KR1020180057726A KR20180057726A KR20190132788A KR 20190132788 A KR20190132788 A KR 20190132788A KR 1020180057726 A KR1020180057726 A KR 1020180057726A KR 20180057726 A KR20180057726 A KR 20180057726A KR 20190132788 A KR20190132788 A KR 20190132788A
Authority
KR
South Korea
Prior art keywords
nonvolatile memory
errors
controller
data
memory device
Prior art date
Application number
KR1020180057726A
Other languages
English (en)
Other versions
KR102499794B1 (ko
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 KR1020180057726A priority Critical patent/KR102499794B1/ko
Priority to US16/248,540 priority patent/US10970164B2/en
Priority to CN201910328763.1A priority patent/CN110517714B/zh
Publication of KR20190132788A publication Critical patent/KR20190132788A/ko
Priority to US17/198,315 priority patent/US11461172B2/en
Priority to US17/900,336 priority patent/US11836041B2/en
Application granted granted Critical
Publication of KR102499794B1 publication Critical patent/KR102499794B1/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/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/1068Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in sector programmable memories, e.g. flash disk
    • 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
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1006Data managing, e.g. manipulating data before writing or reading out, data bus switches or control circuits therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/32Timing circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/50Marginal testing, e.g. race, voltage or current testing
    • G11C29/50012Marginal testing, e.g. race, voltage or current testing of timing
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/52Protection of memory contents; Detection of errors in memory contents
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1078Data input circuits, e.g. write amplifiers, data input buffers, data input registers, data input level conversion circuits
    • G11C7/1084Data input buffers, e.g. comprising level conversion circuits, circuits for adapting load
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/22Read-write [R-W] timing or clocking circuits; Read-write [R-W] control signal generators or management 
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2207/00Indexing scheme relating to arrangements for writing information into, or reading information out from, a digital store
    • G11C2207/22Control and timing of internal memory operations
    • G11C2207/2254Calibration

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)
  • Quality & Reliability (AREA)
  • Computer Security & Cryptography (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Memory System (AREA)

Abstract

본 발명은 스토리지 장치에 관한 것이다. 본 발명의 스토리지 장치는 불휘발성 메모리 장치, 그리고 불휘발성 메모리 장치로부터 제1 데이터를 읽도록 구성되는 제어기를 포함한다. 제1 데이터의 제1 에러들의 수가 제1 문턱 값 이상이면, 제어기는 제1 에러들이 불휘발성 메모리 장치와 제어기 사이의 신호 전송 타이밍들의 변동으로부터 유발된 타이밍 에러들을 포함하는지 판단하고, 그리고 제1 에러들이 타이밍 에러들을 포함하면 신호 전송 타이밍들의 재훈련 동작을 수행하도록 더 구성된다.

Description

스토리지 장치 및 스토리지 장치의 동작 방법{STORAGE DEVICE AND OPERATING METHOD OF STORAGE DEVICE}
본 발명은 반도체 메모리에 관한 것으로, 더 상세하게는 스토리지 장치 및 스토리지 장치의 동작 방법에 관한 것이다.
스토리지 장치는 컴퓨터, 스마트 폰, 스마트 패드 등과 같은 호스트 장치의 제어에 따라 데이터를 저장하는 장치이다. 스토리지 장치는 하드 디스크 드라이브(HDD, Hard Disk Drive)와 같이 자기 디스크에 데이터를 저장하는 장치, 솔리드 스테이트 드라이브(SSD, Solid State Drive), 메모리 카드 등과 같이 반도체 메모리, 특히 불휘발성 메모리 장치에 데이터를 저장하는 장치를 포함한다.
불휘발성 메모리 장치는 읽기 전용 메모리(Read Only Memory, ROM)), 프로그램 가능한 ROM(Programmable ROM, PROM), 전기적으로 프로그램 가능한 ROM (Electrically Programmable ROM, EPROM), 전기적으로 소거 및 프로그램 가능한 ROM (Electrically Erasable and Programmable ROM, EEPROM), 플래시 메모리, 상 변화 랜덤 액세스 메모리(Phase-change Random Access Memory, PRAM), 자기 RAM (Magnetic RAM, MRAM), 저항성 RAM (Resistive RAM, RRAM), 강유전체 RAM (Ferroelectric RAM, FRAM) 등을 포함한다.
반도체 회로 제조 기술이 발전하면서, 스토리지 장치의 동작 속도가 향상되고 있다. 특히, 불휘발성 메모리 장치와 불휘발성 메모리 장치를 제어하는 제어기 사이의 데이터 통신 속도가 급격히 증가하고 있다. 데이터 통신 속도의 급격한 증가는 예측하지 못한 새로운 형태의 에러들을 유발하며, 스토리지 장치의 신뢰성을 낮출 수 있다.
본 발명의 목적은 향상된 신뢰성을 갖는 스토리지 장치 및 스토리지 장치의 동작 방법을 제공하는 데에 있다.
본 발명의 실시 예에 따른 스토리지 장치는 불휘발성 메모리 장치, 그리고 불휘발성 메모리 장치로부터 제1 데이터를 읽도록 구성되는 제어기를 포함한다. 제1 데이터의 제1 에러들의 수가 제1 문턱 값 이상이면, 제어기는 제1 에러들이 불휘발성 메모리 장치와 제어기 사이의 신호 전송 타이밍들의 변동으로부터 유발된 타이밍 에러들을 포함하는지 판단하고, 그리고 제1 에러들이 타이밍 에러들을 포함하면 신호 전송 타이밍들의 재훈련(retraining)을 수행하도록 더 구성된다.
본 발명의 실시 예에 따른 스토리지 장치는 제1 불휘발성 메모리 장치들, 제2 불휘발성 메모리 장치들, 그리고 제1 채널을 통해 제1 불휘발성 메모리 장치들과 통신하고, 그리고 제2 채널을 통해 제2 불휘발성 메모리 장치들과 통신하도록 구성되는 제어기를 포함한다. 제1 불휘발성 메모리 장치들 중 특정한 불휘발성 메모리 장치로부터 읽은 데이터의 에러들의 수가 문턱 값 이상이면, 제어기는 에러들이 특정한 불휘발성 메모리 장치와 제어기 사이의 신호 전송 타이밍들의 변동으로부터 유발된 타이밍 에러들을 포함하는지 판단하고, 그리고 에러들이 타이밍 에러들을 포함하면 제1 불휘발성 메모리 장치들을 재훈련의 대상들로 판단하도록 더 구성된다.
불휘발성 메모리 장치 및 제어기를 포함하는 본 발명의 실시 예에 다른 스토리지 장치의 동작 방법은 제어기가 불휘발성 메모리 장치로부터 데이터를 읽는 단계, 데이터의 제1 에러들의 수가 제1 문턱 값 이상이면, 제어기가 불휘발성 메모리 장치로 제1 테스트 데이터를 전송하고 제2 테스트 데이터를 수신하는 단계, 그리고 제2 테스트 데이터의 제2 에러들의 수가 제2 문턱 값 이상이면, 제어기가 불휘발성 메모리 장치의 재훈련을 수행하는 단계를 포함한다.
본 발명의 실시 예들에 따르면, 제어기는 타이밍 에러를 포함하는 에러들이 발생한 때에 불휘발성 메모리 장치의 재훈련을 수행한다. 따라서, 제어기와 불휘발성 메모리 장치 사이의 통신 속도의 증가로 인해 유발되는 타이밍 에러들을 교정하고 신뢰성을 확보하는 스토리지 장치 및 스토리지 장치의 동작 방법이 제공된다.
도 1은 본 발명의 실시 예에 따른 스토리지 장치를 보여주는 블록도이다.
도 2는 본 발명의 실시 예에 따른 스토리지 장치의 동작 방법을 보여주는 순서도이다.
도 3 및 도 4는 본 발명의 실시 예에 따른 메모리 관리자가 재훈련 동작의 필요성을 판단하는 테스트 동작의 예를 보여준다.
도 5는 본 발명의 응용 예에 따른 스토리지 장치의 동작 방법을 보여주는 순서도이다.
도 6은 재훈련 동작의 정보를 다음 재훈련 동작에 반영하는 예를 보여주는 순서도이다.
도 7은 재훈련 동작의 제1 예를 보여준다.
도 8은 재훈련 동작의 제2 예를 보여준다.
도 9 및 도 10은 재훈련 동작의 제3 예를 보여준다.
도 11은 본 발명의 응용 예에 따른 스토리지 장치를 보여주는 블록도이다.
도 12는 본 발명의 응용 예에 따른 스토리지 장치의 동작 방법을 보여주는 순서도이다.
도 13은 도 12의 동작 방법에 따라 스토리지 장치가 동작하는 예를 보여준다.
이하에서, 본 발명의 기술 분야에서 통상의 지식을 가진 자가 본 발명을 용이하게 실시할 수 있을 정도로, 본 발명의 실시 예들이 명확하고 상세하게 기재될 것이다.
도 1은 본 발명의 실시 예에 따른 스토리지 장치(100)를 보여주는 블록도이다. 도 1을 참조하면, 스토리지 장치(100)는 불휘발성 메모리 장치(110) 및 제어기(120)를 포함한다. 불휘발성 메모리 장치(110)는 제어기(120)의 제어에 따라 쓰기 동작, 읽기 동작 또는 소거 동작을 수행하도록 구성된다. 불휘발성 메모리 장치(110)는 메모리 셀 어레이(111), 주소 디코더(112), 페이지 버퍼(113), 전역 버퍼(114), 그리고 제어 논리(116)를 포함한다.
메모리 셀 어레이(111)는 복수의 메모리 블록들을 포함한다. 각 메모리 블록은 복수의 메모리 셀들을 포함한다. 각 메모리 블록은 적어도 워드 라인들(WL) 및 선택 라인들(SL)을 통해 주소 디코더(112)에 연결될 수 있다. 각 메모리 블록은 복수의 비트 라인들(BL)을 통해 페이지 버퍼(113)에 연결될 수 있다.
예시적으로, 복수의 메모리 블록들 각각은 소거 동작의 단위일 수 있다. 메모리 셀 어레이(111)의 메모리 셀들은 하나의 메모리 블록의 단위로 소거될 수 있다. 하나의 메모리 블록에 속한 메모리 셀들은 동시에 소거될 수 있다. 다른 예로서, 각 메모리 블록은 복수의 서브 블록들로 분할될 수 있다. 복수의 서브 블록들 각각은 소거 동작의 단위일 수 있다.
주소 디코더(112)는 워드 라인들(WL) 및 선택 라인들(SL)을 통해 메모리 셀 어레이(111)에 연결된다. 주소 디코더(112)는 제어 논리(116)의 제어에 따라 동작한다. 주소 디코더(112)는 전역 버퍼(114)로부터 주소(AD)를 수신하고, 주소(AD)를 디코딩하고, 그리고 디코딩된 주소에 따라 선택 라인들(SL) 및 워드 라인들(WL)에 인가되는 전압들을 제어할 수 있다.
페이지 버퍼(113)는 복수의 비트 라인들(BL)을 통해 메모리 셀 어레이(111)에 연결된다. 페이지 버퍼(113)는 전역 버퍼(114)와 데이터(DT)를 교환할 수 있다. 쓰기 동작 시에, 페이지 버퍼(113)는 전역 버퍼(114)로부터 데이터(DT)를 수신하고, 수신된 데이터에 따라 비트 라인들(BL)의 전압들을 제어할 수 있다.
읽기 동작 시에, 페이지 버퍼(113)는 비트 라인들(BL)의 전압들을 래치하고, 래치의 결과를 데이터(DT)로서 전역 버퍼(114)로 전송할 수 있다. 훈련(training) 또는 재훈련(retraining) 동작 시에, 페이지 버퍼(113)는 전역 버퍼(114)로부터 데이터(DT)를 수신하고, 그리고 수신된 데이터(DT)를 전역 버퍼(114)로 반환 활 수 있다.
전역 버퍼(114)는 제어기(120)로부터 입력 및 출력 라인들(DQ)을 통해 명령(CMD), 주소(AD) 또는 데이터(DT)를 수신할 수 있다. 제어 논리(116)의 제어에 따라, 전역 버퍼(114)는 명령(CMD)을 제어 논리(116)로 전달하고, 주소(AD)를 주소 디코더(112)로 전달하고, 그리고 데이터(DT)를 페이지 버퍼(113)로 전달할 수 있다.
전역 버퍼(114)는 입력 및 출력 라인들(DQ)을 통해 제어기(120)로 데이터(DT)를 전송할 수 있다. 전역 버퍼(114)는 데이터 전송을 위한 지연 고정 루프들(115)(DLLs)을 포함할 수 있다. 지연 고정 루프들(115)은 입력 및 출력 라인들(DQ)에 각각 대응할 수 있다.
지연 고정 루프들(115)의 지연량들은 훈련 또는 재훈련 동작에 의해 조절될 수 있다. 전역 버퍼(114)는 지연 고정 루프들(115)의 출력들에 따라, 입력 및 출력 라인들(DQ)을 통해 제어기(120)로 데이터(DT)를 각각 전송할 수 있다.
제어 논리(116)는 제어기(120)로부터 제어 라인들(CL)을 통해 제어 신호들(CTRL)을 수신할 수 있다. 수신된 제어 신호들(CTRL)에 따라, 제어 논리(116)는 주소 디코더(112), 페이지 버퍼(113), 그리고 전역 버퍼(114)를 제어할 수 있다.
제어 논리(116)는 제어 라인들(CL)을 통해 제어기(120)로 제어 신호들(CTRL)을 전송할 수 있다. 전역 버퍼(114)는 데이터 전송을 위한 지연 고정 루프(117)(DLL)를 포함할 수 있다. 지연 고정 루프(117)의 지연량은 훈련 또는 재훈련 동작에 의해 조절될 수 있다. 제어 논리(116)는 지연 고정 루프(117)의 출력에 따라, 제어 라인들(CL)을 통해 제어기(120)로 제어 신호들(CTRL)을 전송할 수 있다.
제어기(120)는 쓰기 동작, 읽기 동작 또는 소거 동작을 수행하도록 불휘발성 메모리 장치(110)를 제어할 수 있다. 제어기(120)는 버스(121), 프로세서(122), 랜덤 액세스 메모리(125), 호스트 인터페이스 블록(126), 그리고 메모리 관리자(127)를 포함할 수 있다.
버스(121)는 제어기(120)의 구성 요소들 사이에 채널을 제공할 수 있다. 프로세서(122)는 외부의 호스트 장치로부터 전달되는 명령들의 형식들을 변환하여 메모리 관리자(127)로 전달할 수 있다. 프로세서(122)는 스토리지 장치(100)의 성능을 유지 또는 향상하기 위한 다양한 기능들을 수행할 수 있다.
프로세서(122)는 재훈련기(123) 및 에러 처리기(124)를 포함할 수 있다. 재훈련기(123)는 특정한 조건이 만족될 때에 재훈련 동작을 수행하도록 메모리 관리자(127)에 명령들을 전달할 수 있다. 재훈련기(123)는 프로세서(122)의 회로들 또는 회로들에 의해 실행되는 코드들의 형태로 구현될 수 있다.
에러 처리기(124)는 특정한 조건이 만족될 때에 에러에 따른 후속 처리를 수행하도록 메모리 관리자(127)에 명령들을 전달할 수 있다. 에러 처리기(124)는 프로세서(122)의 회로들 또는 회로들에 의해 실행되는 코드들의 형태로 구현될 수 있다.
랜덤 액세스 메모리(125)는 프로세서(122)의 동작 메모리로 사용될 수 있다. 랜덤 액세스 메모리(125)는 또한 외부의 호스트 장치와 불휘발성 메모리 장치(110) 사이의 버퍼 메모리 또는 캐시 메모리로 사용될 수 있다. 랜덤 액세스 메모리(125)는 제어기(120)의 내부, 외부 또는 내부 및 외부에 분할되어(물리적 그리고 기능적으로) 구현될 수 있다. 랜덤 액세스 메모리(125)는 DRAM 또는 SRAM으로 구현될 수 있다.
호스트 인터페이스 블록(126)은 외부의 호스트 장치와 통신할 수 있다. 호스트 인터페이스 블록(126)은, 예를 들어, 외부의 호스트 장치로부터 전달되는 명령들을 프로세서(122)로 전달하고, 외부의 호스트 장치로부터 전달되는 데이터를 랜덤 액세스 메모리(125)로 전달할 수 있다.
호스트 인터페이스 블록(126)은 외부의 호스트 장치에 응답들을 전송할 수 있다. 호스트 인터페이스 블록(126)은 랜덤 액세스 메모리(125)에 저장된 데이터를 외부의 호스트 장치로 전송할 수 있다.
메모리 관리자(127)는 프로세서(122)로부터 전달되는 명령들에 따라 동작할 수 있다. 메모리 관리자(127)는 제어 라인들(CL)을 통해 불휘발성 메모리 장치(110)와 제어 신호들(CTRL)을 교환할 수 있다. 메모리 관리자(127)는 입력 및 출력 라인들(DQ)을 통해 불휘발성 메모리 장치(110)에 명령(CMD) 및 주소(AD)를 전송할 수 있다.
메모리 관리자(127)는 랜덤 액세스 메모리(125)에 저장된 데이터를 입력 및 출력 라인들(DQ)을 통해 데이터(DT)로서 불휘발성 메모리 장치(110)로 전송할 수 있다. 메모리 관리자(127)는 불휘발성 메모리 장치(110)로부터 수신되는 데이터(DT)를 랜덤 액세스 메모리(125)에 저장할 수 있다.
메모리 관리자(127)는 에러 정정 블록(128)을 포함할 수 있다. 에러 정정 블록(128)은 에러 정정 코드(ECC)를 구동할 수 있다. 에러 정정 블록(128)은 불휘발성 메모리 장치(110)로 전송될 데이터(DT)에 패리티를 부가할 수 있다. 에러 정정 블록(128)은 불휘발성 메모리 장치(110)로부터 수신된 데이터(DT)에서 패리티를 이용하여 에러들을 검출하고 정정할 수 있다.
메모리 관리자(127)는 신호 전송 및 데이터 전송을 위한 지연 고정 루프(129)(DLLs)를 포함할 수 있다. 지연 고정 루프들(129)의 지연량들은 훈련 또는 재훈련 동작에 의해 조절될 수 있다. 메모리 관리자(127)는 지연 고정 루프들(129)의 출력들에 따라, 제어 라인들(CL)을 통해 불휘발성 메모리 장치(110)로 제어 신호들(CTRL)을 전송하고 그리고 입력 및 출력 라인들(DQ)을 통해 불휘발성 메모리 장치(110)로 명령(CMD), 주소(AD) 및 데이터(DT)를 전송할 수 있다.
본 발명의 실시 예에 따른 제어기(120) 및 불휘발성 메모리 장치(110)는 지연 고정 루프들(115, 117, 129)을 이용하여 신호들(예를 들어, 제어 신호 및 데이터)을 전송하도록 구성된다. 제어기(120)는 신호 전송 타이밍들의 에러들이 발생한 때에, 재훈련 동작을 수행하여 지연 고정 루프들(115, 117, 129)의 지연량들을 교정할 수 있다. 따라서, 스토리지 장치(100)의 신뢰성이 향상된다.
예시적으로, 재훈련기(123)는 프로세서(122)에 제공되는 것으로 설명되었다. 그러나 재훈련기(123)는 메모리 관리자(127)의 내부에 제공될 수 있다. 메모리 관리자(127)는 신호 전송 타이밍들의 에러들이 발생한 때에 불휘발성 메모리 장치(110)의 재훈련 동작을 수행하도록 구성될 수 있다.
도 2는 본 발명의 실시 예에 따른 스토리지 장치(100)의 동작 방법을 보여주는 순서도이다. 도 1 및 도 2를 참조하면, S110 단계에서, 스토리지 장치(100)는 초기 훈련 동작을 수행할 수 있다. 예를 들어, 스토리지 장치(100)에 전원이 공급된 후에 또는 스토리지 장치(100)가 리셋된 후에, 초기 훈련 동작이 수행될 수 있다. 초기 훈련 동작을 수행함으로써, 제어기(120)는 지연 고정 루프들(115, 117, 129)의 지연량들을 적절한 지연량들로 교정할 수 있다.
S120 단계에서, 제어기(120)는 데이터(DT)를 읽을 수 있다. 예를 들어, 제어기(120)는 불휘발성 메모리 장치(110)에 읽기 동작을 위한 명령(CMD), 주소(AD) 및 제어 신호들(CTRL)을 전송함으로써, 불휘발성 메모리 장치(110)로부터 데이터(DT)를 읽을 수 있다.
S130 단계에서, 제어기(120)는 데이터(DT)의 에러들의 수가 제1 문턱 값(TV1) 이상인지 판단할 수 있다. 제어기(120)는 메모리 관리자(127)의 에러 정정 블록(128)을 이용하여 데이터(DT)의 에러들을 검출할 수 있다. 제어기(120)는 에러들의 수를 제1 문턱 값(TV1)과 비교할 수 있다.
에러들의 수가 제1 문턱 값(TV1) 이상일 때, 제어기(120)는 S140 단계를 수행하여 재훈련 동작이 필요한지를 판단할 수 있다. 에러들의 수가 제1 문턱 값(TV1)보다 작을 때, 제어기(120)는 재훈련 동작이 불필요함을 판단하고, 재훈련 동작과 연관된 절차를 종료할 수 있다.
S140 단계에서, 제어기(120)는 에러들이 신호 전송 타이밍들의 변동으로부터 유발된 타이밍 에러들을 포함하는지 판단할 수 있다. 예를 들어, 지연 고정 루프들(115, 117, 129)의 지연량들이 고정된 후에 시간이 흐름에 따라 또는 온도가 변화함에 따라, 지연 고정 루프들(115, 117, 129)의 지연량들이 변동될 수 있다. 제어기(120)는 지연량들의 변동, 즉 신호 전송 타이밍들의 변동으로부터 유발된 타이밍 에러가 존재하는지 판단할 수 있다.
S150 단계에서, 에러들이 타이밍 에러들을 포함하면, 제어기(120)는 S160 단계에서 재훈련 동작을 수행할 수 있다. 이후에 재훈련 동작과 연관된 절차는 종료될 수 있다. 에러들이 타이밍 에러들을 포함하지 않으면, 제어기(120)는 재훈련 동작과 연관된 절차를 종료할 수 있다.
상술된 바와 같이, 읽기 동작 시에 에러들의 수가 제1 문턱 값(TV1) 이상이면, 제어기(120)는 재훈련 동작이 필요한지 판단할 수 있다. 재훈련 동작이 필요하면, 예를 들어 타이밍 에러가 존재하면, 제어기(120)는 재훈련 동작을 수행함으로써, 지연 고정 루프들(115, 117, 129)의 지연량들을 적절한 지연량들로 교정할 수 있다.
예시적으로, 제1 문턱 값(TV1)은 에러 정정 블록(128)이 정정 가능한 최대 에러들의 수와 동일하게 설정될 수 있다. 다른 예로서, 제1 문턱 값(TV1)은 최대 에러들의 수보다 작게 설정될 수 있다. 이 경우, 제어기(120)가 재훈련 동작과 연관된 절차를 수행하는 것과 독립적으로, 제어기(120)는 에러 정정 블록(128)을 이용하여 데이터(DT)의 에러를 정정하고, 에러 정정된 데이터를 외부의 호스트 장치에 제공하거나 자체적으로 사용할 수 있다.
도 3 및 도 4는 본 발명의 실시 예에 따른 메모리 관리자(127)가 재훈련 동작의 필요성을 판단하는 테스트 동작의 예를 보여준다. 예를 들어, 메모리 관리자(127)는 테스트 패턴을 불휘발성 메모리 장치(110)에 전송하고(도 3 참조), 그리고 불휘발성 메모리 장치(110)로부터 수신함으로써(도 4 참조) 타이밍 에러들이 존재하는지 판단할 수 있다.
도 3을 참조하면, 메모리 관리자(127)는 불휘발성 메모리 장치(110)에 테스트 패턴을 전송할 수 있다. 메모리 관리자(127)는 입력 및 출력 라인들(DQ)을 통해 명령(CMD), 주소(AD) 및 데이터(DT)를 전송할 수 있다. 예를 들어, 메모리 관리자(127)는 '80h'의 명령(CMD)(예를 들어 쓰기 명령)을 전송한 후에, 제1 열 주소(CA1), 제2 열 주소(CA2), 제1 행 주소(RA1), 제2 행 주소(RA2) 및 제3 행 주소(RA3)를 포함하는 주소(AD)를 불휘발성 메모리 장치(110)에 전송할 수 있다.
주소(AD)에 이어, 메모리 관리자(127)는 특정한 패턴 데이터를 데이터(DT)로서 불휘발성 메모리 장치(110)로 전송할 수 있다. 데이터(DT)는 입력 및 출력 라인들(DQ)을 통해 전역 버퍼(114)로 전달된다. 제어 신호들(CTRL)에 응답하여, 제어 논리(116)는 전역 버퍼(114)에 저장된 데이터(DT)를 페이지 버퍼(113)로 전송하도록 전역 버퍼(114)를 제어할 수 있다.
통상적인 쓰기 동작에서, 메모리 관리자(127)는 '10h'의 명령(CMD)(예를 들어, 확정 명령)을 더 전송할 수 있다. 확정 명령에 응답하여, 불휘발성 메모리 장치(110)는 페이지 버퍼(113)에 저장된 데이터(DT)를 이용하여 쓰기 동작을 수행할 수 있다.
본 발명의 실시 예에 따른 메모리 관리자(127)는 확정 명령을 전송하지 않도록 구성될 수 있다. 확정 명령을 전송하지 않음으로써, 페이지 버퍼(113)에 저장된 데이터를 이용하여 쓰기 동작이 수행되는 것이 방지된다. 따라서, 제어기(120)가 타이밍 에러들이 존재하는지 판단하기 위하여 데이터를 불휘발성 메모리 장치(110)에 전송하고 불휘발성 메모리 장치(110)로부터 수신하는 과정에서, 메모리 셀 어레이(111), 메모리 셀 어레이(111)로의 쓰기 동작, 그리고 메모리 셀 어레이(111)로부터의 읽기 동작의 잡음 또는 열화가 반영되는 것이 방지된다.
도 4를 참조하면, 메모리 관리자(127)는 불휘발성 메모리 장치(110)로부터 테스트 패턴을 수신할 수 있다. 메모리 관리자(127)는 입력 및 출력 라인들(DQ)을 통해 명령(CMD) 및 주소(AD)를 전송할 수 있다. 예를 들어, 메모리 관리자(127)는 '00h'의 명령(CMD)(예를 들어, 출력 명령)을 전송한 후에, 제1 열 주소(CA1), 제2 열 주소(CA2), 제1 행 주소(RA1), 제2 행 주소(RA2) 및 제3 행 주소(RA3)를 포함하는 주소(AD)를 불휘발성 메모리 장치(110)에 전송할 수 있다.
이후에, 메모리 관리자(127)는 '05h'의 명령(CMD)(예를 들어, 출력 명령), 제3 열 주소(CA3) 및 제4 열 주소(CA4)를 포함하는 주소(AD), 그리고 'E0h'의 명령(CMD)(예를 들어, 출력 명령)을 더 전송할 수 있다.
명령(CMD) 및 주소(AD)에 응답하여, 불휘발성 메모리 장치(110)는 페이지 버퍼(113)에 저장된 데이터(DT)(예를 들어, 특정한 패턴 데이터)를 전역 버퍼(114) 및 입력 및 출력 라인들(DQ)을 통해 메모리 관리자(127)로 전송할 수 있다. 메모리 관리자(127)는 입력 및 출력 라인들(DQ)을 통해 데이터(DT)를 수신할 수 있다.
도 3 및 도 4를 참조하면, 데이터(DT)는 지연 고정 루프들(129)을 이용하여 메모리 관리자(127)로부터 불휘발성 메모리 장치(110)로 전달되고, 지연 고정 루프들(115)을 이용하여 불휘발성 메모리 장치(110)로부터 메모리 관리자(127)로 전달된다.
데이터(DT)는 지연 고정 루프들(129, 117)을 이용하여 전송되는 제어 신호들(CTRL)에 동기되어 전달될 수 있다. 메모리 관리자(127)는 에러 정정 블록(128)을 이용하여 데이터(DT)의 에러들을 검출할 수 있다. 메모리 관리자(127)가 수신한 데이터(DT)의 에러들에서 타이밍 에러들이 대세적(dominant)일 수 있다. 제어기(120)(도 1 참조)는 수신된 데이터(DT)의 에러들로부터 타이밍 에러들이 존재하는지 판단할 수 있다.
예를 들어, 수신된 데이터(DT)의 에러들의 수가 제2 문턱 값(TV2) 이상일 때, 제어기(120)는 타이밍 에러들이 존재함을 판단할 수 있다. 또는, 도 2의 S120 단계와 같이, 제어기(120)는 불휘발성 메모리 장치(110)로부터 읽은 데이터의 에러들 중 테스트 동작을 유발한 에러들에 타이밍 에러들이 포함되어 있음을 판단할 수 있다.
도 5는 본 발명의 응용 예에 따른 스토리지 장치(100)의 동작 방법을 보여주는 순서도이다. 도 1 및 도 5를 참조하면, S250 단계에서 에러들이 타이밍 에러들을 포함하지 않을 때 S290 단계가 수행되는 것을 제외하면, S210 단계 내지 S260 단계는 도 2의 S110 단계 내지 S160 단계와 동일한 방식으로 수행된다. 따라서, S210 단계 내지 S260 단계에 대한 설명은 생략된다.
재훈련 동작을 수행한 후에, S270 단계에서, 메모리 관리자(127)는 불휘발성 메모리 장치(110)로부터 데이터(DT)를 다시 읽을 수 있다. 예를 들어, 메모리 관리자(127)는 S220 단계에서 사용한 주소(AD)를 이용하여 S270 단계에서 데이터(DT)를 다시 읽을 수 있다.
메모리 관리자(127)는 다시 읽은 데이터(DT)에서 에러들의 수를 검출할 수 있다. 재훈련 동작이 수행되었으므로, 검출된 에러들은 타이밍 에러들을 포함하지 않을 수 있다. 예를 들어, 검출된 에러들은 메모리 셀 어레이(111)의 메모리 셀들 또는 메모리 셀들에 기입된 데이터의 열화 또는 잡음을 나타낼 수 있다.
S280 단계에서, 제어기(120), 예를 들어 프로세서(122)는 에러들의 수를 제3 문턱 값(TV3)과 비교할 수 있다. 제3 문턱 값(TV3)은 에러 정정 블록(128)이 정정 가능한 최대 에러들의 수와 동일하게 또는 그보다 작게 설정될 수 있다. 에러들의 수가 제3 문턱 값(TV3)보다 작으면, 제어기(120)는 다시 읽은 데이터(DT)의 에러들과 연관된 절차를 종료할 수 있다.
에러들의 수가 제3 문턱 값(TV3) 이상이면, 제어기(120)는 에러 처리기(124)를 이용하여 에러들을 수행할 수 있다. 예를 들어, 에러들이 정정 가능할 때, 에러 처리기(124)는 데이터(DT)를 읽고 새로운 주소(AD)의 저장 공간에 저장하는 리프레시(refresh)를 수행하거나 예약할 수 있다.
에러들이 정정 불가능할 때, 에러 처리기(124)는 읽기 전압들을 조절하며 읽기 동작들을 반복하는 읽기 재시도(read retry)를 수행할 수 있다. 읽기 재시도는 반복적인 읽기들의 결과를 이용하여 최종 데이터를 판단하는 연판정(soft decision)으로 이어질 수 있다. 읽기 재시도를 통해 에러들이 정정된 데이터가 획득되면, 에러 처리기(124)는 획득된 데이터를 새로운 주소(AD)의 저장 공간에 저장하는 리프레시를 수행할 수 있다.
상술된 바와 같이, 제어기(120)는 재훈련 동작을 수행하여 타이밍 에러들을 교정한 후에, 읽기 동작을 다시 수행하여 메모리 셀 어레이(111)에서 유래한 에러들(예를 들어, 메모리 에러들)을 검출할 수 있다. 메모리 에러들의 수에 따라, 제어기(120)는 메모리 에러들을 교정하기 위한 에러 처리를 수행할 수 있다. 즉, 제어기(120)는 타이밍 에러들을 교정하기 위한 재훈련기(123) 및 메모리 에러들을 교정하기 위한 에러 처리기(124)를 구비할 수 있다.
예시적으로, 에러들의 수를 문턱 값(TV1 또는 TV2)과 독립적으로, 데이터(DT)의 에러들이 정정되면 제어기(120)는 에러들이 정정된 데이터를 외부의 호스트 장치로 출력하거나 또는 자체적으로 사용할 수 있다. 예시적으로, 데이터(DT)를 다시 읽는 S270 단계는 S220 단계에서 읽은 데이터(DT)의 에러들이 정정 불가능할 때에 수행될 수 있다. 즉, 제1 문턱 값(TV1)은 에러 정정 블록(128)이 정정 가능한 최대 에러들의 수와 동일할 수 있다.
도 6은 재훈련 동작의 정보를 다음 재훈련 동작에 반영하는 예를 보여주는 순서도이다. 도 1 및 도 6을 참조하면, S310 단계에서, 제어기(120)는 재훈련 동작을 수행한 후에 시간 스탬프(time stamp)를 저장할 수 있다. 시간 스탬프는 재훈련 동작이 수행된 시각 정보(time information)를 포함할 수 있다.
S320 단계에서, 제어기(120)는 외부의 호스트 장치의 요청에 따라 또는 내부적인 스케줄에 따라 불휘발성 메모리 장치(110)로부터 데이터(DT)를 읽을 수 있다. S330 단계에서, 제어기(120)는 데이터(DT)의 에러들의 수가 제1 문턱 값(TV1) 이상인지 판단할 수 있다. S320 단계 및 S330 단계는 도 2를 참조하여 설명된 S120 단계 및 S130 단계와 동일하게 수행될 수 있다.
에러들의 수가 제1 문턱 값(TV1) 이상이면, S340 단계에서, 제어기(120)는 시간 차이가 문턱 시간(TT)보다 적은지 판단할 수 있다. 예를 들어, 제어기(120)는 시간 스탬프를 읽을 수 있다. 제어기(120)는 시간 스탬프의 시각 정보와 현재의 시각 정보를 비교할 수 있다.
재훈련 동작이 수행된 이전 시각과 현재 시각의 차이가 문턱 시간(TT)보다 작으면, S350 단계가 수행된다. 재훈련 동작이 수행된 후 긴 시간이 경과하지 않았으면, 지연 고정 루프들(115, 117, 129)의 신호 전송 타이밍들이 틀어지지 않았을 수 있다. 따라서, S350 단계에서, 제어기(120)는 에러들이 타이밍 에러들을 포함하지 않음을 판단할 수 있다. 이후에, 도 5의 S290 단계를 참조하여 설명된 바와 같이, 제어기(120)는 에러 처리를 수행할 수 있다.
재훈련 동작이 수행된 이전 시각과 현재 시각의 차이가 문턱 시간(TT) 이상이면, S360 단계가 수행된다. 재훈련 동작이 수행된 후 긴 시간이 경과하였으면, 지연 고정 루프들(115, 117, 129)의 신호 전송 타이밍들이 틀어졌을 수 있다. 따라서, S360 단계에서, 제어기(120)는 에러들이 타이밍 에러들을 포함하는지 판단할 수 있다. 이후에, 도 2의 S150 단계 또는 도 5의 S250 단계를 수행할 수 있다.
상술된 바와 같이, 제어기(120)는 재훈련 동작을 수행한 후에 경과한 시간에 따라, 에러들이 타이밍 에러들을 포함하지 않음을 판단할 수 있다. 도 6에서 제어기(120)는 시간에 따라 판단을 수행하는 것으로 설명되었다. 그러나 도 6의 방법은 온도에 따라 판단을 수행하는 것으로 응용될 수 있다.
예를 들어, S310 단계에서, 제어기(120)는 재훈련 동작이 수행된 때의 온도 정보를 가리키는 온도 스탬프를 저장할 수 있다. S340 단계에서, 제어기(120)는 온도 스탬프의 온도와 현재 온도의 차이를 문턱 온도와 비교할 수 있다. 차이가 문턱 온도보다 작으면, 제어기(120)는 에러들이 타이밍 에러들을 포함하지 않음을 판단할 수 있다.
도 7은 재훈련 동작의 제1 예를 보여준다. 도 1 및 도 7을 참조하면, 재훈련 동작은 제어 신호들(CTRL) 중에서 읽기 인에이블 신호(RE)의 전송 타이밍들을 교정하는 것을 포함할 수 있다. 제1 시간(T1)에, 메모리 관리자(127)는 입력 및 출력 라인들(DQ)을 통해 불휘발성 메모리 장치(110)에 훈련 명령(18h)을 명령(CMD)으로 제공할 수 있다.
제2 시간(T2)에, 메모리 관리자(127)는 입력 및 출력 라인들(DQ)을 통해 불휘발성 메모리 장치(110)에 주소(AD)를 전송할 수 있다. 주소(AD)는 논리부 번호(LUN)(Logical Unit Number)를 포함할 수 있다.
제3 시간(T3)에, 메모리 관리자(127)는 제어 신호들(CTRL) 중에서 읽기 인에이블 신호(RE)를 토글할 수 있다. 예를 들어, 읽기 인에이블 신호(RE)는 상보적인 제1 및 제2 신호들을 포함할 수 있다.
제4 시간(T4)에, 불휘발성 메모리 장치(110)는 지연 고정 루프(117)를 이용하여 읽기 인에이블 신호(RE)로부터 데이터 스트로브 신호(DQS)를 생성할 수 있다. 예를 들어, 제어 논리(116)는 읽기 인에이블 신호(RE)를 지연하여 데이터 스트로브 신호(DQS)를 생성할 수 있다.
데이터 스트로브 신호(DQS)는 상보적인 제1 및 제2 신호들을 포함할 수 있다. 불휘발성 메모리 장치(110)는 데이터 스트로브 신호(DQS)를 제어 신호들(CTRL) 중 하나로서 메모리 관리자(127)에 전송할 수 있다. 제5 시간(T5)에, 불휘발성 메모리 장치(110)의 전역 버퍼(114)는 데이터 스트로브 신호(DQS)에 동기되어 입력 및 출력 라인들(DQ)을 통해 패턴 데이터(D1~Dn)를 메모리 관리자(127)로 전송할 수 있다.
패턴 데이터(D1~Dn)는 불휘발성 메모리 장치(110)의 하나의 페이지의 사이즈에 대응할 수 있다. 페이지는 복수의 메모리 셀들을 포함하며, 읽기 동작 또는 쓰기 동작의 기본 단위일 수 있다. 패턴 데이터(D1~Dn)는 정해진 패턴을 가질 수 있다. 메모리 관리자(127)는 지연 고정 루프들(129) 중 읽기 인에이블 신호(RE)에 해당하는 지연 고정 루프의 지연량을 조절하며, 도 7에 도시된 절차를 반복할 수 있다. 메모리 관리자(127)는 지연 고정 루프의 지연량을 교정할 수 있다.
도 8은 재훈련 동작의 제2 예를 보여준다. 도 1 및 도 8을 참조하면, 재훈련 동작은 불휘발성 메모리 장치(110)가 입력 및 출력 라인들(DQ)을 통해 데이터(DT)를 전송하는 타이밍들을 조절하는 읽기 훈련을 포함할 수 있다.
제1 시간(T1)에, 메모리 관리자(127)는 입력 및 출력 라인들(DQ)을 통해 불휘발성 메모리 장치(110)에 읽기 훈련 명령(62h)을 명령(CMD)으로 제공할 수 있다. 제2 시간(T2)에, 메모리 관리자(127)는 입력 및 출력 라인들(DQ)을 통해 불휘발성 메모리 장치(110)에 제1 내지 제4 주소들(AD1~AD4)을 순차적으로 전송할 수 있다.
제1 주소(AD1)는 논리부 번호(LUN)를 포함할 수 있다. 제2 주소(AD2)는 바이트 반전 설정(byte inversion setting)을 포함할 수 있다. 제3 주소(AD3) 및 제4 주소(AD4) 각각은 8비트의 특정한 패턴을 포함할 수 있다.
제3 시간(T3)에, 메모리 관리자(127)는 읽기 인에이블 신호(RE)를 토글할 수 있다. 제4 시간(T4)에, 제어 논리(116)는 읽기 인에이블 신호(RE)를 지연하여 데이터 스트로브 신호(DQS)를 출력할 수 있다. 제5 시간(T5), 전역 버퍼(114)는 데이터 스트로브 신호(DQS)에 동기되어 입력 및 출력 라인들(DQ)을 통해 패턴 데이터(D1~Dn)를 출력할 수 있다. 패턴 데이터(D1~Dn)는 특정한 비트들을 포함할 수 있다.
메모리 관리자(127)는 지연 고정 루프들(115)의 지연량들을 조절하며, 도 8에 도시된 절차를 반복할 수 있다. 메모리 관리자(127)는 지연 고정 루프들(115)의 지연량들을 교정할 수 있다.
도 9 및 도 10은 재훈련 동작의 제3 예를 보여준다. 재훈련 동작은 메모리 관리자(127)가 입력 및 출력 라인들(DQ)을 통해 데이터(DT)를 전송하는 타이밍들을 조절하는 쓰기 훈련을 포함할 수 있다.
도 1 및 도 9를 참조하면, 제1 시간(T1)에, 메모리 관리자(127)는 입력 및 출력 라인들(DQ)을 통해 제1 쓰기 훈련 명령(63h)을 명령(CMD)으로 전송할 수 있다. 제2 시간(T2)에, 메모리 관리자(127)는 입력 및 출력 라인들(DQ)을 통해 주소(AD)를 불휘발성 메모리 장치(110)로 전송할 수 있다. 주소(AD)는 논리부 번호(LUN)를 포함할 수 있다.
제3 시간(T3)에, 메모리 관리자(127)는 제어 신호들(CTRL) 중 데이터 스트로브 신호(DQS)를 토글할 수 있다. 데이터 스트로브 신호(DQS)는 상보적인 제1 및 제2 신호들을 포함할 수 있다.
제4 시간(T4)에, 메모리 관리자(127)는 데이터 스트로브 신호(DQS)에 동기되어 입력 및 출력 라인들(DQ)을 통해 패턴 데이터(D1~Dn)를 불휘발성 메모리 장치(110)로 전송할 수 있다. 패턴 데이터(D1~Dn)는 특정한 비트들을 포함할 수 있다.
도 1 및 도 10을 참조하면, 제5 시간(T5)에, 메모리 관리자(127)는 입력 및 출력 라인들(DQ)을 통해 불휘발성 메모리 장치(110)에 제2 쓰기 훈련 명령(64h)을 명령(CMD)으로 전송할 수 있다. 제6 시간(T6)에, 메모리 관리자(127)는 입력 및 출력 라인들(DQ)을 통해 불휘발성 메모리 장치(110)에 주소(AD)를 전송할 수 있다. 주소(AD)는 논리부 번호(LUN)를 포함할 수 있다.
제7 시간(T7)에, 메모리 관리자(127)는 읽기 인에이블 신호(RE)를 토글할 수 있다. 제8 시간(T8)에, 제어 논리(116)는 읽기 인에이블 신호(RE)를 지연하여 데이터 스트로브 신호(DQS)를 출력할 수 있다.
제9 시간(T9)에, 전역 버퍼(114)는 데이터 스트로브 신호(DQS)에 동기되어 패턴 데이터(D1~Dn)를 입력 및 출력 라인들(DQ)을 통해 메모리 관리자(127)로 전송할 수 있다.
메모리 관리자(127)는 지연 고정 루프들(129)의 지연량들을 조절하며, 도 9 및 도 10에 도시된 절차를 반복할 수 있다. 메모리 관리자(127)는 지연 고정 루프들(129)의 지연량들을 교정할 수 있다.
도 11은 본 발명의 응용 예에 따른 스토리지 장치(100a)를 보여주는 블록도이다. 도 11을 참조하면, 스토리지 장치(100a)는 제1 불휘발성 메모리 장치들(110_11~110_1n) 및 제2 불휘발성 메모리 장치들(110_21~110_2n), 그리고 제어기(120a)를 포함한다.
제1 불휘발성 메모리 장치들(110_11~110_1n) 및 제2 불휘발성 메모리 장치들(110_21~110_2n) 각각은, 도 1을 참조하여 설명된 바와 같이, 메모리 셀 어레이(111), 주소 디코더(112), 페이지 버퍼(113), 전역 버퍼(114), 그리고 제어 논리(116)를 포함할 수 있다.
제어기(120a)는 제1 불휘발성 메모리 장치들(110_11~110_1n)을 제어하는 제1 메모리 관리자(127_1) 및 제2 불휘발성 메모리 장치들(110_21~110_2n)을 제어하는 제2 메모리 관리자(127_2), 그리고 랜덤 액세스 메모리(125)를 포함할 수 있다.
예시적으로, 도 1을 참조하여 설명된 바와 같이, 제어기(120)는 버스(121), 프로세서(122), 그리고 호스트 인터페이스 블록(126)을 더 포함할 수 있다. 또한, 제1 메모리 관리자(127_1) 및 제2 메모리 관리자(127_2) 각각은 에러 정정 블록(128) 및 지연 고정 루프들(129)을 포함할 수 있다.
제1 메모리 관리자(127_1)는 제1 채널(CH1)을 통해 제1 불휘발성 메모리 장치들(110_11~110_1n)을 제어할 수 있다. 제1 메모리 관리자(127_1)는 공통의 입력 및 출력 라인들(DQ)을 통해 제1 불휘발성 메모리 장치들(110_11~110_1n)과 통신할 수 있다. 제1 메모리 관리자(127_1)는 공통의 제1 제어 라인들 및 개별적인 제2 제어 라인들을 통해 제1 불휘발성 메모리 장치들(110_11~110_1n)과 통신할 수 있다.
예를 들어, 제1 메모리 관리자(127_1)는 읽기 인에이블 신호(RE), 데이터 스트로브 신호(DQS), 쓰기 인에이블 신호(WE), 명령 래치 인에이블 신호(CLE), 주소 래치 인에이블 신호(ALE) 등과 같이, 제1 불휘발성 메모리 장치들(110_11~110_1n)에서 공통으로 사용되는 제어 신호들을 공통의 제1 제어 라인들을 통해 제1 불휘발성 메모리 장치들(110_11~110_1n)에 전송할 수 있다.
제1 메모리 관리자(127_1)는 제1 불휘발성 메모리 장치들(110_11~110_1n) 중 선택된 불휘발성 메모리 장치를 가리키는 칩 인에이블 신호들(CE), 그리고 제1 불휘발성 메모리 장치들(110_11~110_1n)의 상태들을 나타내는 레디/비지 신호들(R/nB)을 제1 불휘발성 메모리 장치들(110_11~110_1n)과 개별적으로 통신할 수 있다.
제1 메모리 관리자(127_1)는 도 1 및 도 10을 참조하여 설명된 바와 같이, 제1 불휘발성 메모리 장치들(110_11~110_1n) 각각이 타이밍 에러들을 갖는지 판단하고, 그리고 재훈련 동작을 수행할 수 있다. 제1 메모리 관리자(127_1)는 제1 불휘발성 메모리 장치들(110-11~110_1n) 각각에 대해 에러 처리를 더 수행할 수 있다.
제2 메모리 관리자(127_2)는 제2 채널(CH2)을 통해 제2 불휘발성 메모리 장치들(110_21~110_2n)을 제어할 수 있다. 제2 메모리 관리자(127_2) 및 제2 불휘발성 메모리 장치들(110_21~110_2n)은 제1 메모리 관리자(127_1) 및 제1 불휘발성 메모리 장치들(110_11~110_1n)를 참조하여 설명된 것과 동일하게 동작할 수 있다.
랜덤 액세스 메모리(125)에 제1 불휘발성 메모리 장치들(110_11~110_1n) 및 제2 불휘발성 메모리 장치들(110_21~110_2n)에 대한 재훈련 플래그들이 저장될 수 있다. 재훈련 플래그들은 제1 불휘발성 메모리 장치들(110_11~110_1n) 및 제2 불휘발성 메모리 장치들(110_21~110_2n)에 대한 재훈련 동작이 필요한지 필요하지 않은지를 나타낼 수 있다.
예를 들어, 재훈련 동작이 필요한 것으로 특정한 불휘발성 메모리 장치의 재훈련 플래그가 설정되어 있으면, 제어기(120a)는 유휴 시간에 또는 특정한 불휘발성 메모리 장치에 대한 액세스가 필요할 때에 특정한 불휘발성 메모리 장치에 대한 재훈련 동작을 수행할 수 있다. 유휴 시간은 외부의 호스트 장치로부터 전달되어 제어기(120a)가 처리해야 하는 작업이 존재하지 않는 시간을 나타낼 수 있다.
본 발명의 실시 예에 따르면, 제어기(120a)는 특정한 불휘발성 메모리 장치가 타이밍 에러들을 포함할 때, 재훈련 동작을 바로 수행하지 않고 다음에 수행하도록 예약할 수 있다. 따라서, 작업 일정을 유연하게 조절할 수 있으며 향상된 성능을 갖는 스토리지 장치(100a)가 제공된다.
도 12는 본 발명의 응용 예에 따른 스토리지 장치(100a)의 동작 방법을 보여주는 순서도이다. 도 12를 참조하면, S410 단계에서, 제어기(120a)는 제1 불휘발성 메모리 장치들(110_11~110_1n) 및 제2 불휘발성 메모리 장치들(110_21~110_2n) 중 특정한 불휘발성 메모리 장치에서 타이밍 에러들을 검출할 수 있다.
S420 단계에서, 제어기(120)는 타이밍 에러들을 갖는 특정한 불휘발성 메모리 장치에 대응하는 불휘발성 메모리 장치들에 대한 재훈련 플래그들을 표시할 수 있다. 예를 들어, 제어기(120)는 특정한 불휘발성 메모리 장치와 동일한 채널에 속한 불휘발성 메모리 장치들의 재훈련 플래그를 재훈련 동작이 필요함으로 표시할 수 있다.
S430 단계에서, 불휘발성 메모리 장치를 액세스할 때 또는 유휴 시간에, 제어기(120)는 재훈련 플래그에 따라 재훈련 동작을 수행할 수 있다. 예를 들어, 제어기(120)는 재훈련이 필요한 불휘발성 메모리 장치를 액세스할 때, 액세스를 수행하기 전에 재훈련 동작을 먼저 수행할 수 있다.
도 13은 도 12의 동작 방법에 따라 스토리지 장치(100a)가 동작하는 예를 보여준다. 도 13을 참조하면, S510 단계에서, 제2 메모리 관리자(127_2)는 불휘발성 메모리 장치(110_22)에서 타이밍 에러들을 포함하는 에러들을 검출할 수 있다. 타이밍 에러들이 검출됨에 따라, S520 단계에서, 제어기(120)는 제2 채널(CH2)에 속한 제2 불휘발성 메모리 장치들(110_21~110_2n)의 재훈련 플래그들을 재훈련이 필요함으로 설정할 수 있다.
이후에, 제어기(120a)는 유휴 시간에 또는 제2 불휘발성 메모리 장치들(110_21~110_2n) 중 임의의 불휘발성 메모리 장치를 액세스할 때에 재훈련 동작을 수행할 수 있다.
특정한 채널에 속한 하나의 불휘발성 메모리 장치에서 타이밍 에러들이 검출되면, 특정한 채널에 속한 모든 불휘발성 메모리 장치들에 대해 재훈련 동작들이 수행되어야 한다. 본 발명의 실시 예에 따른 스토리지 장치(100a)는 불휘발성 메모리 장치들에 대한 재훈련 동작들을 분산하여 수행하도록 구성된다. 따라서, 재훈련 동작들을 한 번에 수행함에 따라 발생하는 시간 지연이 방지된다.
상술된 실시 예들에서, "블록"의 용어를 사용하여 본 발명의 실시 예들에 따른 구성 요소들이 참조되었다. "블록"은 IC (Integrated Circuit), ASIC (Application Specific IC), FPGA (Field Programmable Gate Array), CPLD (Complex Programmable Logic Device) 등과 같은 다양한 하드웨어 장치들, 하드웨어 장치들에서 구동되는 펌웨어, 응용과 같은 소프트웨어, 또는 하드웨어 장치와 소프트웨어가 조합된 형태로 구현될 수 있다. 또한, "블록"은 IC 내의 반도체 소자들로 구성되는 회로들 또는 IP (Intellectual Property)를 포함할 수 있다.
상술된 내용은 본 발명을 실시하기 위한 구체적인 실시 예들이다. 본 발명은 상술된 실시 예들뿐만 아니라, 단순하게 설계 변경되거나 용이하게 변경할 수 있는 실시 예들 또한 포함할 것이다. 또한, 본 발명은 실시 예들을 이용하여 용이하게 변형하여 실시할 수 있는 기술들도 포함될 것이다. 따라서, 본 발명의 범위는 상술된 실시 예들에 국한되어 정해져서는 안되며 후술하는 특허청구범위뿐만 아니라 이 발명의 특허청구범위와 균등한 것들에 의해 정해져야 할 것이다.
100: 스토리지 장치
110: 불휘발성 메모리 장치
111: 메모리 셀 어레이
112: 주소 디코더
113: 페이지 버퍼
114: 전역 버퍼
115: 지연 고정 루프들
116: 제어 논리
117: 지연 고정 루프
120: 제어기
121: 버스
122: 프로세서
123: 재훈련기
124: 에러 처리기
125: 랜덤 액세스 메모리
126: 호스트 인터페이스 블록
127: 메모리 관리자
128: 에러 정정 블록
129: 지연 고정 루프들

Claims (10)

  1. 불휘발성 메모리 장치; 그리고
    상기 불휘발성 메모리 장치로부터 제1 데이터를 읽도록 구성되는 제어기를 포함하고,
    상기 제1 데이터의 제1 에러들의 수가 제1 문턱 값 이상이면, 상기 제어기는 상기 제1 에러들이 상기 불휘발성 메모리 장치와 상기 제어기 사이의 신호 전송 타이밍들의 변동으로부터 유발된 타이밍 에러들을 포함하는지 판단하고, 그리고 상기 제1 에러들이 상기 타이밍 에러들을 포함하면 상기 신호 전송 타이밍들의 재훈련(retraining) 동작을 수행하도록 더 구성되는 스토리지 장치.
  2. 제1항에 있어서,
    상기 제어기는 상기 제1 에러들을 정정하도록 구성되는 에러 정정 블록을 포함하고,
    상기 제1 문턱 값은 상기 에러 정정 블록이 정정하는 최대 에러 수와 같거나 그보다 작은 스토리지 장치.
  3. 제1항에 있어서,
    상기 제어기는 제1 패턴 데이터를 상기 불휘발성 메모리 장치에 전송하고 그리고 상기 불휘발성 메모리 장치로부터 제2 패턴 데이터를 수신하고, 그리고 상기 제2 패턴 데이터의 제2 에러들에 따라 상기 제1 에러들이 상기 타이밍 에러들을 포함하는지 판단하는 스토리지 장치.
  4. 제3항에 있어서,
    상기 불휘발성 메모리 장치는 메모리 셀들을 포함하는 메모리 셀 어레이 및 상기 메모리 셀 어레이에 연결된 버퍼를 포함하고,
    상기 제어기는 상기 제1 패턴 데이터가 상기 메모리 셀 어레이에 기입되지 않고 상기 버퍼에만 저장되도록 상기 불휘발성 메모리 장치를 제어하는 스토리지 장치.
  5. 제4항에 있어서,
    상기 제어기는 상기 불휘발성 메모리 장치에 쓰기 명령 및 상기 제1 패턴 데이터를 쓰전송하고, 그리고 확정(confirm) 명령을 전송하지 않음으로써 상기 제1 패턴 데이터를 상기 버퍼에만 저장하도록 상기 불휘발성 메모리 장치를 제어하는 스토리지 장치.
  6. 제3항에 있어서,
    상기 제어기는 상기 불휘발성 메모리 장치가 상기 신호 전송 타이밍들 중 읽기 신호 전송 타이밍들에 따라 상기 제1 패턴 데이터를 상기 제2 패턴 데이터로 출력하도록 상기 불휘발성 메모리 장치를 제어하는 스토리지 장치.
  7. 제3항에 있어서,
    상기 제2 에러들의 수가 제2 문턱 값 이상이면, 상기 제어기는 상기 제1 에러들이 상기 타이밍 에러들을 포함하는 것으로 판단하는 스토리지 장치.
  8. 제1항에 있어서,
    상기 제1 에러들이 정정 불가능하면, 상기 제어기는 상기 재훈련 동작을 수행한 후에 상기 불휘발성 메모리 장치로부터 상기 제1 데이터를 제2 데이터로서 다시 읽도록 더 구성되는 스토리지 장치.
  9. 제1 불휘발성 메모리 장치들;
    제2 불휘발성 메모리 장치들; 그리고
    제1 채널을 통해 상기 제1 불휘발성 메모리 장치들과 통신하고, 그리고 제2 채널을 통해 상기 제2 불휘발성 메모리 장치들과 통신하도록 구성되는 제어기를 포함하고,
    상기 제1 불휘발성 메모리 장치들 중 특정한 불휘발성 메모리 장치로부터 읽은 데이터의 에러들의 수가 문턱 값 이상이면, 상기 제어기는 상기 에러들이 상기 특정한 불휘발성 메모리 장치와 상기 제어기 사이의 신호 전송 타이밍들의 변동으로부터 유발된 타이밍 에러들을 포함하는지 판단하고, 그리고 상기 에러들이 상기 타이밍 에러들을 포함하면 상기 제1 불휘발성 메모리 장치들을 재훈련 동작의 대상들로 판단하도록 더 구성되는 스토리지 장치.
  10. 불휘발성 메모리 장치 및 제어기를 포함하는 스토리지 장치의 동작 방법에 있어서:
    상기 제어기가 상기 불휘발성 메모리 장치로부터 데이터를 읽는 단계;
    상기 데이터의 제1 에러들의 수가 제1 문턱 값 이상이면, 상기 제어기가 상기 불휘발성 메모리 장치로 제1 테스트 데이터를 전송하고 제2 테스트 데이터를 수신하는 단계; 그리고
    상기 제2 테스트 데이터의 제2 에러들의 수가 제2 문턱 값 이상이면, 상기 제어기가 상기 불휘발성 메모리 장치의 재훈련 동작을 수행하는 단계를 포함하는 동작 방법.
KR1020180057726A 2018-05-21 2018-05-21 스토리지 장치 및 스토리지 장치의 동작 방법 KR102499794B1 (ko)

Priority Applications (5)

Application Number Priority Date Filing Date Title
KR1020180057726A KR102499794B1 (ko) 2018-05-21 2018-05-21 스토리지 장치 및 스토리지 장치의 동작 방법
US16/248,540 US10970164B2 (en) 2018-05-21 2019-01-15 Storage device and operating method of storage device
CN201910328763.1A CN110517714B (zh) 2018-05-21 2019-04-23 存储装置和存储装置的操作方法
US17/198,315 US11461172B2 (en) 2018-05-21 2021-03-11 Storage device and operating method of storage device
US17/900,336 US11836041B2 (en) 2018-05-21 2022-08-31 Storage device and operating method of storage device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180057726A KR102499794B1 (ko) 2018-05-21 2018-05-21 스토리지 장치 및 스토리지 장치의 동작 방법

Publications (2)

Publication Number Publication Date
KR20190132788A true KR20190132788A (ko) 2019-11-29
KR102499794B1 KR102499794B1 (ko) 2023-02-15

Family

ID=68532573

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180057726A KR102499794B1 (ko) 2018-05-21 2018-05-21 스토리지 장치 및 스토리지 장치의 동작 방법

Country Status (3)

Country Link
US (3) US10970164B2 (ko)
KR (1) KR102499794B1 (ko)
CN (1) CN110517714B (ko)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11604714B2 (en) * 2017-08-09 2023-03-14 Samsung Electronics Co, Ltd. Memory device for efficiently determining whether to perform re-training operation and memory system including the same
KR102499794B1 (ko) 2018-05-21 2023-02-15 삼성전자주식회사 스토리지 장치 및 스토리지 장치의 동작 방법
JP2020046918A (ja) * 2018-09-19 2020-03-26 キオクシア株式会社 記憶装置及び制御方法
KR20210136203A (ko) 2020-05-06 2021-11-17 삼성전자주식회사 저장 장치 및 그것의 리트레이닝 방법
CN111880736B (zh) * 2020-07-28 2022-08-16 苏州浪潮智能科技有限公司 一种固态硬盘访问方法、装置、设备及介质
KR20220019944A (ko) 2020-08-11 2022-02-18 삼성전자주식회사 스토리지 장치 및 스토리지 장치의 동작 방법

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020066052A1 (en) * 2000-11-30 2002-05-30 Olarig Sompong P. Method and apparatus for scheduling and using memory calibrations to reduce memory errors in high speed memory devices
US20060284733A1 (en) * 2005-06-20 2006-12-21 Mccall James A Initiation of differential link retraining upon temperature excursion
US20080002590A1 (en) * 2006-06-30 2008-01-03 Tessil Thomas Memory agent with error hardware
US20080162991A1 (en) * 2007-01-02 2008-07-03 International Business Machines Corporation Systems and methods for improving serviceability of a memory system
US20090244997A1 (en) * 2008-03-31 2009-10-01 Advanced Micro Devices, Inc. Method for Training Dynamic Random Access Memory (DRAM) Controller Timing Delays
US20110320921A1 (en) * 2010-06-24 2011-12-29 International Business Machines Corporation Failing bus lane detection using syndrome analysis
US20150066819A1 (en) * 2013-09-04 2015-03-05 Christopher P. Mozak Periodic training for unmatched signal receiver
US20160092335A1 (en) * 2014-09-26 2016-03-31 Joshua Boelter Link retraining based on runtime performance characteristics

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1326357A1 (de) * 2002-01-08 2003-07-09 Siemens Aktiengesellschaft Verfahren zur Prüfung und Aufrechterhaltung einer vorbestimmten physikalischen Bitrate einer Leitungsverbindung
US7036053B2 (en) 2002-12-19 2006-04-25 Intel Corporation Two dimensional data eye centering for source synchronous data transfers
US7313737B2 (en) * 2003-03-19 2007-12-25 Nokia Corporation Adaptive link adaptation
US7831882B2 (en) * 2005-06-03 2010-11-09 Rambus Inc. Memory system with error detection and retry modes of operation
JP4519923B2 (ja) * 2008-02-29 2010-08-04 株式会社東芝 メモリシステム
US8578086B2 (en) * 2009-09-25 2013-11-05 Intel Corporation Memory link initialization
KR20110100467A (ko) 2010-03-04 2011-09-14 삼성전자주식회사 메모리 장치를 구비하는 시스템의 데이터 트레이닝 최적화 방법
US9275706B2 (en) 2013-02-28 2016-03-01 Sandisk Technologies Inc. Auto-calibration for high speed input/output
CN104298572B (zh) * 2013-07-19 2018-01-26 杨凤兰 一种纠错方法、纠错装置、主控制器和纠错系统
KR20150082930A (ko) * 2014-01-08 2015-07-16 에스케이하이닉스 주식회사 데이터 저장 장치 및 그것의 동작 방법
US9417945B2 (en) 2014-03-05 2016-08-16 International Business Machines Corporation Error checking and correction for NAND flash devices
US9431129B2 (en) * 2014-04-30 2016-08-30 Qualcomm Incorporated Variable read delay system
KR20160075094A (ko) 2014-12-19 2016-06-29 삼성전자주식회사 메모리 컨트롤러와 이를 포함하는 메모리 시스템
US9811273B1 (en) * 2014-12-23 2017-11-07 Cadence Design Systems, Inc. System and method for reliable high-speed data transfer in multiple data rate nonvolatile memory
KR102290988B1 (ko) * 2015-06-08 2021-08-19 삼성전자주식회사 불휘발성 메모리 모듈 및 그것의 동작 방법
US10180874B2 (en) * 2015-10-28 2019-01-15 Western Digital Technologies, Inc. Storage device operations based on bit error rate (BER) estimate
US9558850B1 (en) 2015-12-01 2017-01-31 International Business Machines Corporation Efficient calibration of a data eye for memory devices
KR102473209B1 (ko) * 2015-12-14 2022-12-02 삼성전자주식회사 스토리지 장치 및 스토리지 장치의 동작 방법
KR102509845B1 (ko) * 2016-08-29 2023-03-13 엘지디스플레이 주식회사 표시장치 및 이의 구동방법
US10459785B2 (en) * 2017-09-27 2019-10-29 Western Digital Technologies, Inc. Error detection for training non-volatile memories
US20190095299A1 (en) * 2017-09-28 2019-03-28 Cnex Labs, Inc. Storage system with machine learning mechanism and method of operation thereof
KR102427323B1 (ko) * 2017-11-08 2022-08-01 삼성전자주식회사 반도체 메모리 모듈, 반도체 메모리 시스템, 그리고 반도체 메모리 모듈을 액세스하는 액세스 방법
KR102499794B1 (ko) 2018-05-21 2023-02-15 삼성전자주식회사 스토리지 장치 및 스토리지 장치의 동작 방법
US20220066052A1 (en) 2020-08-31 2022-03-03 Continental Automotive Systems, Inc. Electronic Control System for Position Determination, Method and Utilization

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020066052A1 (en) * 2000-11-30 2002-05-30 Olarig Sompong P. Method and apparatus for scheduling and using memory calibrations to reduce memory errors in high speed memory devices
US20060284733A1 (en) * 2005-06-20 2006-12-21 Mccall James A Initiation of differential link retraining upon temperature excursion
US20080002590A1 (en) * 2006-06-30 2008-01-03 Tessil Thomas Memory agent with error hardware
US20080162991A1 (en) * 2007-01-02 2008-07-03 International Business Machines Corporation Systems and methods for improving serviceability of a memory system
US20090244997A1 (en) * 2008-03-31 2009-10-01 Advanced Micro Devices, Inc. Method for Training Dynamic Random Access Memory (DRAM) Controller Timing Delays
US20110320921A1 (en) * 2010-06-24 2011-12-29 International Business Machines Corporation Failing bus lane detection using syndrome analysis
US20150066819A1 (en) * 2013-09-04 2015-03-05 Christopher P. Mozak Periodic training for unmatched signal receiver
US20160092335A1 (en) * 2014-09-26 2016-03-31 Joshua Boelter Link retraining based on runtime performance characteristics

Also Published As

Publication number Publication date
US11461172B2 (en) 2022-10-04
US20210200634A1 (en) 2021-07-01
KR102499794B1 (ko) 2023-02-15
US20190354431A1 (en) 2019-11-21
US10970164B2 (en) 2021-04-06
CN110517714B (zh) 2024-10-18
CN110517714A (zh) 2019-11-29
US20220413963A1 (en) 2022-12-29
US11836041B2 (en) 2023-12-05

Similar Documents

Publication Publication Date Title
KR102499794B1 (ko) 스토리지 장치 및 스토리지 장치의 동작 방법
US11862234B2 (en) Memory device and operation method thereof
KR102353027B1 (ko) 스토리지 장치의 데이터 트레이닝 방법
KR102378384B1 (ko) 불휘발성 메모리 장치의 동작 방법 및 메모리 컨트롤러의 동작 방법
US10795603B2 (en) Systems and methods for writing zeros to a memory array
US9223650B2 (en) Solid state disk controller apparatus
US10572341B2 (en) Semiconductor devices
US10249381B2 (en) Semiconductor memory device and data write method
KR20200052562A (ko) 스토리지 장치
US20180052732A1 (en) Semiconductor device and semiconductor system
CN109686388B (zh) 存储设备和存储设备的操作方法
US20080244369A1 (en) Register read mechanism
US20190272213A1 (en) Shared address counters for multiple modes of operation in a memory device
CN111223504B (zh) 接口芯片和包括接口芯片和存储器芯片的存储设备
US20180293133A1 (en) Memory system, memory device and operating method thereof
TW201839776A (zh) 半導體裝置
US20180136844A1 (en) Arithmetic circuit and a semiconductor device
TWI756971B (zh) 記憶體裝置以及其讀取方法
US10319455B2 (en) Semiconductor device
WO2019118009A1 (en) Systems and methods for writing zeros to a memory array
US11705170B2 (en) Memory device related to performing a column operation
US20240302978A1 (en) Memory controller and memory system with data strobe signal calibration circuit
US20210257009A1 (en) Methods of performing self-write operation and semiconductor devices used therefor
KR20230062311A (ko) 스토리지 장치 및 스토리지 장치의 제어 방법

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant