KR20190027675A - 저장 장치 및 그 리프레쉬 방법 - Google Patents
저장 장치 및 그 리프레쉬 방법 Download PDFInfo
- Publication number
- KR20190027675A KR20190027675A KR1020170114768A KR20170114768A KR20190027675A KR 20190027675 A KR20190027675 A KR 20190027675A KR 1020170114768 A KR1020170114768 A KR 1020170114768A KR 20170114768 A KR20170114768 A KR 20170114768A KR 20190027675 A KR20190027675 A KR 20190027675A
- Authority
- KR
- South Korea
- Prior art keywords
- power
- refresh
- control module
- host
- clock
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/21—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
- G11C11/34—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
- G11C11/40—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
- G11C11/401—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
- G11C11/406—Management or control of the refreshing or charge-regeneration cycles
- G11C11/40626—Temperature related aspects of refresh operations
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/22—Read-write [R-W] timing or clocking circuits; Read-write [R-W] control signal generators or management
- G11C7/222—Clock generating, synchronizing or distributing circuits within memory device
-
- 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
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/21—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
- G11C11/34—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
- G11C11/40—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
- G11C11/401—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
- G11C11/406—Management or control of the refreshing or charge-regeneration cycles
- G11C11/40615—Internal triggering or timing of refresh, e.g. hidden refresh, self refresh, pseudo-SRAMs
-
- 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
- G11C16/14—Circuits for erasing electrically, e.g. erase voltage switching circuits
- G11C16/16—Circuits for erasing electrically, e.g. erase voltage switching circuits for erasing blocks, e.g. arrays, words, groups
-
- 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/30—Power supply circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/04—Arrangements for writing information into, or reading information out from, a digital store with means for avoiding disturbances due to temperature effects
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/22—Read-write [R-W] timing or clocking circuits; Read-write [R-W] control signal generators or management
-
- 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/34—Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
- G11C16/349—Arrangements for evaluating degradation, retention or wearout, e.g. by counting erase cycles
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Computer Hardware Design (AREA)
- Read Only Memory (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
저장 장치 및 그 리프레쉬 방법이 제공된다. 상기 저장 장치는 적어도 하나의 제1 프로세싱 코어, 상기 제1 프로세싱 코어와 다른 제2 프로세싱 코어, 적어도 하나의 3D 플래시 메모리, 추가 파워 모듈 및 호스트로부터 파워 공급이 없을 때, 상기 추가 파워 모듈에 의해서 전원을 공급 받고, 상기 제2 프로세싱 코어에 의해서 상기 적어도 하나의 3D 플래시 메모리를 리프레쉬(refresh)하는 리텐션 제어 모듈을 포함하되, 상기 리텐션 제어 모듈은, 제1 주기로 웨이크 업(wake-up) 되어 로우 파워 모드로 상기 적어도 하나의 플래시 메모리 중 적어도 일부를 리프레쉬하되, 상기 로우 파워 모드는 상기 호스트로부터 파워 공급이 있을 때의 파워보다 낮은 파워를 사용한다.
Description
본 발명은 저장 장치 및 그 리프레쉬 방법에 관한 것이다.
플래시 메모리 장치는 메모리 셀 어레이를 포함하고, 상기 메모리 셀 어레이는 복수의 블록들을 포함하고, 상기 복수의 블록들 각각은 페이지들을 포함하고, 상기 페이지들 각각은 비휘발성 메모리 셀들을 포함할 수 있다.
플래시 메모리 장치는 NAND-타입 플래시 메모리 장치와 NOR-타입 플래시 메모리 장치로 분류될 수 있다. 상기 비휘발성 메모리 셀은 플로팅 게이트(floating gate)를 포함한다.
플래시 메모리 셀에 정보가 저장된 후 오랜 시간이 지나면, 플로팅 게이트에 저장된 전하들(즉, 상기 정보와 관련된 전하들)은 손실된다. 이로 인하여 산포 특성이 나빠질 수 있다. 오랜 기간 동안 전원이 인가되지 않은 상태로 리텐션이 되면, 비휘발성 메모리 셀의 문턱 전압이 변경된다.
변경된 문턱 전압이 리드 전압보다 낮아지게 되면, 리드 동작 시에 상기 플래시 메모리 셀로부터 리드되는 비트의 값이 변경된다. 따라서, 상기 플래시 메모리 셀로부터 리드된 정보는 에러 비트가 될 수 있다.
페이지에 포함된 플래시 메모리 셀들 중에서 적어도 일부의 플래시 메모리 셀들의 문턱 전압들이 변경될 때, 상기 페이지에 해당하는 페이지 데이터는 많은 에러 비트들을 포함할 수 있다.
이후, 해당 플래시 메모리 셀을 리드 동작하게 되면, 에러 비트들의 수에 따라, 방어 코드의 과다수행에 의해 심각한 리드 성능 저하가 발생할 수 있고, 이러한 리드 성능 저하가 오랫동안 지속될 수 있다.
따라서, 전원이 인가되지 않더라도 스스로 리프레쉬(self refresh)가 되는 메모리셀에 대한 연구가 진행되고 있다.
본 발명이 해결하려는 과제는, 리프레쉬 성능이 향상된 저장 장치를 제공하는 것이다.
본 발명이 해결하려는 다른 과제는, 리프레쉬 성능이 향상된 저장 장치 리프레쉬 방법을 제공하는 것이다.
본 발명이 해결하려는 과제들은 이상에서 언급한 과제들로 제한되지 않으며, 언급되지 않은 또 다른 과제들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
상기 과제를 해결하기 위한 본 발명의 몇몇 실시예에 따른 저장 장치는, 적어도 하나의 제1 프로세싱 코어, 상기 제1 프로세싱 코어와 다른 제2 프로세싱 코어, 적어도 하나의 3D 플래시 메모리, 추가 파워 모듈 및 호스트로부터 파워 공급이 없을 때, 상기 추가 파워 모듈에 의해서 전원을 공급 받고, 상기 제2 프로세싱 코어에 의해서 상기 적어도 하나의 3D 플래시 메모리를 리프레쉬(refresh)하는 리텐션 제어 모듈을 포함하되, 상기 리텐션 제어 모듈은, 제1 주기로 웨이크 업(wake-up) 되어 로우 파워 모드로 상기 적어도 하나의 플래시 메모리 중 적어도 일부를 리프레쉬하되, 상기 로우 파워 모드는 상기 호스트로부터 파워 공급이 있을 때의 파워보다 낮은 파워를 사용한다.
상기 과제를 해결하기 위한 본 발명의 몇몇 실시예에 따른 저장 장치는 적어도 하나의 프로세싱 코어, 휘발성 메모리, 각각 적어도 하나의 제1 비휘발성 메모리를 포함하는 복수의 제1 메모리 채널, 상기 프로세싱 코어, 상기 휘발성 메모리 및 상기 복수의 제1 메모리 채널을 서로 연결하는 버스 및 상기 프로세싱 코어 및 상기 휘발성 메모리를 이용하여 상기 복수의 제1 메모리 채널을 리프레쉬하는 리텐션 제어 모듈을 포함하되, 상기 리텐션 제어 모듈은, 호스트로부터 파워 공급이 없을 때에 주기적으로 웨이크 업되고, 상기 복수의 제1 메모리 채널 중 적어도 일부를 리프레쉬 영역으로 선정하고, 상기 리프레쉬를 위한 최소 리소스 조합을 선정하되, 상기 최소 리소스 조합은 상기 적어도 하나의 프로세싱 코어 중 적어도 일부와, 상기 휘발성 메모리를 포함하고, 상기 최소 리소스 조합에 대응되는 전압, 클럭을 상기 호스트로부터 파워 공급이 있을 때보다 낮게 세팅하고, 상기 리프레쉬 영역을 리프레쉬한다.
상기 다른 과제를 해결하기 위한 본 발명의 몇몇 실시예에 따른 저장 장치 리프레쉬 방법은 호스트로부터 파워 공급이 없을 때에, 리텐션 제어 모듈을 웨이크 업하고, 리프레쉬 영역을 선정하고, 리프레쉬를 위한 최소 리소스 조합을 결정하고, 상기 최소 리소스 조합에 대한 파워 도메인 및 공급 전압을 결정하고, 상기 최소 리소스 조합에 대한 클럭 도메인 및 공급 클럭을 결정하고, 상기 최소 리소스 조합을 이용하여 상기 리프레쉬 영역을 리프레쉬하고, 다음 웨이크 업 타임을 설정하는 것을 포함한다.
도 1은 본 발명의 몇몇 실시예들에 따른 저장 장치를 설명하기 위한 블록도이다.
도 2는 도 1의 파워 조절 모듈을 세부적으로 설명하기 위한 블록도이다.
도 3은 도 1의 클럭 조절 모듈을 세부적으로 설명하기 위한 블록도이다.
도 4는 도 1의 저장 장치의 호스트 파워 소모량에 따른 동작 모드를 설명하기 위한 그래프이다.
도 5는 본 발명의 몇몇 실시예들에 따른 저장 장치의 리프레쉬 방법을 설명하기 위한 순서도이다.
도 6은 본 발명의 몇몇 실시예들에 따른 저장 장치의 리프레쉬 방법의 리프레쉬 영역 리스트를 설명하기 위한 예시도이다.
도 7은 본 발명의 몇몇 실시예들에 따른 저장 장치 리프레쉬 방법을 설명하기 위한 순서도이다.
도 8은 본 발명의 몇몇 실시예들에 따른 저장 장치 리프레쉬 방법 중 저장된 리프레쉬 정보의 복구 부분을 설명하기 위한 순서도이다.
도 9는 본 발명의 몇몇 실시예들에 따른 저장 장치 리프레쉬 방법 중 리프레쉬 정보의 저장 부분을 설명하기 위한 순서도이다.
도 10은 본 발명의 몇몇 실시예들에 따른 저장 장치를 설명하기 위한 블록도이다.
도 11은 본 발명의 몇몇 실시예들에 따른 저장 장치를 설명하기 위한 블록도이다.
도 12는 본 발명의 몇몇 실시예들에 따른 저장 장치를 설명하기 위한 블록도이다.
도 2는 도 1의 파워 조절 모듈을 세부적으로 설명하기 위한 블록도이다.
도 3은 도 1의 클럭 조절 모듈을 세부적으로 설명하기 위한 블록도이다.
도 4는 도 1의 저장 장치의 호스트 파워 소모량에 따른 동작 모드를 설명하기 위한 그래프이다.
도 5는 본 발명의 몇몇 실시예들에 따른 저장 장치의 리프레쉬 방법을 설명하기 위한 순서도이다.
도 6은 본 발명의 몇몇 실시예들에 따른 저장 장치의 리프레쉬 방법의 리프레쉬 영역 리스트를 설명하기 위한 예시도이다.
도 7은 본 발명의 몇몇 실시예들에 따른 저장 장치 리프레쉬 방법을 설명하기 위한 순서도이다.
도 8은 본 발명의 몇몇 실시예들에 따른 저장 장치 리프레쉬 방법 중 저장된 리프레쉬 정보의 복구 부분을 설명하기 위한 순서도이다.
도 9는 본 발명의 몇몇 실시예들에 따른 저장 장치 리프레쉬 방법 중 리프레쉬 정보의 저장 부분을 설명하기 위한 순서도이다.
도 10은 본 발명의 몇몇 실시예들에 따른 저장 장치를 설명하기 위한 블록도이다.
도 11은 본 발명의 몇몇 실시예들에 따른 저장 장치를 설명하기 위한 블록도이다.
도 12는 본 발명의 몇몇 실시예들에 따른 저장 장치를 설명하기 위한 블록도이다.
이하에서, 도 1 내지 도 4를 참조하여, 본 발명의 몇몇 실시예에 따른 저장 장치에 대해서 설명한다.
도 1은 본 발명의 몇몇 실시예들에 따른 저장 장치를 설명하기 위한 블록도이고, 도 2는 도 1의 파워 조절 모듈을 세부적으로 설명하기 위한 블록도이다. 도 3은 도 1의 클럭 조절 모듈을 세부적으로 설명하기 위한 블록도이고, 도 4는 도 1의 저장 장치의 호스트 파워 소모량에 따른 동작 모드를 설명하기 위한 그래프이다.
도 1 내지 도 4를 참고하면, 본 발명의 몇몇 실시예에 따른 제1 저장 장치(20)는 호스트(300)와 연결될 수 있다. 호스트(300)는 호스트 인터페이스(320)를 통해 본 발명의 몇몇 실시예에 따른 제1 저장 장치(20)의 데이터 처리 동작(예컨대, 라이트 동작 또는 리드 동작 등)을 제어할 수 있다.
실시 예들에 따라, 호스트(300)는 호스트 프로세서, 집적 회로(integrated circuit(IC)), 마더보드(motherboard), 시스템 온 칩(system on chip(SoC)), 애플리케이션 프로세서(application processor(AP)), 모바일(mobile) AP, 웹(web) 서버, 데이터 서버, 또는 데이터베이스 서버로 구현될 수 있으나 이에 제한되는 것은 아니다.
호스트(300)는 내부에 호스트 파워 소스(310)를 포함하고, 이를 통해서 호스트(300) 전체에 전원을 공급할 수 있다. 나아가, 호스트 파워 소스(310)는 호스트 인터페이스(320)를 통해서, 제1 저장 장치(20)에 파워를 공급할 수 있다. 즉, 제1 저장 장치(20)는 호스트 파워 소스(310)로부터 공급되는 파워를 메인 파워로 사용할 수 있다.
제1 저장 장치(20)는 호스트 인터페이스(320)를 통해서 호스트(300)와 명령 및/또는 데이터를 주고 받을 수 있다. 제1 저장 장치(20)는 플래시-기반 스토리지(flash based storage)로 구현될 수 있으나 이에 제한되는 것은 아니다. 예컨대, 제1 저장 장치(20)는 SSD(solid-state drive or solid-state disk) 또는 임베디드 SSD(embedded SSD(eSSD))로 구현될 수 있으나 이에 제한되는 것은 아니다.
호스트(300)와 제1 저장 장치(20)는 서로 연결되어 하나의 데이터 처리 시스템을 구현할 수 있다. 상기 데이터 처리 시스템은 예를 들어, PC(personal computer), 워크스테이션(workstation), 데이터 센터, 인터넷 데이터 센터(internet data center(IDC)), DAS(direct attached storage) 시스템, SAN(storage area network) 시스템, NAS(network attached storage) 시스템, RAID(redundant array of inexpensive disks, or redundant array of independent disks) 시스템, 또는 모바일 장치로 구현될 수 있으나 이에 제한되는 것은 아니다.
또한, 상기 모바일 장치는 랩탑 컴퓨터(laptop computer), 이동 전화기, 스마트 폰(smart phone), 태블릿(tablet) PC, PDA(personal digital assistant), EDA(enterprise digital assistant), 디지털 스틸 카메라(digital still camera), 디지털 비디오 카메라(digital video camera), PMP(portable multimedia player), PND(personal navigation device 또는 portable navigation device), 휴대용 게임 콘솔(handheld game console), 모바일 인터넷 장치(mobile internet device(MID)), 웨어러블 컴퓨터, 사물 인터넷(internet of things(IoT)) 장치, 만물 인터넷(internet of everything(IoE)) 장치, 드론(drone), 또는 e-북(e-book)으로 구현될 수 있으나, 이에 제한되는 것은 아니다.
호스트 인터페이스(320)는 호스트(300)와 제1 저장 장치(20) 사이의 명령 및/또는 데이터의 전송 경로일 수 있다. 실시 예들에 따라, 호스트 인터페이스(320)는 SATA(serial advanced technology attachment) 인터페이스, SATAe(SATA express) 인터페이스, SAS(serial attached small computer system interface(SCSI)) 인터페이스, PCIe(peripheral component interconnect express) 인터페이스, NVMe(non-volatile memory Express) 인터페이스, AHCI(advanced host controller interface) 인터페이스, 또는 멀티미디어 카드 (multimedia card(MMC))인터페이스로 구현될 수 있으나 이에 제한되는 것은 아니다.
실시 예들에 따라, 호스트 인터페이스(320)는 전기 신호들 또는 광 신호들을 전송할 수 있다.
본 발명의 몇몇 실시예에 따른 제1 저장 장치(20)는 휘발성 메모리(200), 제1 내지 제4 프로세싱 코어(101~104), 비휘발성 메모리(800), 추가 파워 모듈(400), 파워 컨트롤 모듈(500), 클럭 컨트롤 모듈(700), 리텐션 제어 모듈(600) 및 버스(900)를 포함한다.
제1 내지 제4 프로세싱 코어(101~104)는 제1 저장 장치(20) 내에서 제1 저장 장치(20)의 동작을 수행할 수 있다. 구체적으로, 호스트(300)에 의해서 전송되는 데이터 처리 명령에 대한 작업 및 비휘발성 메모리의 리프레쉬 작업 등을 수행할 수 있다.
도 1에서는 제1 내지 제4 프로세싱 코어(101~104)가 4개로 도시되었지만, 이에 제한되는 것은 아니다. 본 발명의 몇몇 실시예에서는 프로세싱 코어의 개수가 4개 미만이거나, 5개 이상일 수도 있다.
휘발성 메모리(200)는 제1 내지 제4 프로세싱 코어(101~104)와 함께 데이터 처리 명령에 대한 작업 및 비휘발성 메모리(800)의 리프레쉬 작업을 수행할 수 있다. 휘발성 메모리(200)는 예를 들어, DRAM(Dynamic random access memory)일 수 있다. 휘발성 메모리(200)는 상기 작업들을 수행하기 위한 버퍼 메모리의 역할을 수행할 수 있다.
비휘발성 메모리(800)는 호스트의 요청에 따라 내부에 데이터를 라이트 하거나 내부에 라이트된 데이터를 리드하게 할 수 있다. 비휘발성 메모리(800)는 예를 들어, 플래시 메모리일 수 있다. 비휘발성 메모리(800)는 제1 내지 제4 메모리 채널(810~840)을 포함할 수 있다. 단, 4개의 메모리 채널은 하나의 예시에 불과하므로, 본 발명의 몇몇 실시예에 따른 저장 장치는 4개 미만 혹은 5개 이상의 채널을 가질수도 있다.
제1 내지 제4 메모리 채널(810~840)은 각각 메모리 컨트롤러를 포함할 수 있고, 각 채널 별로 제1 내지 제4 비휘발성 메모리(811~841)와 연결될 수 있다. 상기 메모리 컨트롤러는 제1 내지 제4 비휘발성 메모리(811~841)에 주어지는 명령 및/또는 데이터의 전송 또는 처리를 제어할 수 있다.
예를 들어, 상기 메모리 컨트롤러는 호스트(300)로부터 전송된 데이터를 제1 내지 제4 비휘발성 메모리(811~841)에 라이트하고, 제1 내지 제4 비휘발성 메모리(811~841)로부터 리드된 데이터를 호스트(300)로 전송할 수 있다.
제1 내지 제4 메모리 채널(810~840)에는 각각 적어도 하나의 제1 내지 제4 비휘발성 메모리(811~841)가 연결될 수 있다. 구체적으로, 제1 메모리 채널(810)은 적어도 하나의 제1 비휘발성 메모리(811)와 연결될 수 있고, 제2 메모리 채널(820)은 적어도 하나의 제2 비휘발성 메모리(821)와 연결될 수 있다. 제3 메모리 채널(830)은 적어도 하나의 제3 비휘발성 메모리(831)와 연결될 수 있고, 제4 메모리 채널(840)은 적어도 하나의 제4 비휘발성 메모리(841)와 연결될 수 있다.
제1 내지 제4 비휘발성 메모리(811~841)는 3차원 낸드 플래시 메모리 어레이를 포함할 수 있다. 3차원 메모리 어레이는, 실리콘 기판 및 메모리 셀들의 동작에 연관된 회로의 위에 배치되는 활성 영역을 갖는 메모리 셀들의 어레이들의 하나 또는 그 이상의 물리 레벨들에 모놀리식으로(monolithically) 형성될 수 있다. 메모리 셀들의 동작에 연관된 회로는 기판 내에 또는 기판 위에 위치할 수 있다. 모놀리식(monolithically)이란 용어는, 3차원 어레이의 각 레벨의 층들이 3차원 어레이의 하위 레벨의 층들 위에 직접 증착됨을 의미한다.
본 발명의 기술적 사상에 따른 예시적인 실시예로서, 3차원 메모리 어레이는 수직의 방향성을 가지며, 적어도 하나의 메모리 셀이 다른 하나의 메모리 셀 위에 위치하는 수직 NAND 스트링들을 포함한다. 적어도 하나의 메모리 셀은 전하 트랩 층을 포함한다. 각각의 수직 NAND 스트링은 메모리 셀들 위에 위치하는 적어도 하나의 선택 트랜지스터를 포함할 수 있다. 적어도 하나의 선택 트랜지스터는 메모리 셀들과 동일한 구조를 갖고, 메모리 셀들과 함께 모놀리식으로 형성될 수 있다
추가 파워 모듈(400)은 제1 저장 장치(20)에 추가적으로 파워를 공급할 수 있다. 추가 파워 모듈(400)은 호스트 파워 소스(310)에 의해서 파워 공급이 충분하지 않을 때, 제1 저장 장치(20)에 파워를 공급하는 역할을 할 수 있다.
추가 파워 모듈(400)은 커패시터(410)와 배터리(420)를 포함할 수 있다. 커패시터(410)는 호스트(300)에 의해서 파워가 공급될 때 충전되고, 호스트(300)에 의해서 공급되는 파워가 줄어들 때, 방전될 수 있다. 배터리(420) 역시 호스트(300)에 의해서 파워가 공급될 때 충전되고, 호스트(300)에 의해서 공급되는 파워가 줄어들거나 없을 때, 제1 저장 장치(20)로 파워를 공급할 수 있다.
배터리(420)는 커패시터(410)에 의해서는 호스트(300)에 의해서 파워가 공급되지 않은 경우를 보호할 수 없으므로 보조적으로 안정적인 데이터의 보호를 위해서 필요할 수 있다.
파워 컨트롤 모듈(500)은 제1 저장 장치(20)에 공급되는 파워를 제어할 수 있다. 파워 컨트롤 모듈(500)은 호스트 파워 소스(310) 및 추가 파워 모듈(400)로부터 파워를 공급받아 이를 제어할 수 있다.
도 2를 참조하면, 파워 컨트롤 모듈(500)은 하나 이상의 파워 도메인에 대하여 파워 공급을 제어할 수 있다. 즉, 도 2에 도시된 4개의 파워 도메인(1~4)으로 파워 컨트롤 모듈(500)이 파워 공급을 제어할 수 있다. 여기서, 파워 도메인이란 파워가 같이 공급되는 영역을 의미하고, 하나의 파워 도메인에는 같은 전압으로 파워가 공급될 수 있다. 즉, 파워 도메인 별로 파워 공급의 유무가 달라질 수 있고, 파워 도메인 별로 공급되는 파워의 전압이 달라질 수 있다.
제1 저장 장치(20)의 여러 요소들은 상기 4개의 파워 도메인 중 어느 하나에 속하게 되고, 상기 4개의 파워 도메인 중 어느 하나에 공급되는 파워를 사용할 수 있다. 도면에서는 4개의 파워 도메인이 예시적으로 도시되어 있으나, 본 발명이 이에 제한되는 것은 아니다. 즉, 본 발명의 몇몇 실시예에 따른 저장 장치에서는 4개 미만 혹은 5개 이상의 파워 도메인이 존재할 수도 있다.
파워 컨트롤 모듈(500)은 일반 전압(Vnormal)과 낮은 전압(Vlow) 중 어느 하나로 각 파워 도메인에 파워를 공급할 수 있다. 단, 이에 제한되는 것은 아니다. 즉, 파워 컨트롤 모듈(500)은 2개의 레벨보다 더 많은 레벨로 각 파워 도메인에 파워를 공급할 수 있다.
일반 전압(Vnormal)은 호스트(300)에 의해서 파워가 공급되는 경우에 일반적으로 각 파워 도메인으로 공급되는 전압일 수 있다. 이에 반해서, 낮은 전압(Vlow)은 추후에 설명되는 로우 파워 모드에서 사용되는 전압일 수 있다.
파워 컨트롤 모듈(500)은 배터리(420)의 잔여 파워 레벨을 확인할 수 있는 배터리 레벨 표시 수단을 포함할 수 있다. 파워 컨트롤 모듈(500)은 호스트 인터페이스(320)를 통해서 호스트(300)에게 배터리(420)의 상태를 보고하거나, 자체적으로 사용자에게 배터리(420)의 파워 잔량을 나타낼 수 있다. 이 때, 사용자에게 바로 배터리(420)의 잔량을 표시하는 수단은 예를 들어, LED 디스플레이일 수 있다. 단, 본 발명이 이에 제한되는 것은 아니다.
파워 컨트롤 모듈(500)은 배터리(420) 및 커패시터(410)의 재충전을 제어할 수 있다. 즉, 파워 컨트롤 모듈(500)은 호스트 파워 소스(310)에 의한 추가 파워 모듈(400)의 재충전을 제어할 수 있다.
도 3을 참조하면, 클럭 컨트롤 모듈(700)은 하나 이상의 클럭 도메인에 대하여 클럭 공급을 제어할 수 있다. 즉, 도 3에 도시된 4개의 클럭 도메인(1~4)으로 클럭 컨트롤 모듈(700)이 클럭 공급을 제어할 수 있다. 여기서, 클럭 도메인이란 동일한 클럭이 공급되는 영역을 의미하고, 하나의 클럭 도메인에는 동일한 클럭이 공급될 수 있다. 즉, 클럭 도메인 별로 클럭 공급의 유무가 달라질 수 있고, 클럭 도메인 별로 공급되는 클럭의 주파수가 달라질 수 있다.
제1 저장 장치(20)의 여러 요소들은 상기 4개의 클럭 도메인 중 어느 하나에 속하게 되고, 상기 4개의 클럭 도메인 중 어느 하나에 공급되는 클럭을 사용할 수 있다. 도면에서는 4개의 클럭 도메인이 예시적으로 도시되어 있으나, 본 발명이 이에 제한되는 것은 아니다. 즉, 본 발명의 몇몇 실시예에 따른 저장 장치에서는 4개 미만 혹은 5개 이상의 클럭 도메인이 존재할 수도 있다.
클럭 컨트롤 모듈(700)은 여러 주파수의 클럭(1/4X, 1/2X, 1X, 2X) 중 어느 하나를 각 클럭 도메인에 공급할 수 있다. 단, 도면에서는 총 4개의 클럭이 도시되었으나 본 발명이 이에 제한되는 것은 아니다. 즉, 클럭 컨트롤 모듈(700)은 4개의 레벨보다 더 많은 레벨의 주파수로 각 클럭 도메인에 클럭을 공급할 수 있다.
주파수가 큰 클럭(1X, 2X)은 일반적으로 호스트(300)에 의해서 파워가 공급되는 경우에 각 클럭 도메인으로 공급되는 클럭일 수 있다. 이에 반해서, 주파수가 낮은 클럭(1/2X, 1/4X)은 추후에 설명되는 로우 파워 모드에서 사용되는 클럭일 수 있다. 단, 본 발명이 이에 제한되는 것은 아니다.
다시, 도 1을 참조하면, 본 발명의 비휘발성 메모리(800) 즉, 플래시 메모리 셀(예컨대, NAND-타입 플래시 메모리 셀)의 플로팅 게이트 또는 전하 트랩 레이어(charge trap layer)에 전하들(또는 상기 전하들에 해당하는 정보)이 저장된 후 상기 플래시 메모리 셀이 오랜시간 동안 방치(Power-Off를 의미할 수 있다.)되면, 상기 플로팅 게이트 또는 상기 전하 트랩 레이어에 저장된 전하들은 손실(또는 누설)될 수 있다. 즉, 플래시 메모리 셀(예컨대, NAND-타입 플래시 메모리 셀)을 오랜 기간 동안 방치해두면 전자가 점점 빠져나가 산포가 점점 나빠질 수 있다. 이러한 특성을 리텐션(Retention) 특성이라 한다.
리텐션 시간이 약한 메모리 셀(memory cells with weak retention time)은 리텐션에 의해 에러 비트를 발생시킬 수 있는 메모리 셀로서, 리드 동작들이 상기 메모리 셀에 여러 번 반복적으로 수행되면, 상기 메모리 셀의 문턱 전압 (threshold voltage)이 높아지는 메모리 셀을 의미할 수 있다.
본 발명은 이러한 리텐션 특성을 강화하기 위해서 스스로 리프레쉬 동작을 할 수 있도록 리텐션 제어 모듈(600)을 포함한다.
리텐션 제어 모듈(600)은 호스트(300)로부터 파워 공급이 없을 때의 비휘발성 메모리(800)의 데이터의 리프레쉬 동작을 제어할 수 있다.
구체적으로, 리텐션 제어 모듈(600)은 비휘발성 메모리(800)의 데이터의 리프레쉬를 위한 파라미터를 기록(log)할 수 있다. 상기 파라미터는 예를 들어, 이레이저 카운트(erasure count), 프로그램 타임(program time), 이레이즈 타임(erase time), 리드 카운트(read count), 현재 온도, 과거 온도 및 온도 변화 중 적어도 하나를 포함할 수 있다. 단, 본 발명이 이에 제한되는 것은 아니다.
상기 파라미터들은 추후에 리프레쉬 영역을 선정하거나, 리프레쉬를 위한 웨이크 업 타임을 설정할 때 사용될 수 있다.
리텐션 제어 모듈(600)은 호스트(300)로부터 파워 공급이 없을 때, 스스로 웨이크 업되어 비휘발성 메모리(800)의 리프레쉬 동작을 수행할 수 있다. 이에 따라서, 리텐션 제어 모듈(600)은 웨이크 업 타임을 미리 설정할 수 있다. 상기 웨이크 업 타임은 주기적으로 설정될 수 있다. 리텐션 제어 모듈(600)은 자체적으로 미리 설정된 상기 웨이크 업 타임 주기를 가질 수도 있다. 또는, 상기 웨이크 업 타임 주기는 파라미터의 변화에 따라서 계속 변경될 수도 있다.
본 발명의 몇몇 실시예에 따른 제1 저장 장치(20)는 호스트(300)가 호스트 인터페이스(320)를 통해서 상기 웨이크 업 타임을 직접 설정할 수도 있다.
리텐션 제어 모듈(600)은 비휘발성 메모리(800) 중 어느 부분을 리프레쉬할 것인지를 결정할 수 있다. 즉, 리텐션 제어 모듈(600)은 리프레쉬 영역을 설정할 수 있다.
리텐션 제어 모듈(600)은 상기 설정된 리프레쉬 영역을 리프레쉬 하기 위해서 최소 리소스 조합을 선정할 수 있다. 이 때, 최소 리소스 조합이란, 상기 설정된 리프레쉬 영역을 리프레쉬 하기 위한 최소한의 하드웨어 및 소프트웨어 리소스를 의미한다. 하드웨어 리소스는 예를 들어, 프로세싱 코어, 휘발성 메모리, 비휘발성 메모리 등을 의미할 수 있다. 따라서, 본 발명의 몇몇 실시예에 따른 제1 저장 장치(20)는 제1 내지 제4 프로세싱 코어(101~104) 중 적어도 하나와, 휘발성 메모리(200)와, 제1 내지 제4 메모리 채널(810~840) 중 적어도 하나를 상기 최소 리소스 조합으로 선택할 수 있다.
상기 최소 리소스 조합의 소프트웨어 리소스란 상기 하드웨어 구성을 실행하기 위한 코드 실행(code implement) 등이 최소한의 파워 소모를 하는 방향으로 구성되도록 지정되는 소프트웨어 구성을 의미한다.
리텐션 제어 모듈(600)은 상기 선정된 최소 리소스 조합을 로우 파워 모드로 동작하도록 설정할 수 있다. 상기 로우 파워 모드는 도 2 및 도 3의 낮은 전압(Vlow), 주파수가 낮은 클럭(1/2X, 1/4X)을 사용하여 최소한의 파워를 소모하는 동작 모드를 의미할 수 있다.
리텐션 제어 모듈(600)은 배터리(420)의 파워가 갑자기 오프되거나 파워 컨트롤 모듈(500)에 의해서 체크된 배터리(420)의 잔량이 기준치 이하가 되는 경우에는 긴급 백업(emergency back up)을 수행할 수 있다. 즉, 리텐션 제어 모듈(600)은 리프레쉬 작업이 필요한 데이터 및/또는 시스템 스테이터스 로그 데이터(system(device) status log data)를 포함하는 리프레쉬 컨텍스트(refreshing context)를 최소 리소스 조합 중 비휘발성 메모리에 저장할 수 있다.
본 발명의 몇몇 실시예에 따른 제1 저장 장치(20)의 리텐션 제어 모듈(600)은 파워 컨트롤 모듈(500)에 의해서 체크된 배터리(420)의 잔량이 기준치 이하가 되는 경우에 현재의 로우 파워 모드보다 더 낮은 파워를 소모하도록 정책(policy)을 변경할 수도 있다.
리텐션 제어 모듈(600)은 리프레쉬 컨텍스트, 상술한 파라미터들, 이전의 리프레쉬 동작의 진행 결과 및 현재 리프레쉬 진행 상태를 반영하여 리프레쉬 영역의 우선 순위, 리프레쉬 영역 선정 기준, 리프레쉬에 사용되는 카피 단위의 사이즈, 최소 리소스 조합 선정의 기준, 추가 파워 모듈(400)의 예정 파워 소모값, 전압 레벨 및 클럭 주파수를 동적으로 정의할 수 있다.
버스(900)는 호스트 인터페이스(320)와, 휘발성 메모리(200)와, 제1 내지 제4 프로세싱 코어(101~104)와, 비휘발성 메모리(800)와, 파워 컨트롤 모듈(500)과, 클럭 컨트롤 모듈(700)과, 리텐션 제어 모듈(600)을 서로 연결할 수 있다. 즉, 데이터 및 요청의 이동은 모두 버스(900)를 통해서 이루어질 수 있다.
도 4를 참조하여, 본 발명의 몇몇 실시예에 따른 제1 저장 장치(20)의 동작을 설명한다. 도 4는 호스트(300)로부터의 파워 공급에 따른 제1 저장 장치(20)의 동작 모드를 설명하기 위한 예시적인 그래프이다.
호스트(300)로부터 충분한 파워를 공급받는 경우, 제1 저장 장치(20)가 일반 모드(normal mode)로 작동되고, 호스트(300)로부터 파워의 공급이 내려가서 특정 기준치 이하가 되면 제1 저장 장치(20)가 슬립 스테이트(sleep state)로 작동될 수 있다. 만일, 호스트(300)로부터 파워가 아예 공급되지 않는 경우에는 제1 저장 장치(20)가 오프 스테이트(off-state)로 작동될 수 있다.
도 4는, 제1 저장 장치(20)가 일반 모드로 작동하는 제1 구간(A1) 및 제7 구간(A7)과, 일반 모드에서 슬립 스테이트 또는 오프 스테이트로 향하는 제2 구간(A2) 및 제5 구간(A5)과, 슬립 스테이트 또는 오프 스테이트인 제3 구간(A3)과, 슬립 스테이트 또는 오프 스테이트에서 일반 모드로 향하는 제6 구간(A6)을 표현하였다.
하기의 표 1은 제1 내지 제7 구간(A1~A7)에서의 제1 저장 장치(20)의 각 부분의 동작을 나타낸 표이다.
A1 | A2 | A3 | A4 | A5 | A6 | A7 | |
파워 소스 | 호스트 파워 소스 | 호스트 파워 소스->커패시터 | (1)호스트 파워 소스 | 호스트 파워 소스 | 호스트 파워 소스->커패시터 또는 배터리(커패시터의 전압이 낮을 경우) | 호스트 파워 소스 | 호스트 파워 소스 |
(2)배터리 | |||||||
추가 파워 모듈 충전 | 커패시터및 배터리 충전 | 커패시터 방전 | - | 커패시터 충전 | - | 커패시터 충전 | 커패시터및 배터리 충전 |
저장 장치 동작 | 일반 I/O 작업 및 백그라운드 작업 | (1)슬립 스테이트 준비 | (1) 셀프 리프레쉬 | (1)슬립 스테이트에서 복구 | 오프 스테이트 준비 | 부팅 | 일반 I/O 작업 및 백그라운드 작업 |
(2)오프 스테이트 준비 | (2) 셀프 리프레쉬 | (2)부팅 | |||||
환경 파라미터 | 기록 및 업데이트 | 기록 | 기록 및 업데이트 | - | 기록 | - | 기록 및 업데이트 |
작동 리소스 | 모두(일반) | 모두(파워 하강) | (1)축소 구성(슬립 스테이트) | 모두(파워 상승) | 모두(파워 하강) | 모두(파워 상승) | 모두(일반) |
(2) 최소 구성(로우 파워 모드) | |||||||
리프레쉬 정책 | 호스트 파워에 의한 리프레쉬 | - | (1)우선 정책(슬립 스테이트) | - | - | - | 호스트 파워에 의한 리프레쉬 |
(2)우선 정책(배터리 일반) | |||||||
낮은 배터리 백업 | - | - | 백업 | - | - | - | - |
주기적 리프레쉬 | 호스트 파워에 의한 리프레쉬 | - | 주기적 웨이크 업 및 리프레쉬(파라미터 고려) | - | - | - | 호스트 파워에 의한 리프레쉬 |
배터리 잔량 표시 | 배터리 레벨 호스트 보고 | 배터리 잔량 표시 수단 | 배터리 레벨 호스트 보고 | ||||
호스트 인터페이스 | (선택적으로) 호스트를 통해서 셀프 리프레쉬 정책 설정 | (선택적으로) 호스트를 통해서 셀프 리프레쉬 정책 설정 |
상기 표 1과 도 4를 참조하면, 제1 구간(A1) 및 제7 구간(A7)에서는 제1 저장 장치(20)가 호스트 파워 소스(310)에 의해서 파워를 공급 받고, 커패시터(410)와 배터리(420)는 충전될 수 있다. 이 때, 제1 저장 장치(20)는 일반적인 I/O 작업 및 백그라운드 작업을 수행하고, 환경 파라미터들은 기록 및 업데이트될 수 있다. 이 때, 환경 파라미터란 비휘발성 메모리(800)의 현재 온도, 과거 온도 및 온도 변화량 등일 수 있다.
제1 저장 장치(20)의 리소스는 일부가 아닌 전부가 일반적으로 작동될 수 있다. 이 때에는 호스트(300)의 파워에 의해서 리프레쉬 작업이 수행될 수 있다. 배터리(420)의 잔량은 호스트(300)에게 보고될 수 있다. 본 발명의 몇몇 실시예에 따른 제1 저장 장치(20)의 셀프 리프레쉬 즉, 제1 저장 장치(20) 스스로 하는 리프레쉬는 이 단계에서 호스트 인터페이스(320)를 통해서 정책이 설정될 수도 있다. 단, 본 발명이 이에 제한되는 것은 아니고, 제1 저장 장치(20)가 스스로 정책을 설정할 수도 있다.
제2 구간(A2) 및 제5 구간(A5)에서는 호스트(300)의 파워가 감소하므로 파워 공급이 호스트 파워 소스(310)에서 커패시터(410)로 옮겨갈 수 있다. 이 때, 커패시터(410)는 제1 저장 장치(20)에 파워를 공급하기 위해서 방전될 수 있다. 만일 제5 구간(A5)처럼 커패시터(410)가 충전될 시간이 없었다면, 배터리(420)에 의해서 파워 공급이 이루어질 수도 있다.
제1 저장 장치(20)가 이후에 (1)슬립 스테이트에 돌입하는 경우에는 제1 저장 장치(20)는 슬립 스테이트를 준비하고, (2)오프 스테이트에 돌입하는 경우에는 오프 스테이트를 준비할 수 있다. 이 때, 슬립 스테이트 준비 동작은 오프 스테이트 준비 동작에 포함될 수 있다. 환경 파라미터는 업데이트 작업 대신 기록 작업만 수행될 수 있다. 제2 구간(A2)은 구간이 짧고, 파워가 줄어드는 구간이므로 파라미터의 업데이트는 제한될 수 있다. 제1 저장 장치(20)의 리소스는 일부가 아닌 전부가 작동되되, 파워가 점차 하강될 수 있다.
제3 구간(A3)에서, 제1 저장 장치(20)는 (1)슬립 스테이트에서는 호스트 파워 소스(310)에 의해서 동작할 수 있다. 제1 저장 장치(20)는 (2)오프 스테이트에서는 당연히 배터리(420)에 의해서 동작할 수 있다.
제1 저장 장치(20)는 제3 구간(A3)에서는 셀프 리프레쉬 작업만 수행할 수 있다. 이 때, 파라미터는 기록 및 업데이트될 수 있다. 제1 저장 장치(20)의 리소스는 파워에 따라서, 축소된 구성(슬립 스테이트) 혹은 상술한 최소 리소스 조합(오프 스테이트)을 가질 수 있다. 리프레쉬 정책도 각각에 맞는 우선 정책을 가질 수 있다.
만일 배터리(420)가 오프되거나 기준치 이하의 전압을 가지는 경우 상술한 긴급 백업이 수행될 수 있다. 제3 구간(A3)에서 제1 저장 장치(20)는 주기적으로 웨이크 업되어 리프레쉬 동작을 수행할 수 있다. 이 때, 상기 주기는 상기 파라미터에 의해서 조절될 수 있다.
제3 구간(A3)에서 배터리(420)의 잔량은 사용자에게 직접 표시될 수 있다. 이에 따라서, 제1 저장 장치(20)는 배터리 잔량 표시 수단을 포함할 수 있다.
제4 구간(A4) 및 제6 구간(A6)에서, 제1 저장 장치(20)가 호스트 파워 소스(310)에 의해서 파워를 공급 받고, 커패시터(410)는 충전될 수 있다. 이 때, 제1 저장 장치(20)는 (1)슬립 스테이트에서 복구되거나, (2)부팅될 수 있다.
제1 저장 장치(20)의 리소스는 일부가 아닌 전부가 작동되되, 파워가 점차 상승될 수 있다.
본 발명의 몇몇 실시예에 따른 제1 저장 장치(20)는 리텐션 제어 모듈(600)을 포함하여 호스트(300)로부터 파워가 공급되지 않는 경우에도 비휘발성 메모리(800) 내의 데이터의 리프레쉬를 스스로 수행할 수 있다. 다만, 상기의 셀프 리프레쉬는 파워가 충분하지 않는 경우이므로, 최소한의 리소스를 이용하여 최소한의 파워를 소모하여야 데이터의 손실도 막으면서 동시에 리텐션 특성을 향상시킬 수 있다.
이하, 도 1, 도 4 내지 도 6을 참조하여, 본 발명의 몇몇 실시예에 따른 저장 장치의 리프레쉬 방법을 설명한다. 상술한 설명과 중복되는 부분은 생략하거나 간략히 한다.
도 5는 본 발명의 몇몇 실시예들에 따른 저장 장치의 리프레쉬 방법을 설명하기 위한 순서도이고, 도 6은 본 발명의 몇몇 실시예들에 따른 저장 장치의 리프레쉬 방법의 리프레쉬 영역 리스트를 설명하기 위한 예시도이다.
도 1, 도 4 및 도 5를 참조하여, 제1 저장 장치(20)의 리텐션 제어 모듈(600)이 제1 구간(A1) 및 제2 구간(A2)에 동작하는 것을 설명한다. 도 5의 S100 및 S200은 도 4의 제1 구간(A1) 또는 제7 구간(A7)에 대응될 수 있고, 도 5의 S300 및 S400은 도 4의 제2 구간(A2) 혹은 제5 구간(A5)에 대응될 수 있다.
먼저, 호스트(300)의 파워가 공급되는 동안 이미 기록되었던 파라미터들을 업데이트 한다(S100).
리텐션 제어 모듈(600)은 이전에 이미 파라미터를 기록하고, 제1 구간(A1)과 같이 일반 모드로 제1 저장 장치(20)가 동작하는 동안 파라미터를 업데이트할 수 있다.
여기서, 파라미터는 상술한 환경 파라미터들을 포함하고, 이레이저 카운트(erasure count), 프로그램 타임(program time), 이레이즈 타임(erase time), 리드 카운트(read count), 현재 온도, 과거 온도 및 온도 변화 중 적어도 하나를 포함할 수 있다. 단, 본 발명이 이에 제한되는 것은 아니다.
이어서, 리프레쉬 영역 리스트를 작성한다(S200).
리텐션 제어 모듈(600)은 리프레쉬 영역에 대한 리스트를 작성한다. 도 6은 상술한 리프레쉬 영역에 대한 리스트의 예시도이다.
도 6을 참조하면, 리프레쉬 영역 리스트는 리프레쉬 영역 각각의 아이디(area id)와, 물리 주소(start physical address 및 end physical address), 영역 크기(area size), 최소 리프레쉬 기간(minimum refresh period), 리프레쉬 우선 순위(refresh priority), 리프레쉬 정책(refresh policy), 헬스 지수(health status), 이레이즈 카운트(erase count), 프로그램 타임(program time), 프로그램 온도(program temperature) 및 온도 평균 변화율(temperature average rate of change)을 기록할 수 있다.
이 때, 리프레쉬 정책은 동적으로(dynamic) 매번 웨이크 업 시마다 우선순위를 새로이 체크해서 리프레쉬를 수행할 것인지, 정적으로(static) 미리 정해진 우선순위에 따라 리프레쉬를 수행할 것인지 나타낼 수 있다.
헬스 지수는 예를 들어, 평균 비트 에러율에서 계산될 수 있다. 단, 본 발명이 이에 제한되는 것은 아니다.
이러한 정보가 표시되는 리프레쉬 영역 리스트를 통해서, 리텐션 제어 모듈(600)은 추후에 리프레쉬 영역을 선정하고, 웨이크 업 타임의 주기를 설정할 수 있다. 즉, 최소 체크 주기를 기본으로, 헬스 지수 등을 고려하여 웨이크 업 및 리프레쉬 주기가 설정 및 변경될 수 있다.
다시, 도 5를 참조하면, 파라미터를 기록하는 것을 시작한다(S300).
제1 구간(A1)은 제1 저장 장치(20)가 리드(read) 및 라이트(write) 동작이 있어 파라미터가 수시로 변화하는 구간이지만, 제2 구간(A2)은 리드(read) 및 라이트(write) 동작이 존재하지 않으므로, 파라미터를 새로이 업데이트할 필요는 없고, 파라미터를 단순히 기록하기만 하면 될 수 있다. 따라서, 리텐션 제어 모듈(600)은 리드 및 라이트 동작이 없는 상태에서 새로이 파라미터를 기록할 수 있다.
이어서, 타이머를 세팅한다(S400).
리텐션 제어 모듈(600)은 오프 스테이트가 되기전에 언제 웨이크 업될지를 미리 정할 수 있다. 즉, 상기 타이머는 웨이크 업 시점을 정하는 타이머일 수 있다. 따라서, 추후에 제1 저장 장치(20)가 오프 스테이트가 되는 경우에 웨이크 업 타임이 상기 타이머에 의해서 설정될 수 있다.
이하, 도 1 내지 도 4 및 도 7 내지 도 9를 참조하여, 본 발명의 몇몇 실시예에 따른 저장 장치의 리프레쉬 방법을 설명한다. 상술한 설명과 중복되는 부분은 생략하거나 간략히 한다.
도 7은 본 발명의 몇몇 실시예들에 따른 저장 장치 리프레쉬 방법을 설명하기 위한 순서도이고, 도 8은 본 발명의 몇몇 실시예들에 따른 저장 장치 리프레쉬 방법 중 저장된 리프레쉬 정보의 복구 부분을 설명하기 위한 순서도이다. 도 9는 본 발명의 몇몇 실시예들에 따른 저장 장치 리프레쉬 방법 중 리프레쉬 정보의 저장 부분을 설명하기 위한 순서도이다.
먼저, 도 1 내지 도 4 및 도 7을 참조하면, 제1 저장 장치(20)가 오프 스테이트에 도달하였을 때, 미리 설정된 타임 인터럽트(time interrupt)에 의해서 리텐션 제어 모듈(600)이 웨이크 업 된다(S1100).
상술한 S400 단계에 의해서 설정된 타이머에 의해서 리텐션 제어 모듈(600)의 웨이크 업 타임이 미리 결정될 수 있다.
이어서, 리프레쉬 영역을 선택한다(S1200).
리텐션 제어 모듈(600)은 비휘발성 메모리(800) 중 어느 영역을 리프레쉬 할지를 정할 수 있다. 즉, 리프레쉬 영역을 선정할 수 있다. 상기 리프레쉬 영역의 선정은 상술한 파라미터를 기준으로 선정될 수 있다.
이어서, 최소 리소스 조합을 선택한다(S1300).
리텐션 제어 모듈(600)은 리프레쉬 작업을 위한 최소 리소스 조합을 선택할 수 있다. 최소 리소스 조합은 호스트(300)의 파워가 공급될 때의 리소스에 비해서 더 낮은 전력을 소모할 수 있다.
이어서, 상기 최소 리소스 조합에 파워를 공급하기 위한 최소한의 파워 도메인을 선택하고, 도메인 전압을 결정한다(S1400).
이 때, 파워 컨트롤 모듈(500)에 의해서 파워 도메인 모두에 파워가 공급되는 것이 아니고 상기 최소 리소스 조합에 파워를 공급할 수 있는 최소한의 파워 도메인에만 파워가 공급될 수 있다. 또한, 일반 전압(Vnormal)보다 작은 낮은 전압(Vlow)의 파워가 공급될 수 있다.
이어서, 상기 최소 리소스 조합에 파워를 공급하기 위한 최소한의 클럭 도메인을 선택하고, 클럭 주파수를 결정한다(S1500).
이 때, 클럭 컨트롤 모듈(700)에 의해서 클럭 도메인 모두에 클럭이 공급되는 것이 아니고 상기 최소 리소스 조합에 클럭을 공급할 수 있는 최소한의 클럭 도메인에만 파워가 공급될 수 있다. 또한, 상대적으로 주파수가 작은 클럭이 공급될 수 있다.
상기 낮은 전압(Vlow) 및 주파수가 작은 클럭 등은 로우 파워 모드로서 미리 정해진 값으로 설정될 수 있다.
도 7에서는 S1400 단계와 S1500 단계가 서로 시계열적으로 선후를 가지도록 도시되어 있으나, 본 발명은 이에 제한되는 것은 아니다. S1400 단계 및 S1500 단계는 서로 동시에 혹은 순서를 바꾸어 수행될 수도 있다.
이어서, 리프레쉬 작업을 수행한다(S1600).
리텐션 제어 모듈(600)은 상기 설정된 리프레쉬 영역을 상기 최소 리소스 조합을 이용하여 상기 로우 파워 모드로 리프레쉬될 수 있다. 이에 따라서, 호스트(300)의 파워 공급이 없이 스스로 제1 저장 장치(20)가 내부 데이터의 신뢰도를 최대한 오래 효율적으로 유지할 수 있다.
이어서, 리프레쉬 영역의 리프레쉬가 종료되었는지 판단한다(S1700).
만일 리프레쉬가 종료되었으면, 앞서 선택된 파워 도메인과 클럭 도메인을 해제한다(S1800).
이어서, 타이머를 세팅한다(S1900).
리텐션 제어 모듈(600)은 다음 웨이크 업 타임을 정할 수 있다. 즉, 상기 타이머는 웨이크 업 시점을 정하는 타이머일 수 있다. 상기 웨이크 업 타임은 주기적으로 정해질 수 있다. 다만, 상기 주기는 현재 파라미터들을 고려하여 변경될 수 있다.
다음으로, 도 1 내지 도 8을 참조하여 S1100 단계와 S1200 단계 사이의 A 부분의 리프레쉬 방법을 설명한다.
즉, 리텐션 제어 모듈(600)이 웨이크 업된(S1100) 후에 기록된 파라미터들을 체크한다(S1110).
상기 파라미터들은 추후의 리프레쉬 영역 및 웨이크 업 주기 결정에 고려될 수 있다.
이어서, 저장된 리프레쉬 컨텍스트가 존재하는 지 판단한다(S1120).
리프레쉬 컨텍스트는 배터리(420)의 파워가 기준치 이하일 때 긴급 백업에 의해서 생성될 수 있다. 이 경우, 리프레쉬 컨텍스트에는 리프레쉬 작업이 필요한 데이터 및/또는 시스템 스테이터스 로그 데이터가 포함될 수 있다.
또는, 본 발명의 몇몇 실시예에 따른 저장 장치의 리프레쉬 방법의 경우, 리프레쉬 컨텍스트가 긴급 백업의 경우가 아니라도 리프레쉬 작업이 종료되기 전에 리프레쉬 작업에 대한 정보를 포함하여 저장될 수도 있다.
만일, 상기 저장된 리프레쉬 컨텍스트가 존재하는 경우, 상기 저장된 리프레쉬 컨텍스트를 복구한다(S1130).
이를 통해서, 이전에 긴급 백업에 의해서 완료되지 못한 리프레쉬 부분이 상기 리프레쉬 컨텍스트에 의해서 고려될 수 있다.
이어서, 리프레쉬 영역 선정 기준을 환경의 변화를 고려하여 변경한다(S1140).
이 때, 상기 체크한 파라미터와 상기 복구한 리프레쉬 컨텍스트가 상기 환경의 변화로서 고려될 수 있다.
만일, 상기 저장된 리프레쉬 컨텍스트가 존재하지 않는 경우, 리프레쉬 컨텍스트의 복구 단계(S1130)를 건너 뛰고 바로 상기 체크한 파라미터만을 고려하여 리프레쉬 영역 선정 기준이 변경될 수 있다.
이어서, 리프레쉬 영역 리스트를 업데이트 한다(S1150).
도 6에서 예시되었듯이 리프레쉬 영역 리스트는 여러가지 정보가 담겨 있고, 이러한 정보는 상술한 파라미터 및 리프레쉬 컨텍스트에 의해서 업데이트될 수 있다.
이어서, 도 7을 참조하면, 리프레쉬 영역이 선택될 수 있다(S1200).
단, 본 발명의 몇몇 실시예에 따른 저장 장치 리프레쉬 방법은 상기 리프레쉬 영역 리스트를 사용하지 않고 바로 리프레쉬 영역을 결정할 수도 있다. 이러한 경우에는 상기 S1150 단계는 생략될 수도 있다.
이어서, 도 1 내지 도 9를 참조하여 S1800 단계와 S1900 단계 사이의 B 부분의 리프레쉬 방법을 설명한다.
리프레쉬를 마치고(S1600, S1700), 파워 도메인과 클럭 도메인을 해제한 후(S1800)에, 리프레쉬 컨텍스트의 저장을 판단한다(S1810).
이러한 판단은 배터리(420)의 잔량을 고려하여 판단할 수 있다. 또는 본 발명의 몇몇 실시예에 따른 저장 장치 리프레쉬 방법의 경우에는 리프레쉬 작업이 끝나면 무조건 리프레쉬에 대한 정보를 포함하는 리프레쉬 컨텍스트를 저장할 수 있다.
만일, 리프레쉬 컨텍스트의 저장이 필요한 경우이면, 리프레쉬 컨텍스트를 비휘발성 메모리(800) 중 상술한 최소 리소스 조합으로 선정된 부분에 저장한다(S1820).
이어서, 타이머를 세팅한다(S1900).
만일, 리프레쉬 컨텍스트의 저장이 필요하지 않은 경우이면, S1820 단계를 건너뛰고 바로 타이머 세팅 단계(S1900)를 수행할 수 있다.
본 실시예의 저장 장치 리프레쉬 방법은 호스트(300)의 파워가 전혀 공급되지 않는 경우에도 스스로 리프레쉬를 할 수 있고, 최소 리소스를 사용하고, 로우 파워 모드로 이를 수행하므로 가장 효율적으로 데이터의 신뢰도를 높일 수 있다.
이하, 도 10을 참조하여, 본 발명의 몇몇 실시예에 따른 저장 장치의 리프레쉬 방법을 설명한다. 상술한 설명과 중복되는 부분은 생략하거나 간략히 한다.
도 10은 본 발명의 몇몇 실시예들에 따른 저장 장치를 설명하기 위한 블록도이다.
도 10을 참조하면, 본 발명의 몇몇 실시예에 따른 제2 저장 장치(21)는 도 1의 제1 저장 장치(20)에 비해서, 리프레쉬용 코어(105)를 더 포함할 수 있다.
리프레쉬용 코어(105)는 제1 내지 제4 프로세싱 코어(101~104)에 비해서 더 낮은 주파수의 클럭을 사용할 수 있다. 이에 따라서, 리프레쉬용 코어(105)는 제1 내지 제4 프로세싱 코어(101~104)에 비해서 더 낮은 속도로 동작할 수 있다. 결과적으로, 리프레쉬용 코어(105)는 제1 내지 제4 프로세싱 코어(101~104)에 비해서 더 낮은 파워를 소모할 수 있다.
리프레쉬용 코어(105)는 호스트(300)의 파워 공급이 없을 때의 리프레쉬 동작을 수행하기 위한 전용 프로세싱 코어일 수 있다. 즉, 리텐션 제어 모듈(600)은 리프레쉬용 코어(105)를 상술한 최소 리소스 조합에 포함시킬 수 있다. 따라서, 호스트(300) 파워 공급이 없을 때에, 더 낮은 파워 소모만으로 비휘발성 메모리(800)의 리프레쉬를 수행할 수 있다. 즉, 리프레쉬용 코어(105)는 셀프 리프레쉬(즉, 호스트(300) 파워 없이 제2 저장 장치(21) 스스로 하는 리프레쉬) 동작만을 수행하므로 필요 이상의 성능이 요구되지 않는다. 이를 통해서 본 실시예의 제2 저장 장치(21)는 높은 효율의 셀프 리프레쉬 동작의 수행이 가능할 수 있다.
이하, 도 11을 참조하여, 본 발명의 몇몇 실시예에 따른 저장 장치의 리프레쉬 방법을 설명한다. 상술한 설명과 중복되는 부분은 생략하거나 간략히 한다.
도 11은 본 발명의 몇몇 실시예들에 따른 저장 장치를 설명하기 위한 블록도이다.
도 11을 참조하면, 본 발명의 몇몇 실시예에 따른 제3 저장 장치(22)는 도 1의 제1 저장 장치(20)에 비해서, 추가 메모리 채널(850) 및 전용 비휘발성 메모리(851)를 더 포함할 수 있다.
추가 메모리 채널(850)은 메모리 컨트롤러를 포함할 수 있고, 전용 비휘발성 메모리(851)와 연결될 수 있다. 상기 메모리 컨트롤러는 전용 비휘발성 메모리(851)에 주어지는 명령 및/또는 데이터의 전송 또는 처리를 제어할 수 있다.
전용 비휘발성 메모리(851)는 제1 내지 제4 비휘발성 메모리(811~841)에 비해서 더 낮은 주파수의 클럭을 사용할 수 있다. 이에 따라서, 전용 비휘발성 메모리(851)는 제1 내지 제4 비휘발성 메모리(811~841)에 비해서 더 낮은 속도로 동작할 수 있다. 결과적으로, 전용 비휘발성 메모리(851)는 제1 내지 제4 비휘발성 메모리(811~841)에 비해서 더 낮은 파워를 소모할 수 있다.
전용 비휘발성 메모리(851)는 호스트(300)의 파워 공급이 없을 때의 리프레쉬 동작을 수행하기 위한 전용 메모리일 수 있다. 즉, 리텐션 제어 모듈(600)은 전용 비휘발성 메모리(851)를 상술한 최소 리소스 조합에 포함시킬 수 있다. 따라서, 호스트(300) 파워 공급이 없을 때에, 더 낮은 파워 소모만으로 제1 내지 제4 비휘발성 메모리(811~841)의 리프레쉬를 수행할 수 있다. 즉, 전용 비휘발성 메모리(851)는 셀프 리프레쉬(즉, 호스트(300) 파워 없이 제3 저장 장치(22) 스스로 하는 리프레쉬) 동작만을 수행하므로 필요 이상의 성능이 요구되지 않는다. 이를 통해서 본 실시예의 제3 저장 장치(22)는 높은 효율의 셀프 리프레쉬 동작의 수행이 가능할 수 있다.
전용 비휘발성 메모리(851)에는 상술한 리프레쉬 컨텍스트와 같은 긴급 백업 데이터가 저장될 수 있다. 단, 이에 제한되는 것은 아니다.
본 발명의 몇몇 실시예에 따른 제3 저장 장치(22)의 전용 비휘발성 메모리(851)는 제1 내지 제4 비휘발성 메모리(811~841)보다 더 빠른 속도를 가지는 고속 비휘발성 메모리일 수 있다.
이러한 경우에는 리프레쉬 동작에 걸리는 시간을 최소화함으로써 궁극적으로는 웨이크 업 기간을 최소화하여 제3 저장 장치(22)가 더 낮은 파워를 소모할 수 있다.
이하, 도 12를 참조하여, 본 발명의 몇몇 실시예에 따른 저장 장치의 리프레쉬 방법을 설명한다. 상술한 설명과 중복되는 부분은 생략하거나 간략히 한다.
도 12는 본 발명의 몇몇 실시예들에 따른 저장 장치를 설명하기 위한 블록도이다.
도 12를 참조하면, 본 발명의 몇몇 실시예에 따른 제4 저장 장치(23)는 도 1의 제1 저장 장치(20)에 비해서, 도 10의 제2 저장 장치(21)의 리프레쉬용 코어(105)와, 도 11의 추가 메모리 채널(850) 및 전용 비휘발성 메모리(851)를 더 포함할 수 있다.
리텐션 제어 모듈(600)은 리프레쉬용 코어(105), 추가 메모리 채널(850) 및 전용 비휘발성 메모리(851)를 상술한 최소 리소스 조합에 포함시킬 수 있다. 따라서, 호스트(300) 파워 공급이 없을 때에, 더 낮은 파워 소모만으로 비휘발성 메모리(800)의 리프레쉬를 수행할 수 있다.
이 때, 최소 리소스 조합에 포함되는 구성이 대부분 결정되어 있으므로, 파워 컨트롤 모듈(500)은 리프레쉬용 코어(105), 추가 메모리 채널(850) 및 전용 비휘발성 메모리(851)를 같은 파워 도메인으로 설정할 수 있다. 마찬가지로, 클럭 컨트롤 모듈(700)도 리프레쉬용 코어(105), 추가 메모리 채널(850) 및 전용 비휘발성 메모리(851)를 같은 클럭 도메인으로 설정할 수 있다.
이를 통해서, 본 실시예의 제4 저장 장치(23)는 더 낮은 파워를 소모하며 셀프 리프레쉬를 수행할 수 있다.
이상 첨부된 도면을 참조하여 본 발명의 실시예를 설명하였지만, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다.
101~104: 프로세싱 코어
200: 휘발성 메모리
300: 호스트 400: 추가 파워 모듈
500: 파워 컨트롤 모듈 600: 리텐션 제어 모듈
700: 클럭 컨트롤 모듈 800: 비휘발성 메모리
300: 호스트 400: 추가 파워 모듈
500: 파워 컨트롤 모듈 600: 리텐션 제어 모듈
700: 클럭 컨트롤 모듈 800: 비휘발성 메모리
Claims (20)
- 적어도 하나의 제1 프로세싱 코어;
상기 제1 프로세싱 코어와 다른 제2 프로세싱 코어;
적어도 하나의 3D 플래시 메모리;
추가 파워 모듈; 및
호스트로부터 파워 공급이 없을 때, 상기 추가 파워 모듈에 의해서 전원을 공급 받고, 상기 제2 프로세싱 코어에 의해서 상기 적어도 하나의 3D 플래시 메모리를 리프레쉬(refresh)하는 리텐션 제어 모듈을 포함하되,
상기 리텐션 제어 모듈은,
제1 주기로 웨이크 업(wake-up) 되어 로우 파워 모드로 상기 적어도 하나의 플래시 메모리 중 적어도 일부를 리프레쉬하되,
상기 로우 파워 모드는 상기 호스트로부터 파워 공급이 있을 때의 파워보다 낮은 파워를 사용하는 저장 장치. - 제1 항에 있어서,
상기 제1 프로세싱 코어는 상기 제2 프로세싱 코어보다 더 큰 전력을 사용하는 저장 장치. - 제1 항에 있어서,
상기 리텐션 제어 모듈은,
파라미터를 로그(log)하고,
상기 파라미터를 기반으로 상기 적어도 하나의 플래시 메모리 중 적어도 일부를 리프레쉬 영역으로 선택하는 저장 장치. - 제3 항에 있어서,
상기 파라미터는 이레이저 카운트(erasure count), 프로그램 타임(program time), 이레이즈 타임(erase time), 리드 카운트(read count), 현재 온도, 과거 온도 및 온도 변화 중 적어도 하나를 포함하는 저장 장치. - 제3 항에 있어서,
상기 리텐션 제어 모듈은,
상기 파라미터를 기반으로 상기 제1 주기를 재설정하는 저장 장치. - 제1 항에 있어서,
상기 호스트 및 상기 추가 파워 모듈의 파워 공급을 조절하는 파워 컨트롤 모듈을 더 포함하고,
상기 파워 컨트롤 모듈이 파워를 공급하는 영역은 복수의 파워 도메인으로 분류되고,
상기 파워 컨트롤 모듈이 공급하는 파워의 전압은 제1 전압과, 상기 제1 전압보다 낮은 제2 전압을 포함하는 저장 장치. - 제6 항에 있어서,
상기 로우 파워 모드는 상기 제2 프로세싱 코어가 포함되는 최소 리소스 조합을 선택하고,
상기 최소 리소스 조합에 대응되는 파워 도메인에만 상기 파워 컨트롤 모듈이 상기 제2 전압으로 파워를 공급하는 저장 장치. - 제1 항에 있어서,
클럭 신호를 생성하여 전송하는 클럭 컨트롤 모듈을 더 포함하고,
상기 클럭 컨트롤 모듈이 클럭을 전송하는 영역은 복수의 클럭 도메인으로 분류되고,
상기 클럭 컨트롤 모듈이 공급하는 클럭의 주파수는 제1 주파수와, 상기 제1 주파수보다 낮은 제2 주파수를 포함하는 저장 장치. - 제1 항에 있어서,
상기 로우 파워 모드는 상기 제2 프로세싱 코어가 포함되는 최소 리소스 조합을 선택하고,
상기 최소 리소스 조합에 대응되는 클럭 도메인에만 상기 클럭 컨트롤 모듈이 상기 제2 주파수로 클럭을 공급하는 저장 장치. - 적어도 하나의 프로세싱 코어;
휘발성 메모리;
각각 적어도 하나의 제1 비휘발성 메모리를 포함하는 복수의 제1 메모리 채널;
상기 프로세싱 코어, 상기 휘발성 메모리 및 상기 복수의 제1 메모리 채널을 서로 연결하는 버스; 및
상기 프로세싱 코어 및 상기 휘발성 메모리를 이용하여 상기 복수의 제1 메모리 채널을 리프레쉬하는 리텐션 제어 모듈을 포함하되,
상기 리텐션 제어 모듈은,
호스트로부터 파워 공급이 없을 때에 주기적으로 웨이크 업되고,
상기 복수의 제1 메모리 채널 중 적어도 일부를 리프레쉬 영역으로 선정하고,
상기 리프레쉬를 위한 최소 리소스 조합을 선정하되, 상기 최소 리소스 조합은 상기 적어도 하나의 프로세싱 코어 중 적어도 일부와, 상기 휘발성 메모리를 포함하고,
상기 최소 리소스 조합에 대응되는 전압 및 클럭을 상기 호스트로부터 파워 공급이 있을 때보다 낮게 세팅하고,
상기 리프레쉬 영역을 리프레쉬하는 저장 장치. - 제10 항에 있어서,
제1 비휘발성 메모리와 다른 적어도 하나의 제2 비휘발성 메모리를 포함하는 제2 메모리 채널을 더 포함하고,
상기 리텐션 제어 모듈은 상기 제2 메모리 채널을 이용하여 리프레쉬하는 저장 장치. - 제11 항에 있어서,
상기 제2 비휘발성 메모리는 상기 제1 비휘발성 메모리에 비해서 낮은 파워를 사용하는 저장 장치. - 제11 항에 있어서,
상기 제2 비휘발성 메모리는 상기 제1 비휘발성 메모리에 비해서 높은 속도를 가지는 저장 장치. - 제11 항에 있어서,
상기 리텐션 제어 모듈에 파워를 공급하는 추가 파워 모듈을 더 포함하고,
상기 리프레쉬 중 상기 추가 파워 모듈의 파워가 기준값보다 낮아지는 경우에는, 상기 리텐션 제어 모듈은 현재 리프레쉬 동작에 대한 리프레쉬 컨텍스트를 저장하고,
상기 추가 파워 모듈의 파워가 기준값보다 다시 높아지면, 상기 리프레쉬 컨텍스트를 기반으로 리프레쉬를 완료하는 저장 장치. - 호스트로부터 파워 공급이 없을 때에, 리텐션 제어 모듈을 웨이크 업하고,
리프레쉬 영역을 선정하고,
리프레쉬를 위한 최소 리소스 조합을 결정하고,
상기 최소 리소스 조합에 대한 파워 도메인 및 공급 전압을 결정하고,
상기 최소 리소스 조합에 대한 클럭 도메인 및 공급 클럭을 결정하고,
상기 최소 리소스 조합을 이용하여 상기 리프레쉬 영역을 리프레쉬하고,
다음 웨이크 업 타임을 설정하는 것을 포함하는 저장 장치 리프레쉬 방법. - 제15 항에 있어서,
상기 파워 공급이 없어지기 전에, 파라미터를 업데이트하고,
상기 파라미터를 이용하여 리프레쉬 영역 리스트를 작성하고,
웨이크 업 타임을 설정하는 것을 더 포함하는 저장 장치 리프레쉬 방법. - 제16 항에 있어서,
상기 리프레쉬 영역을 선정하는 것은,
저장된 리프레쉬 컨텍스트가 있는지 판단하여 있다면, 상기 리프레쉬 컨텍스트를 복구하고,
상기 리프레쉬 컨텍스트를 기초로 상기 리프레쉬 영역 리스트를 업데이트 하는 것을 더 포함하는 저장 장치 리프레쉬 방법. - 제15 항에 있어서,
상기 리프레쉬 영역을 리프레쉬하는 것은,
상기 리텐션 제어 모듈에 공급되는 파워가 기준치 이하인지 판단하여, 리프레쉬 컨텍스트를 저장하는 것을 더 포함하는 저장 장치 리프레쉬 방법. - 제18 항에 있어서,
상기 리프레쉬 컨텍스트를 저장하는 것은,
상기 리프레쉬 컨텍스트를 비휘발성 메모리에 저장하는 것을 포함하는 저장 장치 리프레쉬 방법. - 제19 항에 있어서,
상기 리프레쉬 컨텍스트는 리프레쉬 작업이 필요한 데이터 및/또는 시스템 스테이터스 로그 데이터(system status log data)를 포함하는 저장 장치 리프레쉬 방법.
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020170114768A KR102244921B1 (ko) | 2017-09-07 | 2017-09-07 | 저장 장치 및 그 리프레쉬 방법 |
US15/947,442 US10672451B2 (en) | 2017-09-07 | 2018-04-06 | Storage device and refresh method thereof |
CN201811045287.4A CN109473138B (zh) | 2017-09-07 | 2018-09-07 | 存储装置及其刷新方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020170114768A KR102244921B1 (ko) | 2017-09-07 | 2017-09-07 | 저장 장치 및 그 리프레쉬 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20190027675A true KR20190027675A (ko) | 2019-03-15 |
KR102244921B1 KR102244921B1 (ko) | 2021-04-27 |
Family
ID=65518178
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020170114768A KR102244921B1 (ko) | 2017-09-07 | 2017-09-07 | 저장 장치 및 그 리프레쉬 방법 |
Country Status (3)
Country | Link |
---|---|
US (1) | US10672451B2 (ko) |
KR (1) | KR102244921B1 (ko) |
CN (1) | CN109473138B (ko) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20240107431A (ko) | 2022-12-30 | 2024-07-09 | 한국과학기술연구원 | 앉았다 일어서기 (Chair-rise test) 동작 특성을 이용하여 근감소증을 진단하는 방법, 이에 사용되는 근감소증 진단 모델을 학습시키는 방법, 그리고 그 시스템 |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102546255B1 (ko) * | 2018-08-03 | 2023-06-21 | 삼성전자주식회사 | 호스트의 지시 없이 능동적으로 유지보수 동작을 개시하는 스토리지 장치 및 그것을 포함하는 전자 시스템 |
DE102019118631A1 (de) | 2018-08-03 | 2020-02-06 | Samsung Electronics Co., Ltd. | Speichervorrichtung, welche eine Wartungsarbeit unabhängig ohne Befehl des Host initiiert, und elektronisches System mit derselben |
KR20200029810A (ko) * | 2018-09-11 | 2020-03-19 | 에스케이하이닉스 주식회사 | 데이터 처리 시스템 및 그의 동작방법 |
WO2020220246A1 (en) * | 2019-04-30 | 2020-11-05 | Yangtze Memory Technologies Co., Ltd. | Electronic apparatus and method of managing read levels of flash memory |
CN112486856A (zh) * | 2020-11-30 | 2021-03-12 | 珠海格力电器股份有限公司 | 显示扫描控制方法、装置、存储介质及控制设备 |
CN114415947B (zh) * | 2021-12-28 | 2024-02-23 | 山东云海国创云计算装备产业创新中心有限公司 | 一种Dummy read控制方法、装置及介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20100127719A (ko) * | 2009-05-26 | 2010-12-06 | 코라도 빌라 | 전원 손실을 제어하기 위한 방법 및 장치 |
US20130166864A1 (en) * | 2011-12-22 | 2013-06-27 | Sandisk Technologies Inc. | Systems and methods of performing a data save operation |
KR20130087853A (ko) * | 2012-01-30 | 2013-08-07 | 삼성전자주식회사 | 파워 컨트롤 시스템 및 그 동작 방법 |
US20150221349A1 (en) * | 2014-02-03 | 2015-08-06 | Samsung Electronics Co., Ltd. | System including multi channel memory and operating method for the same |
Family Cites Families (62)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5414861A (en) | 1991-09-11 | 1995-05-09 | Fujitsu Limited | Data protection system using different levels of reserve power to maintain data in volatile memories for any period of time |
US6128746A (en) * | 1997-08-26 | 2000-10-03 | International Business Machines Corporation | Continuously powered mainstore for large memory subsystems |
US6134167A (en) * | 1998-06-04 | 2000-10-17 | Compaq Computer Corporation | Reducing power consumption in computer memory |
US6181630B1 (en) | 1999-02-23 | 2001-01-30 | Genatek, Inc. | Method of stabilizing data stored in volatile memory |
US6496939B2 (en) | 1999-09-21 | 2002-12-17 | Bit Microsystems, Inc. | Method and system for controlling data in a computer system in the event of a power failure |
JP4580621B2 (ja) * | 2003-03-17 | 2010-11-17 | ソニー株式会社 | 半導体メモリ |
JP4365647B2 (ja) * | 2003-09-05 | 2009-11-18 | 三菱電機株式会社 | 車載電子制御装置の電源回路 |
US7369815B2 (en) * | 2003-09-19 | 2008-05-06 | Qualcomm Incorporated | Power collapse for a wireless terminal |
US7487391B2 (en) | 2005-08-04 | 2009-02-03 | Dot Hill Systems Corporation | Storage controller super capacitor adaptive life monitor |
JP4537909B2 (ja) | 2005-08-08 | 2010-09-08 | 株式会社東芝 | 情報記録装置 |
US7840825B2 (en) | 2006-10-24 | 2010-11-23 | International Business Machines Corporation | Method for autonomous dynamic voltage and frequency scaling of microprocessors |
US8458429B2 (en) * | 2006-12-31 | 2013-06-04 | Texas Instruments Incorporated | Memory controller idle mode |
WO2009042298A1 (en) * | 2007-09-26 | 2009-04-02 | Rambus Inc. | Flash memory refresh |
US9607664B2 (en) * | 2007-09-27 | 2017-03-28 | Sandisk Technologies Llc | Leveraging portable system power to enhance memory management and enable application level features |
US8074112B1 (en) | 2007-12-27 | 2011-12-06 | Marvell International Ltd. | Memory backup used in a raid system |
JP2009251627A (ja) | 2008-04-01 | 2009-10-29 | Panasonic Corp | メモリコントローラ、不揮発性記憶装置、及び不揮発性記憶システム |
US8266398B2 (en) * | 2008-05-22 | 2012-09-11 | Oracle America, Inc. | Method and apparatus for preserving memory contents during a power outage |
US8169825B1 (en) | 2008-09-02 | 2012-05-01 | Anobit Technologies Ltd. | Reliable data storage in analog memory cells subjected to long retention periods |
US8093868B2 (en) | 2008-09-04 | 2012-01-10 | International Business Machines Corporation | In situ verification of capacitive power support |
JP2012515376A (ja) * | 2009-01-12 | 2012-07-05 | ラムバス・インコーポレーテッド | クロック転送低電力シグナリングシステム |
US7830732B2 (en) | 2009-02-11 | 2010-11-09 | Stec, Inc. | Staged-backup flash backed dram module |
US7990797B2 (en) * | 2009-02-11 | 2011-08-02 | Stec, Inc. | State of health monitored flash backed dram module |
US9116830B2 (en) * | 2009-04-29 | 2015-08-25 | Texas Instruments Incorporated | Method to extend data retention for flash based storage in a real time device processed on generic semiconductor technology |
US8261136B2 (en) | 2009-06-29 | 2012-09-04 | Sandisk Technologies Inc. | Method and device for selectively refreshing a region of a memory of a data storage device |
US8370720B2 (en) | 2009-08-19 | 2013-02-05 | Ocz Technology Group, Inc. | Mass storage device and method for offline background scrubbing of solid-state memory devices |
US8307270B2 (en) * | 2009-09-03 | 2012-11-06 | International Business Machines Corporation | Advanced memory device having improved performance, reduced power and increased reliability |
US8510598B2 (en) | 2010-03-29 | 2013-08-13 | Dot Hill Systems Corporation | Buffer management method and apparatus for power reduction during flush operation |
JP2011221933A (ja) * | 2010-04-14 | 2011-11-04 | Panasonic Corp | 電子機器 |
WO2012021380A2 (en) * | 2010-08-13 | 2012-02-16 | Rambus Inc. | Fast-wake memory |
JP5633580B2 (ja) | 2010-12-24 | 2014-12-03 | 富士通株式会社 | ストレージ装置,制御装置および制御方法 |
KR20120091906A (ko) | 2011-02-10 | 2012-08-20 | 삼성전자주식회사 | 데이터 리텐션 동작을 수행하는 사용자 장치, 저장 장치, 그리고 그것의 데이터 리텐션 방법 |
JP2012178194A (ja) * | 2011-02-25 | 2012-09-13 | Renesas Electronics Corp | 不揮発性半導体記憶装置 |
JP5708228B2 (ja) | 2011-05-17 | 2015-04-30 | 大日本印刷株式会社 | Icカード及びicカードのリフレッシュ方法 |
US10817043B2 (en) * | 2011-07-26 | 2020-10-27 | Nvidia Corporation | System and method for entering and exiting sleep mode in a graphics subsystem |
US9471121B2 (en) * | 2011-11-14 | 2016-10-18 | Texas Instruments Incorporated | Microprocessor based power management system architecture |
KR20130089472A (ko) | 2012-02-02 | 2013-08-12 | 삼성전자주식회사 | 비휘발성 메모리 장치 및 이를 포함하는 메모리 카드 |
KR20140001535A (ko) | 2012-06-27 | 2014-01-07 | 삼성전자주식회사 | 스토리지 시스템 및 그것의 데이터 관리 방법 |
US9830964B2 (en) | 2012-09-10 | 2017-11-28 | Texas Instruments Incorporated | Non-volatile array wakeup and backup sequencing control |
US9299415B1 (en) * | 2013-02-11 | 2016-03-29 | Marvell International Ltd. | Method and apparatus for automatic transition of a volatile memory between low power states |
US9286985B2 (en) * | 2013-02-12 | 2016-03-15 | Kabushiki Kaisha Toshiba | Semiconductor device with power mode transitioning operation |
JP2014178974A (ja) | 2013-03-15 | 2014-09-25 | Nec Casio Mobile Communications Ltd | 電子機器、その制御方法及びプログラムに関する。 |
US9335809B2 (en) * | 2013-03-15 | 2016-05-10 | Seagate Technology Llc | Volatile memory storing system data during low power mode operation and monitoring the voltage supplied to the memory during low power mode |
US9543025B2 (en) | 2013-04-11 | 2017-01-10 | Sandisk Technologies Llc | Storage control system with power-off time estimation mechanism and method of operation thereof |
US9042197B2 (en) | 2013-07-23 | 2015-05-26 | Western Digital Technologies, Inc. | Power fail protection and recovery using low power states in a data storage device/system |
JP6150669B2 (ja) | 2013-08-22 | 2017-06-21 | キヤノン株式会社 | 情報処理装置、画像形成装置、及びその制御方法 |
US8843700B1 (en) | 2013-11-29 | 2014-09-23 | NXGN Data, Inc. | Power efficient method for cold storage data retention management |
US9280419B2 (en) | 2013-12-16 | 2016-03-08 | International Business Machines Corporation | Dynamic adjustment of data protection schemes in flash storage systems based on temperature, power off duration and flash age |
JP6018113B2 (ja) | 2014-04-15 | 2016-11-02 | レノボ・シンガポール・プライベート・リミテッド | 不揮発性メモリのデータ消失を防止する方法、コンピュータおよびホスト装置。 |
US8908443B1 (en) | 2014-05-27 | 2014-12-09 | Sandisk Technologies Inc. | Storage device and method for performing a self-refresh operation |
US9471140B2 (en) * | 2014-06-13 | 2016-10-18 | Texas Instruments Incorporated | Valid context status retention in processor power mode management |
US9361030B2 (en) | 2014-08-20 | 2016-06-07 | Sandisk Technologies Inc. | Temperature accelerated stress time |
US20160155491A1 (en) * | 2014-11-27 | 2016-06-02 | Advanced Micro Devices, Inc. | Memory persistence management control |
US9568971B2 (en) * | 2015-02-05 | 2017-02-14 | Apple Inc. | Solid state drive with self-refresh power saving mode |
KR102403253B1 (ko) | 2015-07-06 | 2022-05-30 | 삼성전자주식회사 | 불휘발성 메모리 장치를 포함하는 스토리지 장치 |
US11462284B2 (en) * | 2015-08-31 | 2022-10-04 | Keysight Technologies, Inc. | Method and system for analyzing a refresh rate of a volatile memory device |
KR102413755B1 (ko) | 2015-11-20 | 2022-06-28 | 삼성전자주식회사 | 리텐션 특성에 의한 성능 저하를 복구하는 저장 장치의 동작 방법 및 이를 포함하는 데이터 처리 시스템의 동작 방법 |
CN106814840A (zh) * | 2015-12-02 | 2017-06-09 | 飞思卡尔半导体公司 | 用于处理器的低电力状态保持模式 |
KR102437591B1 (ko) | 2015-12-03 | 2022-08-30 | 삼성전자주식회사 | 불휘발성 메모리 시스템의 동작 방법 및 메모리 컨트롤러의 동작 방법 |
US10049004B2 (en) * | 2015-12-09 | 2018-08-14 | Samsung Electronics Co., Ltd. | Electronic system with memory data protection mechanism and method of operation thereof |
KR102449337B1 (ko) | 2015-12-14 | 2022-10-04 | 삼성전자주식회사 | 불휘발성 메모리 시스템의 동작 방법 |
US10242719B2 (en) * | 2016-04-08 | 2019-03-26 | Samsung Electronics Co., Ltd. | Power management of a memory device by dynamically changing supply voltage |
KR102644275B1 (ko) * | 2016-05-19 | 2024-03-06 | 삼성전자주식회사 | 리프레쉬 리드 동작을 수행하는 불휘발성 메모리 장치를 제어하는 메모리 콘트롤러의 동작 방법 |
-
2017
- 2017-09-07 KR KR1020170114768A patent/KR102244921B1/ko active IP Right Grant
-
2018
- 2018-04-06 US US15/947,442 patent/US10672451B2/en active Active
- 2018-09-07 CN CN201811045287.4A patent/CN109473138B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20100127719A (ko) * | 2009-05-26 | 2010-12-06 | 코라도 빌라 | 전원 손실을 제어하기 위한 방법 및 장치 |
US20130166864A1 (en) * | 2011-12-22 | 2013-06-27 | Sandisk Technologies Inc. | Systems and methods of performing a data save operation |
KR20130087853A (ko) * | 2012-01-30 | 2013-08-07 | 삼성전자주식회사 | 파워 컨트롤 시스템 및 그 동작 방법 |
US20150221349A1 (en) * | 2014-02-03 | 2015-08-06 | Samsung Electronics Co., Ltd. | System including multi channel memory and operating method for the same |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20240107431A (ko) | 2022-12-30 | 2024-07-09 | 한국과학기술연구원 | 앉았다 일어서기 (Chair-rise test) 동작 특성을 이용하여 근감소증을 진단하는 방법, 이에 사용되는 근감소증 진단 모델을 학습시키는 방법, 그리고 그 시스템 |
Also Published As
Publication number | Publication date |
---|---|
US20190074053A1 (en) | 2019-03-07 |
CN109473138A (zh) | 2019-03-15 |
KR102244921B1 (ko) | 2021-04-27 |
CN109473138B (zh) | 2024-01-30 |
US10672451B2 (en) | 2020-06-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102244921B1 (ko) | 저장 장치 및 그 리프레쉬 방법 | |
US11216323B2 (en) | Solid state memory system with low power error correction mechanism and method of operation thereof | |
US11995348B2 (en) | Data and power management of partitioned buffer in a storage device | |
US12029031B2 (en) | Memory system | |
US9063844B2 (en) | Non-volatile memory management system with time measure mechanism and method of operation thereof | |
US20170010832A1 (en) | Non-volatile memory systems and methods of managing power of the same | |
JP4822440B2 (ja) | 不揮発性メモリシステムのための内部メンテナンススケジュール要求 | |
US10241701B2 (en) | Solid state memory system with power management mechanism and method of operation thereof | |
US10176039B2 (en) | Self-accumulating exclusive OR program | |
KR102140512B1 (ko) | 불휘발성 메모리 장치, 불휘발성 메모리 장치를 포함하는 불휘발성 메모리 시스템 및 불휘발성 메모리 시스템의 동작 방법 | |
US11693567B2 (en) | Memory performance optimization method, memory control circuit unit and memory storage device | |
US20150058697A1 (en) | Storage device, controller and memory controlling method | |
JP7443418B2 (ja) | 情報処理装置の製造方法、及び情報処理装置 | |
US20110238897A1 (en) | Memory system, personal computer, and method of controlling the memory system | |
CN111459527B (zh) | 存储器系统及其操作方法 | |
CN113345500B (zh) | 用来进行恢复管理的方法及设备 | |
US12086428B2 (en) | Memory controller adjusting power, memory system including same, and operating method for memory system | |
CN112204514A (zh) | 用于保留非易失性存储器的预期寿命的技术 | |
KR102458919B1 (ko) | 적응적인 파워 조절을 수행하는 메모리 컨트롤러, 이를 포함하는 메모리 시스템 및 메모리 시스템의 동작방법 | |
KR102434036B1 (ko) | 보조 전원 장치의 수명을 위한 충전 전압 제어 방법 및 이를 수행하는 스토리지 장치 | |
US20210357145A1 (en) | Data writing method, memory storage device and memory control circuit unit | |
CN116417025A (zh) | 一种掉电处理方法、固态硬盘及计算设备 | |
CN118778905A (zh) | 一种存储器及其数据的处理方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |