Search

KR-20260061558-A - STORAGE DEVICE STORING TEMPERATURE RANGE INFORMATION AT THE TIME OF PROGRAMMING DATA AND OPERATING METHOD OF STORAGE DEVICE

KR20260061558AKR 20260061558 AKR20260061558 AKR 20260061558AKR-20260061558-A

Abstract

스토리지 장치는 메모리 및 컨트롤러를 포함할 수 있다. 메모리는 복수의 메모리 유닛들을 포함하고, 복수의 메모리 유닛들 각각은 복수의 제1 메모리 셀들 및 제2 메모리 셀들을 포함할 수 있다. 컨트롤러는, 복수의 메모리 유닛들 중에서 타깃 메모리 유닛에 포함된 제1 메모리 셀들에 타깃 데이터를 프로그램하고, 타깃 메모리 유닛에 포함된 제2 메모리 셀들에 타깃 데이터에 대응하는 메타 데이터를 프로그램하고, 타깃 데이터를 프로그램하는 시점의 온도 구간 정보인 제1 온도 구간 정보를 타깃 메모리 유닛에 포함된 제2 메모리 셀들에 프로그램할 수 있다.

Inventors

  • 한효병
  • 최영우

Assignees

  • 에스케이하이닉스 주식회사

Dates

Publication Date
20260506
Application Date
20241028

Claims (9)

  1. 복수의 메모리 유닛들을 포함하고, 상기 복수의 메모리 유닛들 각각은 복수의 제1 메모리 셀들 및 제2 메모리 셀들을 포함하는 메모리; 및 상기 복수의 메모리 유닛들 중에서 타깃 메모리 유닛에 포함된 제1 메모리 셀들에 타깃 데이터를 프로그램하고, 상기 타깃 메모리 유닛에 포함된 제2 메모리 셀들에 상기 타깃 데이터에 대응하는 메타 데이터를 프로그램하고, 상기 타깃 데이터를 프로그램하는 시점의 온도 구간 정보인 제1 온도 구간 정보를 상기 타깃 메모리 유닛에 포함된 제2 메모리 셀들에 프로그램하는 컨트롤러;를 포함하는 스토리지 장치.
  2. 제1항에 있어서, 상기 메모리는 복수의 워드 라인들을 포함하고, 상기 타깃 메모리 유닛에 포함된 제1 메모리 셀들 및 제2 메모리 셀들은 상기 복수의 워드 라인들 중 제1 워드 라인에 연결되는 스토리지 장치.
  3. 제1항에 있어서, 상기 온도 구간 정보는, 제1 온도 구간, 제2 온도 구간 또는 제3 온도 구간을 지시하고, 상기 제1 온도 구간은 제1 임계 온도 미만인 온도에 대응하는 구간이고, 상기 제2 온도 구간은 상기 제1 임계 온도 이상이고 제2 임계 온도 미만인 온도에 대응하는 구간이고, 상기 제3 온도 구간은 상기 제2 임계 온도 이상인 온도에 대응하는 구간인 스토리지 장치.
  4. 제1항에 있어서, 상기 컨트롤러는, 상기 타깃 메모리 유닛에 포함된 제1 메모리 셀들로부터 상기 타깃 데이터를 리드하고, 상기 타깃 메모리 유닛에 포함된 제2 메모리 셀들로부터 상기 제1 온도 구간 정보를 리드하고, 상기 리드된 제1 온도 구간 정보 및 상기 타깃 데이터를 리드하는 시점의 온도 구간 정보인 제2 온도 구간 정보를 기초로, 상기 타깃 데이터에 대한 리드 카운트의 증가량을 결정하는 스토리지 장치.
  5. 제4항에 있어서, 상기 컨트롤러는, 상기 제1 온도 구간 정보 및 상기 제2 온도 구간 정보의 쌍에 따른 리드 카운트의 증가량을 지시하는 리드 카운트 보상 테이블을 기초로, 상기 타깃 데이터에 대한 리드 카운트의 증가량을 결정하는 스토리지 장치.
  6. 메모리에 포함된 복수의 메모리 유닛들 중에서 타깃 메모리 유닛을 결정하고, 상기 복수의 메모리 유닛들 각각은 복수의 제1 메모리 셀들 및 제2 메모리 셀들을 포함하는 단계; 상기 타깃 메모리 유닛에 포함된 제1 메모리 셀들에 타깃 데이터를 프로그램하는 단계; 상기 타깃 메모리 유닛에 포함된 제2 메모리 셀들에 상기 타깃 데이터에 대응하는 메타 데이터를 프로그램하는 단계; 및 상기 타깃 메모리 유닛에 포함된 제2 메모리 셀들에 상기 타깃 데이터를 프로그램하는 시점의 온도 구간 정보인 제1 온도 구간 정보를 프로그램하는 단계;를 포함하는 스토리지 장치의 동작 방법.
  7. 제6항에 있어서, 상기 온도 구간 정보는, 제1 온도 구간, 제2 온도 구간 또는 제3 온도 구간을 지시하고, 상기 제1 온도 구간은 제1 임계 온도 미만인 온도에 대응하는 구간이고, 상기 제2 온도 구간은 상기 제1 임계 온도 이상이고 제2 임계 온도 미만인 온도에 대응하는 구간이고, 상기 제3 온도 구간은 상기 제2 임계 온도 이상인 온도에 대응하는 구간인 스토리지 장치의 동작 방법.
  8. 제6항에 있어서, 상기 타깃 메모리 유닛에 포함된 제1 메모리 셀들로부터 상기 타깃 데이터를 리드하는 단계; 상기 타깃 메모리 유닛에 포함된 제2 메모리 셀들로부터 상기 제1 온도 구간 정보를 리드하는 단계; 및 상기 제1 온도 구간 정보 및 상기 타깃 데이터를 리드하는 시점의 온도 구간 정보인 제2 온도 구간 정보를 기초로 상기 타깃 데이터에 대한 리드 카운트의 증가량을 결정하는 단계;를 추가로 포함하는 스토리지 장치의 동작 방법.
  9. 제8항에 있어서, 상기 타깃 데이터에 대한 리드 카운트의 증가량을 결정하는 단계는, 상기 제1 온도 구간 정보 및 상기 제2 온도 구간 정보의 쌍에 따른 리드 카운트의 증가량을 지시하는 리드 카운트 보상 테이블을 기초로, 상기 타깃 데이터에 대한 리드 카운트의 증가량을 결정하는 스토리지 장치의 동작 방법.

Description

데이터를 프로그램하는 시점의 온도 구간 정보를 저장하는 스토리지 장치 및 스토리지 장치의 동작 방법{STORAGE DEVICE STORING TEMPERATURE RANGE INFORMATION AT THE TIME OF PROGRAMMING DATA AND OPERATING METHOD OF STORAGE DEVICE} 본 발명의 실시예들은 데이터를 프로그램하는 시점의 온도 구간 정보를 저장하는 스토리지 장치 및 스토리지 장치의 동작 방법에 관한 것이다. 스토리지 장치는 컴퓨터와, 스마트폰, 태블릿 등의 모바일 단말, 또는 각종 전자 기기와 같은 외부 장치의 요청을 기초로 데이터를 저장하는 장치이다. 스토리지 장치는 메모리(e.g. 휘발성 메모리/비휘발성 메모리)를 제어하기 위한 컨트롤러를 더 포함할 수 있으며, 이러한 컨트롤러는 외부 장치로부터 커맨드(Command)를 입력 받아, 입력 받은 커맨드에 기초하여 스토리지 장치에 포함된 메모리에 데이터를 리드(Read), 라이트(Write), 또는 소거(Erase) 하기 위한 동작들을 실행하거나 제어할 수 있다. 스토리지 장치에 저장된 데이터의 신뢰성은 데이터에 대한 리드 동작에 의해 감소한다. 이때, 데이터가 프로그램된 시점의 온도 및 데이터가 리드된 시점의 온도에 따라 데이터의 신뢰성이 감소하는 정도의 차이가 발생할 수 있다. 따라서, 스토리지 장치는 데이터의 신뢰성을 회복하기 위한 방어 동작을 수행하는 적절한 시점을 결정하기 위해서, 데이터가 프로그램된 시점의 온도 및 데이터가 리드된 시점의 온도를 고려할 필요가 있다. 도 1은 본 발명의 실시예들에 따른 스토리지 장치의 개략적인 구성도이다. 도 2는 도 1의 메모리를 개략적으로 나타낸 블럭도이다. 도 3은 본 발명의 실시예들에 따른 스토리지 장치의 개략적인 구조를 나타낸 도면이다. 도 4는 본 발명의 실시예들에 따른 스토리지 장치가 타깃 데이터를 타깃 메모리 유닛에 프로그램하는 동작을 나타낸 도면이다. 도 5는 본 발명의 실시예들에 따른 타깃 메모리 유닛에 프로그램된 데이터를 나타낸 도면이다. 도 6은 본 발명의 실시예들에 따른 타깃 메모리 유닛의 구조의 일 예를 나타낸 도면이다. 도 7은 본 발명의 실시예들에 따른 스토리지 장치가 온도 구간 정보를 결정하는 일 예를 나타낸 도면이다. 도 8은 본 발명의 실시예들에 따른 스토리지 장치가 타깃 데이터를 타깃 메모리 유닛으로부터 리드하는 동작을 나타낸 도면이다. 도 9는 본 발명의 실시예들에 따른 스토리지 장치가 리드 카운트의 증가량을 결정하는 동작의 일 예를 나타낸 도면이다. 도 10은 본 발명의 실시예들에 따른 스토리지 장치의 동작 방법을 나타낸 도면이다. 이하에서는, 본 발명의 실시예들을 첨부된 도면을 참조하여 상세히 설명한다. 도 1은 본 발명의 실시예들에 따른 스토리지 장치(100)의 개략적인 구성도이다. 도 1을 참조하면, 본 발명의 실시예들에 따른 스토리지 장치(100)는 데이터를 저장하는 메모리(110)와, 메모리(110)를 제어하는 컨트롤러(120) 등을 포함할 수 있다. 메모리(110)는 복수의 메모리 블록(Memory Block)을 포함하며, 컨트롤러(120)의 제어에 응답하여 동작한다. 여기서, 메모리(110)의 동작은 일 예로, 리드 동작(Read Operation), 프로그램 동작(Program Operation; "Write Operation" 이라고도 함) 및 소거 동작(Erasure Operation) 등을 포함할 수 있다. 메모리(110)는 데이터를 저장하는 복수의 메모리 셀(Memory Cell; 간단히 줄여서 "셀" 이라고도 함)을 포함하는 메모리 셀 어레이(Memory Cell Array)를 포함할 수 있다. 이러한 메모리 셀 어레이는 메모리 블록 내에 존재할 수 있다. 예를 들어, 메모리(110)는 낸드 플래시 메모리(NAND Flash Memory), 3차원 낸드 플래시 메모리(3D NAND Flash Memory), 노아 플래시 메모리(NOR Flash memory), 저항성 램(Resistive Random Access Memory: RRAM), 상변화 메모리(Phase-Change Memory: PRAM), 자기저항 메모리(Magnetoresistive Random Access Memory: MRAM), 강유전체 메모리(Ferroelectric Random Access Memory: FRAM), 또는 스핀주입 자화반전 메모리(Spin Transfer Torque Random Access Memory: STT-RAM) 등으로 다양한 타입으로 구현될 수 있다. 한편, 메모리(110)는 3차원 어레이 구조(three-Dimensional Array structure)로 구현될 수 있다. 본 발명의 실시예들은 전하 저장층이 전도성 부유 게이트(Floating Gate)로 구성된 플래시 메모리는 물론, 전하 저장층이 절연막으로 구성된 차지 트랩형 플래시(Charge Trap Flash; CTF)에도 적용될 수 있다. 메모리(110)는 컨트롤러(120)로부터 커맨드 및 어드레스 등을 수신하고, 메모리 셀 어레이 중 어드레스에 의해 선택된 영역을 액세스할 수 있다. 즉, 메모리(110)는 어드레스에 의해 선택된 영역에 대해 커맨드가 지시하는 동작을 수행할 수 있다. 예를 들면, 메모리(110)는 프로그램 동작, 리드 동작 및 소거 동작 등을 수행할 수 있다. 이와 관련하여, 프로그램 동작을 수행할 때, 메모리(110)는 어드레스에 의해 선택된 영역에 데이터를 프로그램 할 수 있다. 리드 동작을 수행할 때, 메모리(110)는 어드레스에 의해 선택된 영역으로부터 데이터를 읽을 수 있다. 소거 동작 시, 메모리(110)는 어드레스에 의해 선택된 영역에 저장된 데이터를 소거할 수 있다. 컨트롤러(120)는 메모리(110)에 대한 쓰기(프로그램), 읽기, 소거 및 백그라운드(background) 동작을 제어할 수 있다. 여기서, 백그라운드 동작은 일 예로 가비지 컬렉션(GC, Garbage Collection), 웨어 레벨링(WL, Wear Leveling), 리드 리클레임(RR, Read Reclaim) 또는 배드 블록 관리(BBM, Bad Block Management) 동작 등 중 하나 이상을 포함할 수 있다. 컨트롤러(120)는 스토리지 장치(100)의 외부에 위치하는 장치(e.g. 호스트(HOST))의 요청에 따라 메모리(110)의 동작을 제어할 수 있다. 반면, 컨트롤러(120)는 호스트(HOST)의 요청과 무관하게 메모리(110)의 동작을 제어할 수도 있다. 호스트(HOST)는 컴퓨터, UMPC(Ultra Mobile PC), 워크스테이션, PDA(Personal Digital Assistants), 타블렛(tablet), 모바일 폰(mobile phone), 스마트폰(smart phone), e-북(e-book), PMP(portable multimedia player), 휴대용 게임기, 네비게이션(navigation) 장치, 블랙박스(black box), 디지털 카메라(digital camera), DMB(Digital Multimedia Broadcasting) 재생기, 스마트 텔레비전(smart television), 디지털 음성 녹음기(digital audio recorder), 디지털 음성 재생기(digital audio player), 디지털 영상 녹화기(digital picture recorder), 디지털 영상 재생기(digital picture player), 디지털 동영상 녹화기(digital video recorder), 디지털 동영상 재생기(digital video player), 데이터 센터를 구성하는 스토리지, 홈 네트워크를 구성하는 다양한 전자 장치들 중 하나, 컴퓨터 네트워크를 구성하는 다양한 전자 장치들 중 하나, 텔레매틱스 네트워크를 구성하는 다양한 전자 장치들 중 하나, RFID(radio frequency identification) 장치, 인간의 제어에 따라 주행하거나 또는 자율 주행이 가능한 이동 장치(e.g. 차량, 로봇, 드론) 등일 수 있다. 또는, 호스트(HOST)는, 2차원 또는 3차원의 가상 현실 이미지를 제공하는 가상 현실(VR, virtual reality) 장치 또는 증강 현실 이미지를 제공하는 증강 현실(AR, augmented reality) 장치일 수 있다. 호스트(HOST)는, 이외에도, 데이터를 저장할 수 있는 스토리지 장치(100)가 요구되는 각종 전자 장치의 어느 하나일 수 있다. 호스트(HOST)는 적어도 하나의 운영 시스템(OS, operating system)을 포함할 수 있다. 운영 시스템은 호스트(HOST)의 기능 및 동작을 전반적으로 관리 및 제어할 수 있고, 호스트(HOST)와 스토리지 장치(100) 간의 상호 동작을 제어할 수 있다. 운영 시스템은 호스트(HOST)의 이동성(mobility)에 따라 일반 운영 시스템과 모바일 운영 시스템으로 구분할 수 있다. 한편, 컨트롤러(120)와 호스트(HOST)는 서로 분리된 장치일 수도 있다. 경우에 따라서, 컨트롤러(120)와 호스트(HOST)는 하나의 장치로 통합되어 구현될 수도 있다. 아래에서는, 설명의 편의를 위하여, 컨트롤러(120)와 호스트(HOST)가 서로 분리된 장치인 것을 예로 들어 설명한다. 도 1을 참조하면, 컨트롤러(120)는 메모리 인터페이스(122) 및 제어 회로(123) 등을 포함할 수 있으며, 호스트 인터페이스(121) 등을 더 포함할 수 있다. 호스트 인터페이스(121)는 호스트(HOST)와의 통신을 위한 인터페이스를 제공한다. 예시적으로 호스트 인터페이스(121)는 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 (