KR20160147509A - 저장 장치의 온도별 데이터 관리 방법 - Google Patents

저장 장치의 온도별 데이터 관리 방법 Download PDF

Info

Publication number
KR20160147509A
KR20160147509A KR1020150084328A KR20150084328A KR20160147509A KR 20160147509 A KR20160147509 A KR 20160147509A KR 1020150084328 A KR1020150084328 A KR 1020150084328A KR 20150084328 A KR20150084328 A KR 20150084328A KR 20160147509 A KR20160147509 A KR 20160147509A
Authority
KR
South Korea
Prior art keywords
refresh
temperature
buffer memory
refresh interval
burst
Prior art date
Application number
KR1020150084328A
Other languages
English (en)
Other versions
KR102372888B1 (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 KR1020150084328A priority Critical patent/KR102372888B1/ko
Priority to US15/135,869 priority patent/US9633711B2/en
Publication of KR20160147509A publication Critical patent/KR20160147509A/ko
Application granted granted Critical
Publication of KR102372888B1 publication Critical patent/KR102372888B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital 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/406Management or control of the refreshing or charge-regeneration cycles
    • G11C11/40626Temperature related aspects of refresh operations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1605Handling requests for interconnection or transfer for access to memory bus based on arbitration
    • G06F13/161Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement
    • G06F13/1636Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement using refresh
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/16Constructional details or arrangements
    • G06F1/20Cooling means
    • G06F1/206Cooling means comprising thermal management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • G06F13/1673Details of memory controller using buffers
    • 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/1072Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers for memories with random access ports synchronised on clock signal pulse trains, e.g. synchronous memories, self timed memories
    • 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/1015Read-write modes for single port memories, i.e. having either a random port or a serial port
    • G11C7/1018Serial bit line access mode, e.g. using bit line address shift registers, bit line address counters, bit line burst counters

Abstract

저장 장치의 온도별 데이터 관리 방법에 대하여 개시된다. 버퍼 메모리를 포함하는 저장 장치의 데이터 관리 방법은, 저장 장치의 온도를 측정하는 단계, 온도에 따라 버퍼 메모리의 리프레쉬 인터벌과 리프레쉬 인터벌 마다의 버스트 리프레쉬 수를 변경하는 단계, 그리고 온도에 따라 변경된 리프레쉬 인터벌과 버스트 리프레쉬 수에 기초하여 버퍼 메모리의 데이터를 리프레쉬하는 단계를 포함한다.

Description

저장 장치의 온도별 데이터 관리 방법 {Method for managing data of storage device by temperature}
본 발명은 반도체 장치에 관한 것으로서, 더욱 상세하게는 온도에 따라 데이터를 관리하는 저장 장치 및 그것의 데이터 관리 방법들에 관한 것이다.
SSD (Solid State Driver)와 같은 저장 장치(storage device)는 텍스트, 그래픽, 소프트웨어 코드 등과 같은 다양한 데이터 형태들을 갖는 데이터를 저장하는 데 사용된다. SSD는 호스트 등에서 제공되는 입출력 요청에 대응되는 데이터를 임시로 저장하기 위하여 버퍼 메모리를 포함한다. DRAM (Dynamic Random Access Memory)과 같은 휘발성 메모리 장치가 버퍼 메모리로 이용되는 경우, SSD는 DRAM의 데이터 휘발 특성을 고려하여 데이터를 센싱하고 재기록하도록 DRAM 리프레쉬 동작을 수행한다. 이러한 DRAM 리프레쉬 동작은 SSD의 성능을 저하시킬 수 있다.
본 발명의 일 목적은 저장 장치의 성능 저하를 최소화하기 위하여, 온도에 따라 저장 장치 내 버퍼 메모리의 리프레쉬 동작을 제어하는 데이터 관리 방법을 제공하는 것이다.
본 발명의 다른 목적은 온도에 따라 데이터를 관리하는 저장 장치를 제공하는 것이다.
상기 일 목적을 달성하기 위하여, 본 발명의 일면에 따른 버퍼 메모리를 포함하는 저장 장치의 데이터 관리 방법은, 저장 장치의 온도를 측정하는 단계, 온도에 따라 버퍼 메모리의 리프레쉬 인터벌과 리프레쉬 인터벌 마다의 버스트 리프레쉬 수를 변경하는 단계, 그리고 온도에 따라 변경된 리프레쉬 인터벌과 버스트 리프레쉬 수에 기초하여 버퍼 메모리의 데이터를 리프레쉬하는 단계를 포함한다.
상기 다른 목적을 달성하기 위하여, 본 발명의 다른 면에 따른 저장 장치는, 데이터 저장부와 데이터 저장부를 제어하는 콘트롤러를 포함한다. 콘트롤러는 데이터 저장부로/로부터 전송되는 데이터를 임시로 저장하는 버퍼 메모리와, 버퍼 메모리에 저장된 데이터를 보유하기 위하여, 온도에 따라 리프레쉬 인터벌과 리프레쉬 인터벌 마다의 버스트 리프레쉬 수를 변경하는 버퍼 메모리 제어부를 포함한다.
본 발명의 실시예들에 따른 저장 장치 및 그것의 데이터 관리 방법은, 온도에 따라 리프레쉬 주기 내에서 리프레쉬 인터벌과 버스트 리프레쉬 수를 변경하여 버퍼 메모리를 리프레쉬함으로써, 저장 장치의 성능 저하를 감소시킬 수 있다.
도 1은 본 발명의 실시예들에 따른 온도에 따라 데이터를 관리하는 저장 장치를 포함하는 전자 장치를 설명하는 도면이다.
도 2는 본 발명의 실시예들에 따른 온도에 따라 데이터를 관리하는 저장 장치를 설명하는 도면이다.
도 3은 DRAM의 일반적인 리프레쉬 동작을 설명하는 도면이다.
도 4 내지 도 6은 본 발명의 실시예들에 따른 온도에 따라 저장 장치의 데이터 관리 방법을 설명하는 제1 예의 도면들이다.
도 7 내지 도 9는 본 발명의 실시예들에 따른 온도에 따라 저장 장치의 데이터 관리 방법을 설명하는 제2 예의 도면들이다.
도 10 내지 도 12는 본 발명의 실시예들에 따른 온도에 따라 저장 장치의 데이터 관리 방법을 설명하는 제3 예의 도면들이다.
도 13은 본 발명의 실시예들에 따른 온도에 따라 데이터를 관리하는 저장 장치의 응용 예인 메모리 카드를 설명하는 도면이다.
도 14는 본 발명의 실시예들에 따른 온도에 따라 데이터를 관리하는 저장 장치의 응용 예인 SSD를 갖는 컴퓨팅 시스템을 설명하는 도면이다.
도 15는 본 발명의 실시예들에 따른 온도에 따라 데이터를 관리하는 저장 장치의 응용 예인 SSD를 이용하는 서버 시스템을 설명하는 도면이다.
이하, 첨부한 도면을 참조하여 본 발명의 실시예에 대해 상세히 설명한다. 본 발명의 실시예는 당 업계에서 평균적인 지식을 가진 자에게 본 발명을 보다 완전하게 설명하기 위하여 제공되는 것이다. 본 발명은 다양한 변경을 가할 수 있고 여러 가지 형태를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 개시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용한다. 첨부된 도면에 있어서, 구조물들의 치수는 본 발명의 명확성을 기하기 위하여 실제보다 확대하거나 축소하여 도시한 것이다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서 상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성 요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 갖는다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
도 1은 본 발명의 실시예들에 따른 온도에 따라 데이터를 관리하는 저장 장치를 포함하는 전자 장치를 설명하는 도면이다.
도 1을 참조하면, 전자 장치(10)는 호스트(100)와 저장 장치(200)를 포함한다. 호스트(100)는, 예를 들어, 개인용/휴대용 컴퓨터, 태블릿 PC, PDA (Personal Digital Assistant), PMP (Portable Media Player), 디지털 카메라, 캠코더 등과 같은 사용자 장치를 포함할 수 있다. 호스트(100)는 입출력 요청(RQ)을 통하여 저장 장치(200)에 데이터를 저장하거나, 데이터를 읽어온다.
호스트(100)는 USB (Universial Serial Bus), MMC (Multimedia Card), PCI (Peripheral Component Interconnection), PCI-E (PCI-Express), ATA (Advanced Technology Attachment), Serial-ATA, Parallel-ATA, SCSI (Small Computer Small Interface), ESDI (Enhanced Small Disk Interface) 또는 IDE (Integrated Drive Electronics) 등과 같은 다양한 인터페이스를 통하여 저장 장치(200)에 연결될 수 있다.
저장 장치(200)는 호스트(100)의 입출력 요청(RQ)에 따라 쓰기 동작을 수행하거나 읽기 동작을 수행할 수 있다. 저장 장치(200)는, 예를 들어, SSD (Solid State Driver)를 구성할 수 있다. 실시예에 따라, 저장 장치(200)는 PC 카드 (PCMCIA, Personal Computer Memory Card International Association), 컴팩트 플래시 카드(CF), 스마트 미디어 카드 (SM, SMC), 메모리 스틱, 멀티 미디어 카드 (MMC, eMMC, RS-MMC, MMC-micro), SD 카드 (SD, miniSD, microSD, SDHC), 유니버설 플래시 기억 장치 (UFS), 데이터 서버 등 일 수 있다.
저장 장치(200)는 데이터 저장부(210)와 데이터 저장부(210)에 대한 전반적인 동작을 제어하는 컨트롤러(220)를 포함할 수 있다.
데이터 저장부(210)는 쓰기 동작시 데이터를 저장하고, 읽기 동작시 저장된 데이터를 읽는다. 데이터 저장부(210)는 플래쉬 메모리와 같은 불휘발성 메모리로 구성될 수 있다. 실시예에 따라, 데이터 저장부(210)는 낸드 플래쉬 메모리 (NAND Flash Memory), 수직형 낸드 플래쉬 메모리 (Vertival NAND: VNAND, 3D), 노아 플래쉬 메모리 (NOR Flash Memory), 저항성 램 (Resistive Random Access Memory: RRAM), 상변화 메모리(Phase-change Memory: PRAM), 자기저항 메모리 (Magnetroresistive Random Access Memory: MRAM), 강유전체 메모리 (Ferroelectric Random Access Memory: FRAM), 스핀주입 자화반전 메모리 (Spin Transfer Torque Random Access Memory: STT-RAM) 등으로 구성될 수 있다.
호스트(100)는 사용자 스페이스 (user space, 110)와 커널 스페이스(kernel space, 120)를 포함할 수 있다. 사용자 스페이스(110)는 사용자 어플리케이션(user application, 111) 또는 운영 체제가 실행되는 영역이고, 커널 스페이스(120)는 커널 실행을 위하여 제한적으로 보장된 영역(restrictively reserved) 영역이다. 커널 스페이스(120)는 파일 시스템(121), 장치 드라이버(122) 등을 포함할 수 있다. 파일 시스템(121)은 사용자 어플리케이션 (또는 운영 체제, 111)에 의해서 생성된 파일(들)을 관리한다. 장치 드라이버(122)는 저장 장치(200)와 사용자 어플리케이션 (또는 운영 체제, 111) 사이의 인터페이스를 담당한다. 파일 시스템(121)과 장치 드라이버(122)는 소프트웨어 형태로 저장될 수 있다.
호스트(100)의 파일 시스템(121)은 사용자 어플리케이션(111)으로부터 파일 라이트 요청 또는 파일 리드 요청을 받을 수 있다. 파일 시스템(121)은 사용자 어플리케이션(111)의 요청에 응답하여 저장 장치(200)에 파일을 저장하고, 저장 장치(200)로부터 파일을 읽을 수 있다.
파일 시스템(121)이 저장 장치(200)에 파일을 저장할 때, 파일 데이터와 메타 데이터를 데이터 저장부(210)에 저장할 수 있다. 파일 데이터는 사용자 어플리케이션(111)이 저장하고자 하는 파일의 내용을 포함하고, 메타 데이터는 파일의 속성과 파일 데이터가 저장되는 블록의 위치 등을 포함한다.
파일 시스템(121)이 저장 장치(200)로부터 파일을 읽을 때, 저장되어 있는 메타 데이터를 데이터 저장부(210)로부터 읽어낸 후, 읽힌 메타 데이터를 바탕으로 파일 데이터를 읽게 된다.
저장 장치(200)는 데이터 저장부(210)로/로부터 파일을 저장하거나 파일을 읽을 때, 라이트/리드 속도를 빠르게 하기 위하여 콘트롤러(220) 내부에 버퍼 메모리(240)를 포함할 수 있다. 버퍼 메모리(240)에는 파일 데이터와 메타 데이터, 그리고 어드레스 맵핑 정보가 저장될 수 있다. 버퍼 메모리(240)는 읽고 쓰는 속도가 빠른 DRAM, SRAM 등과 같은 휘발성 메모리 장치로 구성될 수 있다. 예컨대, DRAM으로 구성되는 버퍼 메모리(240)는 저장된 데이터를 안정적으로 보유하기 위하여 리프레쉬 동작을 필요로 한다. 실시예에 따라, 버퍼 메모리(240)는 콘트롤러(220) 외부에 배치될 수 있다.
콘트롤러(220)는 버퍼 메모리(240)의 리프레쉬 동작을 통하여 데이터를 유지할 수 있다. 콘트롤러(220)는 온도에 따라 리프레쉬 인터벌을 변경하고, 리프레쉬 인터벌 마다의 버스트 리프레쉬 수를 변경하는 방법을 통하여 버퍼 메모리(240)를 리프레쉬한다.
도 2는 본 발명의 실시예들에 따른 온도에 따라 데이터를 관리하는 저장 장치를 설명하는 도면이다.
도 2를 참조하면, 저장 장치(200)는 데이터 저장부(210)와 콘트롤러(220)를 포함할 수 있다. 데이터 저장부(210)는 플래쉬 메모리와 같은 불휘발성 메모리로 구성될 수 있다. 콘트롤러(220)는 중앙처리장치(222, 이하 `CPU`라 칭함), 호스트 인터페이스(224), 플래쉬 인터페이스(226), 버퍼 메모리 제어부(230) 그리고 버퍼 메모리(240)를 포함할 수 있다. 실시예에 따라, 버퍼 메모리(240)는 콘트롤러(220) 내부에 포함되지 않고 외부에 배치될 수 있다.
데이터 저장부(210)와 콘트롤러(220) 사이에는 하나 이상의 채널들, 예를 들어 N개의 채널들이 구성될 수 있다. 각각의 채널(CH0-CH(N-1))에는 복수개의 플래쉬 메모리들(211-213)이 전기적으로 연결될 수 있다. 각각의 채널(CH0-CH(N-1))에 연결된 복수개의 플래쉬 메모리들(211-213)은 복수개의 웨이들(ways)을 구성할 수 있다. 채널(CH0-CH(N-1))은 대응되는 플래쉬 메모리들(211-213)로 커맨드 및 데이터를 전송하기 위한 독립적인 버스를 의미한다. 웨이는 하나의 채널을 공유하는 플래쉬 메모리들(211-213)의 집합을 의미한다.
실시예에 따라, 복수개의 채널들(CH0-CH(N-1)) 중 하나의 채널에는 동일한 종류의 메모리들이 연결되고, 타 채널들에는 다른 종류 또는 동일한 종류의 메모리들이 연결될 수 있다.
데이터 저장부(210)를 구성하는 플래쉬 메모리들(211-213)은 오버라이트(overwrite)가 불가능한 메모리이다. 플래쉬 메모리(211-213)에 데이터를 재기록하기 위해서는 삭제 동작이 선행되어야 한다. 플래쉬 메모리(211-213)에서 기록되는 데이터의 단위는 삭제되는 데이터의 단위와 다르다. 플래쉬 메모리(211-213)에서 쓰기 동작은 페이지 단위로 수행되고, 삭제 동작은 블록 단위로 수행될 수 있다. 블록은 복수개의 페이지들을 포함할 수 있다. 즉, 플래쉬 메모리(211-213)에서 기록되는 데이터의 단위는, 삭제되는 데이터의 단위보다 작다.
플래쉬 메모리들(211-213)의 삭제 동작을 감추기 위해, 호스트(100)의 파일 시스템(121, 도 1)과 플래쉬 메모리(211-213) 사이에 플래쉬 변환 계층(Flash Translation Layer: FTL)이 사용된다. FTL은 플래쉬 메모리(211-213)에 대한 기록 동작시 파일 시스템(121)이 생성한 논리 블록 어드레스(Logical Block Address: LBA)를 삭제 동작이 수행된 플래쉬 메모리(211-213)의 물리 블록 어드레스(Physical Block Address: PBA)로 맵핑시켜 준다. FTL의 어드레스 맵핑 기능으로 인해, 호스트(100)는 플래쉬 메모리(211-213)로 구성된 저장 장치(200)를 마치 하드 디스크 드라이버처럼 인식하고, 하드 디스크 드라이버와 동일한 방식으로 플래쉬 메모리(211-213)를 억세스할 수 있게 된다.
콘트롤러(220)의 CPU(222)는 저장 장치(200)의 동작을 제어할 수 있다. 저장 장치(200)는 CPU(222)의 제어에 따라서 호스트 인터페이스(224)를 통해 호스트(100, 도 1)와 커맨드, 어드레스 및 데이터를 교환할 수 있다. 저장 장치(200)는 CPU(222)의 제어에 따라서 플래쉬 인터페이스(226)를 통해 복수개의 플래쉬 메모리들(211-213)과 데이터를 주고 받을 수 있다. 플래쉬 인터페이스(226)는 복수개의 채널들(CH0-CH(N_1))을 통해 소프트웨어 및 하드웨어 인터리브 동작들을 선택적으로 수행하도록 구성될 수 있다.
버퍼 메모리 제어부(230)는 CPU(222)의 제어에 응답하여 버퍼 메모리(240)의 읽기/쓰기 동작과 같은 억세스 동작과 리프레쉬 동작을 제어할 수 있다. 버퍼 메모리 제어부(230)는 저장 장치(200)의 온도에 따라 리프레쉬 인터벌과 리프레쉬 인터벌 마다의 버스트 리프레쉬 수를 변경하는 방법으로 버퍼 메모리(240)의 리프레쉬 동작을 제어할 수 있다.
버퍼 메모리(240)는 플래쉬 메모리들(211-213)과 호스트(100) 사이에서 전달되는 파일 데이터와 메타 데이터를 임시적으로 저장할 수 있다. 버퍼 메모리(240)는 FTL 기능을 수행하는 데 필요한 소프트웨어 및 CPU(222)에 의해 운용될 프로그램들을 저장할 수 있다. 또한, 버퍼 메모리(240)에는 FTL에 의해 처리된 어드레스 맵핑 정보가 저장될 수 있다. 버퍼 메모리(240)는 읽고 쓰는 속도가 빠른 SRAM 또는 DRAM 과 같은 휘발성 메모리로 구성될 수 있다.
호스트 인터페이스(224)를 통해 호스트(100)로부터 입력된 데이터는, CPU(222)의 제어에 따라서 버퍼 메모리 제어부(230)를 통해 버퍼 메모리(240)에 임시 저장된다. 버퍼 메모리(240)에 저장된 데이터는 CPU(222)의 제어에 따라서 버퍼 메모리 제어부(230) 및 플래쉬 인터페이스(226)를 통해 플래쉬 메모리(211-213)로 제공될 것이다.
반대로, 플래쉬 인터페이스(226)를 통해 플래쉬 메모리(211-213)로부터 입력된 데이터는, CPU(222)의 제어에 따라서 버퍼 메모리 제어부(230)를 통해 버퍼 메모리(240)에 임시 저장된다. 버퍼 메모리(240)에 저장된 데이터는 CPU(222)의 제어에 따라서 버퍼 메모리 제어부(230) 및 호스트 인터페이스(224)를 통해 호스트(100)로 제공될 것이다.
버퍼 메모리(240)가 DRAM으로 구성되는 경우, DRAM은 누설 전류에 의해 메모리 셀의 전하를 잃어버리기 전에, 데이터를 센싱하고 재기록하도록 리프레쉬 동작을 수행해야 한다. DRAM은 통상적으로, 도 3에 도시된 바와 같이, 메모리 셀들이 연결된 메모리 셀 로우들(310)이 리프레쉬 주기(tREF)로 리프레쉬되도록 리프레쉬 동작을 수행한다. 리프레쉬 주기(tREF)는 DRAM의 표준에 의해 정의되는 주기로서, 예를 들어, 64ms, 32ms 등일 수 있다. 하나의 메모리 셀 로우(310)에 대한 리프레쉬와 다음 메모리 셀 로우(311)에 대한 리프레쉬 사이의 간격은 리프레쉬 인터벌(tREFI)로 정의된다. 설명의 편의를 위하여, DRAM 표준의 리프레쉬 주기(tREF) 내에서 리프레쉬 인터벌은 제1 리프레쉬 인터벌(tREFI)이라 칭한다.
제1 리프레쉬 인터벌(tREFI)은 DRAM의 노멀 억세스 모드에서 버퍼 메모리 제어부(230)로부터의 커맨드에 의하여 수행되는 오토 리프레쉬 수행시의 리프레쉬 인터벌일 수 있다.
DRAM의 정해진 표준에 따르는 리프레쉬 주기(tREF) 내에서 제1 리프레쉬 인터벌(tREFI) 마다 수행되는 리프레쉬 동작은, 저장 장치(200)의 성능을 저하시킬 수 있다. DRAM의 리프레쉬 동작은 메모리 셀 로우에 연결된 메모리 셀들에 대하여 프리차아지-리프레쉬-액티브 동작을 수행하는 것이다. 프리차아지 동작은 이전에 오픈되어 있던 메모리 뱅크를 닫는 동작을 의미하고, 리프레쉬 동작은 해당 메모리 셀 로우에 연결된 메모리 셀들의 리프레쉬 동작을 의미하고, 액티브 동작은 리프레쉬 동작이 수행되는 메모리 뱅크를 다시 오픈하는 동작을 의미한다.
DRAM으로 구성된 버퍼 메모리(240)에서 제1 리프레쉬 인터벌(tREFI) 마다 프리차아지 동작과 액티브 동작을 수행하는 것은 저장 장치(200)의 성능에 부담으로 작용할 수 있다. 버퍼 메모리 제어부(230)는 DRAM 동작 특성 중에서 오픈 페이지 폴리시(open page policy)를 이용하여 리프레쉬 동작을 제어할 수 있다. 오픈 페이지 폴리시는 오픈된 메모리 뱅크에 대하여 리프레쉬 동작을 수행하는 것으로써, 리프레쉬 동작 전에 프리차아지 동작을 수행하지 않는다. 이에 따라, 버퍼 메모리 제어부(230)는 버퍼 메모리(240)의 리프레쉬 동작에서 프리차아지 및 액티브 동작 횟수를 줄이기 위하여, 버스트 리프레쉬가 수행되도록 제어할 수 있다.
버퍼 메모리(240)은 DRAM 셀 커패시터의 누설 전류에 의해, 독출 및 기입 동작이 없는 동안에도 시간이 흐름에 따라 셀 커패시터에 저장된 전하가 소멸되게 된다. DRAM의 누설 전류는 저온일 때는 감소하고, 고온일 때는 증가하는 온도 의존성을 갖는다. 이에 따라, 버퍼 메모리(240)은 저온일 때 리프레쉬 주기가 길게 설정되고 고온일 때 리프레쉬 주기가 짧게 설정되도록, 리프레쉬 동작이 변경될 필요가 있다. 버퍼 메모리 제어부(230)는 온도에 따라 버퍼 메모리(240)의 리프레쉬 인터벌이 변경되도록 제어할 수 있다.
버퍼 메모리 제어부(230)는 저장 장치(200)의 온도를 측정하는 온도 센서(232)와 리프레쉬 제어부(234)를 포함할 수 있다. 리프레쉬 제어부(234)는 온도 센서(232)에서 측정된 온도에 따라 버퍼 메모리(240)의 리프레쉬 동작을 제어할 수 있다. 리프레쉬 제어부(234)는 온도에 따라 리프레쉬 인터벌 및 버스트 리프레쉬 수를 변경하고, 변경된 리프레쉬 인터벌과 버스트 리프레쉬 수에 따라 버퍼 메모리(240)가 리프레쉬되도록 제어할 수 있다.
버퍼 메모리 제어부(230)에 의해 제어되는 버퍼 메모리(240)의 리프레쉬 동작은 도 4 내지 도 12에서 좀 더 자세히 설명될 것이다. 실시예에 따라, 도 4 내지 도 12에서 설명되는 버퍼 메모리(240)의 리프레쉬 방법은 버퍼 메모리 제어부(230)에 소프트웨어 또는 펌웨어로 구현될 수 있다.
도 4 내지 도 6은 본 발명의 실시예들에 따른 온도에 따라 저장 장치의 데이터 관리 방법을 설명하는 제1 예의 도면들이다. 도 4는 저장 장치 내 버퍼 메모리의 리프레쉬 방법을 설명하는 플로우챠트이고, 도 5 및 도 6은 도 4의 리프레쉬 방법에 따른 타이밍도들이다.
도 2의 저장 장치와 연계하여 도 4를 참조하면, 콘트롤러(230)의 온도 센서(232)는 저장 장치(200)의 온도(Tc)를 측정한다(S410).
측정된 온도(Tc)가 85℃ 이상이면(S420), 리프레쉬 제어부(234)는 제1 리프레쉬 인터벌(tREFI) 보다 긴 제2 리프레쉬 인터벌(tREFIa)로 버퍼 메모리(240)가 리프레쉬되도록 설정하고, 제2 리프레쉬 인터벌(tREFIa) 마다 제1군의 메모리 셀 로우들이 버스트 리프레쉬되도록 설정한다(S422). 제2 리프레쉬 인터벌(tREFIa)은 예컨대, 제1 리프레쉬 인터벌(tREFI)의 2배에 상응하는 리프레쉬 인터벌로 설정될 수 있다. 버스트 리프레쉬되는 제1군의 메모리 셀 로우들은 예컨대, 8개의 메모리 셀 로우들로 구성될 수 있다. 리프레쉬 제어부(234)에 설정된 리프레쉬 조건에 따라서, 버퍼 메모리(240)는 제1 리프레쉬 인터벌(tREFI)의 2배에 상응하는 제2 리프레쉬 인터벌(tREFIa) 마다 8개의 메모리 셀 로우들로 구성된 제1군의 메모리 셀 로우들이 버스트 리프레쉬된다(S450).
측정된 온도(Tc)가 85℃ 보다 낮고 45℃ 이상이면(S430), 리프레쉬 제어부(234)는 제1 리프레쉬 인터벌(tREFI) 보다 긴 제3 리프레쉬 인터벌(tREFIb)로 버퍼 메모리(240)가 리프레쉬되도록 설정하고, 제3 리프레쉬 인터벌(tREFIb) 마다 제1군의 메모리 셀 로우들이 버스트 리프레쉬되도록 설정한다(S432). 제3 리프레쉬 인터벌(tREFIb)은 예컨대, 제1 리프레쉬 인터벌(tREFI)의 8배에 상응하는 리프레쉬 인터벌로 설정될 수 있다. 리프레쉬 제어부(234)에 설정된 리프레쉬 조건에 따라서, 버퍼 메모리(240)는 제3 리프레쉬 인터벌(tREFIb) 마다 8개의 메모리 셀 로우들로 구성된 제1군의 메모리 셀 로우들이 버스트 리프레쉬된다(S450).
측정된 온도(Tc)가 45℃ 보다 낮고 25℃ 이상이면(S440), 리프레쉬 제어부(234)는 제1 리프레쉬 인터벌(tREFI) 보다 긴 제3 리프레쉬 인터벌(tREFIb)로 버퍼 메모리(240)가 리프레쉬되도록 설정하고, 제3 리프레쉬 인터벌(tREFIb) 마다 제2군의 메모리 셀 로우들이 버스트 리프레쉬되도록 설정한다(S442). 버스트 리프레쉬되는 제2군의 메모리 셀 로우들은 예컨대, 4개의 메모리 셀 로우들로 구성될 수 있다. 리프레쉬 제어부(234)에 설정된 리프레쉬 조건에 따라서, 버퍼 메모리(240)는 제1 리프레쉬 인터벌(tREFI)의 8배에 상응하는 제3 리프레쉬 인터벌(tREFIb) 마다 4개의 메모리 셀 로우들로 구성된 제2군의 메모리 셀 로우들이 버스트 리프레쉬된다(S450).
측정된 온도(Tc)가 25℃ 보다 낮으면(S440), 리프레쉬 제어부(234)는 제1 리프레쉬 인터벌(tREFI) 보다 긴 제3 리프레쉬 인터벌(tREFIb)로 버퍼 메모리(240)가 리프레쉬되도록 설정하고, 제3 리프레쉬 인터벌(tREFIb) 마다 제3군의 메모리 셀 로우들이 버스트 리프레쉬되도록 설정한다(S442). 버스트 리프레쉬되는 제3군의 메모리 셀 로우들은 예컨대, 2개의 메모리 셀 로우들로 구성될 수 있다. 리프레쉬 제어부(234)에 설정된 리프레쉬 조건에 따라서, 버퍼 메모리(240)는 제1 리프레쉬 인터벌(tREFI)의 8배에 상응하는 제3 리프레쉬 인터벌(tREFIb) 마다 2개의 메모리 셀 로우들로 구성된 제3군의 메모리 셀 로우들이 버스트 리프레쉬된다(S450).
도 4의 리프레쉬 방법에 따라, 버퍼 메모리(240)은, 도 5에 도시된 바와 같이, 저장 장치(200)의 온도(Tc)가 85℃ 이상이면, 제1 리프레쉬 인터벌(tREFI)의 2배에 상응하는 제2 리프레쉬 인터벌(tREFIa) 마다 8개의 메모리 셀 로우들로 구성된 제1군의 메모리 셀 로우들이 버스트 리프레쉬된다. 저장 장치(200)의 온도(Tc)가 85℃ 보다 낮고 45℃ 이상이면, 제1 리프레쉬 인터벌(tREFI)의 8배에 상응하는 제3 리프레쉬 인터벌(tREFIb) 마다 8개의 메모리 셀 로우들로 구성된 제1군의 메모리 셀 로우들이 버스트 리프레쉬된다.
저장 장치(200)의 온도(Tc)가 45℃ 보다 낮고 25℃ 이상이면, 제1 리프레쉬 인터벌(tREFI)의 8배에 상응하는 제3 리프레쉬 인터벌(tREFIb) 마다 4개의 메모리 셀 로우들로 구성된 제2군의 메모리 셀 로우들이 버스트 리프레쉬된다. 저장 장치(200)의 온도(Tc)가 25℃ 보다 낮으면, 제1 리프레쉬 인터벌(tREFI)의 8배에 상응하는 제3 리프레쉬 인터벌(tREFIb) 마다 2개의 메모리 셀 로우들로 구성된 제3군의 메모리 셀 로우들이 버스트 리프레쉬된다.
도 5의 온도에 따른 리프레쉬 타이밍에 기초하여, 도 6에 도시된 바와 같이, 정해진 표준에 따르는 리프레쉬 주기(tREF) 내에서 버퍼 메모리(240)의 리프레쉬 동작이 수행될 수 있다. 도 6에서, 온도(Tc)가 낮을수록 리프레쉬 인터벌이 증가하므로 리프레쉬 주기(tREF) 내에서 리프레쉬 횟수가 감소한다. 온도(Tc)에 따라 변경된 리프레쉬 인터벌마다 버스트 리프레쉬 수를 변경하므로 리프레쉬에 따른 프리차아지 및 액티브 동작의 횟수를 줄일 수 있다. 따라서, 버퍼 메모리(240)의 리프레쉬 동작이 온도에 따라 변경되는 리프레쉬 인터벌 마다 버스트 리프레쉬 수가 변경되도록 수행됨으로써, 저장 장치(200, 도 2)의 성능에 부담을 줄일 수 있다.
도 7 내지 도 9는 본 발명의 실시예들에 따른 온도에 따라 저장 장치의 데이터 관리 방법을 설명하는 제2 예의 도면들이다. 도 7은 저장 장치 내 버퍼 메모리의 리프레쉬 방법을 설명하는 플로우챠트이고, 도 8 및 도 9는 도 7의 리프레쉬 방법에 따른 타이밍도들이다.
도 2의 저장 장치(200)와 연계하여 도 7을 참조하면, 콘트롤러(230)의 온도 센서(232)는 저장 장치(200)의 온도(Tc)를 측정한다(S710).
측정된 온도(Tc)가 85℃ 이상이면(S720), 리프레쉬 제어부(234)는 제1 리프레쉬 인터벌(tREFI)의 2배에 상응하는 제2 리프레쉬 인터벌(tREFIa)로 버퍼 메모리(240)가 리프레쉬되도록 설정하고, 제2 리프레쉬 인터벌(tREFIa) 마다 8개의 메모리 셀 로우들로 구성된 제1군의 메모리 셀 로우들이 버스트 리프레쉬되도록 설정한다(S722). 리프레쉬 제어부(234)에 설정된 리프레쉬 조건에 따라서, 버퍼 메모리(240)는 제1 리프레쉬 인터벌(tREFI)의 2배에 상응하는 제2 리프레쉬 인터벌(tREFIa) 마다 8개의 메모리 셀 로우들로 구성된 제1군의 메모리 셀 로우들이 버스트 리프레쉬된다(S760).
측정된 온도(Tc)가 85℃ 보다 낮고 65℃ 이상이면(S730), 리프레쉬 제어부(234)는 제1 리프레쉬 인터벌(tREFI)의 8배에 상응하는 제3 리프레쉬 인터벌(tREFIb)로 버퍼 메모리(240)가 리프레쉬되도록 설정하고, 제3 리프레쉬 인터벌(tREFIb) 마다 8개의 메모리 셀 로우들로 구성된 제1군의 메모리 셀 로우들이 버스트 리프레쉬되도록 설정한다(S732). 리프레쉬 제어부(234)에 설정된 리프레쉬 조건에 따라서, 버퍼 메모리(240)는 제1 리프레쉬 인터벌(tREFI)의 8배에 상응하는 제3 리프레쉬 인터벌(tREFIb) 마다 8개의 메모리 셀 로우들로 구성된 제1군의 메모리 셀 로우들이 버스트 리프레쉬된다(S760).
측정된 온도(Tc)가 65℃ 보다 낮고 45℃ 이상이면(S740), 리프레쉬 제어부(234)는 제1 리프레쉬 인터벌(tREFI)의 8배에 상응하는 제3 리프레쉬 인터벌(tREFIb)로 버퍼 메모리(240)가 리프레쉬되도록 설정하고, 제3 리프레쉬 인터벌(tREFIb) 마다 4개의 메모리 셀 로우들로 구성된 제2군의 메모리 셀 로우들이 버스트 리프레쉬되도록 설정한다(S742). 리프레쉬 제어부(234)에 설정된 리프레쉬 조건에 따라서, 버퍼 메모리(240)는 제1 리프레쉬 인터벌(tREFI)의 8배에 상응하는 제3 리프레쉬 인터벌(tREFIb) 마다 4개의 메모리 셀 로우들로 구성된 제2군의 메모리 셀 로우들이 버스트 리프레쉬된다(S760).
측정된 온도(Tc)가 45℃ 보다 낮고 25℃ 이상이면(S750), 리프레쉬 제어부(234)는 제1 리프레쉬 인터벌(tREFI)의 8배에 상응하는 제3 리프레쉬 인터벌(tREFIb)로 버퍼 메모리(240)가 리프레쉬되도록 설정하고, 제3 리프레쉬 인터벌(tREFIb) 마다 2개의 메모리 셀 로우들로 구성된 제3군의 메모리 셀 로우들이 버스트 리프레쉬되도록 설정한다(S752). 리프레쉬 제어부(234)에 설정된 리프레쉬 조건에 따라서, 버퍼 메모리(240)는 제1 리프레쉬 인터벌(tREFI)의 8배에 상응하는 제3 리프레쉬 인터벌(tREFIb) 마다 2개의 메모리 셀 로우들로 구성된 제3군의 메모리 셀 로우들이 버스트 리프레쉬된다(S760).
측정된 온도(Tc)가 25℃ 보다 낮으면(S750), 리프레쉬 제어부(234)는 제1 리프레쉬 인터벌(tREFI)의 8배에 상응하는 제3 리프레쉬 인터벌(tREFIb)로 버퍼 메모리(240)가 리프레쉬되도록 설정하고, 제3 리프레쉬 인터벌(tREFIb) 마다 1개의 메모리 셀 로우가 버스트 리프레쉬되도록 설정한다(S754). 리프레쉬 제어부(234)에 설정된 리프레쉬 조건에 따라서, 버퍼 메모리(240)는 제1 리프레쉬 인터벌(tREFI)의 8배에 상응하는 제3 리프레쉬 인터벌(tREFIb) 마다 1개의 메모리 셀 로우가 버스트 리프레쉬된다(S760).
도 7의 버퍼 메모리(240)의 리프레쉬 방법에 따라, 버퍼 메모리(240)는, 도 8에 도시된 바와 같이, 저장 장치(200)의 온도(Tc)가 85℃ 이상이면, 제1 리프레쉬 인터벌(tREFI)의 2배에 상응하는 제2 리프레쉬 인터벌(tREFIa) 마다 8개의 메모리 셀 로우들로 구성된 제1군의 메모리 셀 로우들이 버스트 리프레쉬된다. 저장 장치(200)의 온도(Tc)가 85℃ 보다 낮고 65℃ 이상이면, 제1 리프레쉬 인터벌(tREFI)의 8배에 상응하는 제3 리프레쉬 인터벌(tREFIb) 마다 8개의 메모리 셀 로우들로 구성된 제1군의 메모리 셀 로우들이 버스트 리프레쉬된다.
저장 장치(200)의 온도(Tc)가 65℃ 보다 낮고 45℃ 이상이면, 제1 리프레쉬 인터벌(tREFI)의 8배에 상응하는 제3 리프레쉬 인터벌(tREFIb) 마다 4개의 메모리 셀 로우들로 구성된 제2군의 메모리 셀 로우들이 버스트 리프레쉬된다. 저장 장치(200)의 온도(Tc)가 45℃ 보다 낮고 25℃ 이상이면, 제1 리프레쉬 인터벌(tREFI)의 8배에 상응하는 제3 리프레쉬 인터벌(tREFIb) 마다 2개의 메모리 셀 로우들로 구성된 제3군의 메모리 셀 로우들이 버스트 리프레쉬된다. 저장 장치(200)의 온도(Tc)가 25℃ 보다 낮으면, 제1 리프레쉬 인터벌(tREFI)의 8배에 상응하는 제3 리프레쉬 인터벌(tREFIb) 마다 1개의 메모리 셀 로우가 리프레쉬된다.
도 8의 온도에 따른 리프레쉬 타이밍에 기초하여, 도 9에 도시된 바와 같이, 정해진 표준에 따르는 리프레쉬 주기(tREF) 내에서 버퍼 메모리(240)의 리프레쉬 동작이 수행될 수 있다. 도 9에서, 온도(Tc)가 낮을수록 리프레쉬 인터벌이 증가하므로 리프레쉬 주기(tREF) 내에서 리프레쉬 횟수가 감소한다. 온도(Tc)에 따라 변경된 리프레쉬 인터벌마다 버스트 리프레쉬 수를 변경하여 리프레쉬 동작을 수행하므로 리프레쉬에 따른 프리차아지 동작과 액티브 동작의 횟수를 줄일 수 있다. 따라서, 버퍼 메모리(240)의 리프레쉬 동작이 온도에 따라 변경되는 리프레쉬 인터벌 마다 버스트 리프레쉬 수가 변경되도록 수행됨으로써, 저장 장치(200, 도 2)의 성능에 부담을 줄일 수 있다.
도 10 내지 도 12는 본 발명의 실시예들에 따른 온도에 따라 저장 장치의 데이터 관리 방법을 설명하는 제3 예의 도면들이다. 도 10은 저장 장치 내 버퍼 메모리의 리프레쉬 방법을 설명하는 플로우챠트이고, 도 11 및 도 12는 도 10의 리프레쉬 방법에 따른 타이밍도들이다.
도 2의 저장 장치(200)와 연계하여 도 10을 참조하면, 콘트롤러(230)의 온도 센서(232)는 저장 장치(200)의 온도(Tc)를 측정한다(S1010).
측정된 온도(Tc)가 85℃ 이상이면(S1020), 리프레쉬 제어부(234)는 제1 리프레쉬 인터벌(tREFI)의 2배에 상응하는 제2 리프레쉬 인터벌(tREFIa)로 버퍼 메모리(240)가 리프레쉬되도록 설정하고, 제2 리프레쉬 인터벌(tREFIa) 마다 8개의 메모리 셀 로우들로 구성된 제1군의 메모리 셀 로우들이 버스트 리프레쉬되도록 설정한다(S1022). 리프레쉬 제어부(234)에 설정된 리프레쉬 조건에 따라서, 버퍼 메모리(240)는 제1 리프레쉬 인터벌(tREFI)의 2배에 상응하는 제2 리프레쉬 인터벌(tREFIa) 마다 8개의 메모리 셀 로우들로 구성된 제1군의 메모리 셀 로우들이 버스트 리프레쉬된다(S1060).
측정된 온도(Tc)가 85℃ 보다 낮고 65℃ 이상이면(S1030), 리프레쉬 제어부(234)는 제1 리프레쉬 인터벌(tREFI)의 8배에 상응하는 제3 리프레쉬 인터벌(tREFIb)로 버퍼 메모리(240)가 리프레쉬되도록 설정하고, 제3 리프레쉬 인터벌(tREFIb) 마다 8개의 메모리 셀 로우들로 구성된 제1군의 메모리 셀 로우들이 버스트 리프레쉬되도록 설정한다(S1032). 리프레쉬 제어부(234)에 설정된 리프레쉬 조건에 따라서, 버퍼 메모리(240)는 제1 리프레쉬 인터벌(tREFI)의 8배에 상응하는 제3 리프레쉬 인터벌(tREFIb) 마다 8개의 메모리 셀 로우들로 구성된 제1군의 메모리 셀 로우들이 버스트 리프레쉬된다(S1060).
측정된 온도(Tc)가 65℃ 보다 낮고 45℃ 이상이면(S1040), 리프레쉬 제어부(234)는 제1 리프레쉬 인터벌(tREFI)의 16배에 상응하는 제4 리프레쉬 인터벌(tREFIc)로 버퍼 메모리(240)가 리프레쉬되도록 설정하고, 제4 리프레쉬 인터벌(tREFIc) 마다 8개의 메모리 셀 로우들로 구성된 제1군의 메모리 셀 로우들이 버스트 리프레쉬되도록 설정한다(S1042). 리프레쉬 제어부(234)에 설정된 리프레쉬 조건에 따라서, 버퍼 메모리(240)는 제1 리프레쉬 인터벌(tREFI)의 16배에 상응하는 제4 리프레쉬 인터벌(tREFIc) 마다 8개의 메모리 셀 로우들로 구성된 제1군의 메모리 셀 로우들이 버스트 리프레쉬된다(S1060).
측정된 온도(Tc)가 45℃ 보다 낮고 25℃ 이상이면(S1050), 리프레쉬 제어부(234)는 제1 리프레쉬 인터벌(tREFI)의 16배에 상응하는 제4 리프레쉬 인터벌(tREFIc)로 버퍼 메모리(240)가 리프레쉬되도록 설정하고, 제4 리프레쉬 인터벌(tREFIc) 마다 4개의 메모리 셀 로우들로 구성된 제2군의 메모리 셀 로우들이 버스트 리프레쉬되도록 설정한다(S1052). 리프레쉬 제어부(234)에 설정된 리프레쉬 조건에 따라서, 버퍼 메모리(240)는 제1 리프레쉬 인터벌(tREFI)의 16배에 상응하는 제4 리프레쉬 인터벌(tREFIc) 마다 4개의 메모리 셀 로우들로 구성된 제2군의 메모리 셀 로우들이 버스트 리프레쉬된다(S1060).
측정된 온도(Tc)가 25℃ 보다 낮으면(S1050), 리프레쉬 제어부(234)는 제1 리프레쉬 인터벌(tREFI)의 16배에 상응하는 제4 리프레쉬 인터벌(tREFIc)로 버퍼 메모리(240)가 리프레쉬되도록 설정하고, 제4 리프레쉬 인터벌(tREFIc) 마다 2개의 메모리 셀 로우들로 구성된 제3군의 메모리 셀 로우들이 버스트 리프레쉬되도록 설정한다(S1054). 리프레쉬 제어부(234)에 설정된 리프레쉬 조건에 따라서, 버퍼 메모리(240)는 제1 리프레쉬 인터벌(tREFI)의 16배에 상응하는 제4 리프레쉬 인터벌(tREFIc) 마다 2개의 메모리 셀 로우들로 구성된 제2군의 메모리 셀 로우들이 버스트 리프레쉬된다(S1060).
도 10의 버퍼 메모리(240)의 리프레쉬 방법에 따라, 버퍼 메모리(240)은, 도 11에 도시된 바와 같이, 저장 장치(200)의 온도(Tc)가 85℃ 이상이면, 제1 리프레쉬 인터벌(tREFI)의 2배에 상응하는 제2 리프레쉬 인터벌(tREFIa) 마다 8개의 메모리 셀 로우들로 구성된 제1군의 메모리 셀 로우들이 버스트 리프레쉬된다. 저장 장치(200)의 온도(Tc)가 85℃ 보다 낮고 65℃ 이상이면, 제1 리프레쉬 인터벌(tREFI)의 8배에 상응하는 제3 리프레쉬 인터벌(tREFIb) 마다 8개의 메모리 셀 로우들로 구성된 제1군의 메모리 셀 로우들이 버스트 리프레쉬된다.
저장 장치(200)의 온도(Tc)가 65℃ 보다 낮고 45℃ 이상이면, 제1 리프레쉬 인터벌(tREFI)의 16배에 상응하는 제4 리프레쉬 인터벌(tREFIc) 마다 8개의 메모리 셀 로우들로 구성된 제1군의 메모리 셀 로우들이 버스트 리프레쉬된다. 저장 장치(200)의 온도(Tc)가 45℃ 보다 낮고 25℃ 이상이면, 제1 리프레쉬 인터벌(tREFI)의 16배에 상응하는 제4 리프레쉬 인터벌(tREFIc) 마다 4개의 메모리 셀 로우들로 구성된 제2군의 메모리 셀 로우들이 버스트 리프레쉬된다. 저장 장치(200)의 온도(Tc)가 25℃ 보다 낮으면, 제1 리프레쉬 인터벌(tREFI)의 16배에 상응하는 제4 리프레쉬 인터벌(tREFIc) 마다 2개의 메모리 셀 로우들로 구성된 제3군의 메모리 셀 로우들이 버스트 리프레쉬된다.
도 11의 온도에 따른 리프레쉬 타이밍에 기초하여, 도 12에 도시된 바와 같이, 정해진 표준에 따르는 리프레쉬 주기(tREF) 내에서 버퍼 메모리(240)의 리프레쉬 동작이 수행될 수 있다. 도 12에서, 온도(Tc)가 낮을수록 리프레쉬 인터벌이 증가하므로 리프레쉬 주기(tREF) 내에서 리프레쉬 횟수가 감소한다. 온도(Tc)에 따라 변경된 리프레쉬 인터벌마다 버스트 리프레쉬 수가 변경되도록 수행하므로 리프레쉬에 따른 프리차아지 동작과 액티브 동작의 횟수를 줄일 수 있다. 따라서, 버퍼 메모리(240)의 리프레쉬 동작이 온도에 따라 변경되는 리프레쉬 인터벌 마다 버스트 리프레쉬 수가 변경되도록 수행됨으로써, 저장 장치(200, 도 2)의 성능에 부담을 줄일 수 있다.
도 13은 본 발명의 실시예들에 따른 온도에 따라 데이터를 관리하는 저장 장치의 응용 예인 메모리 카드를 설명하는 도면이다.
도 13을 참조하면, 메모리 카드(1300)는 적어도 하나의 플래쉬 메모리 장치(1310)와 버퍼 메모리 장치(1320), 그리고 플래쉬 메모리 장치(1310)와 버퍼 메모리 장치(1320)를 제어하는 메모리 콘트롤러(1330)를 포함한다. 메모리 카드(1300)는 도 4 내지 도 12에서 설명한 바와 같이, 온도에 따라 리프레쉬 인터벌을 변경시키고, 변경된 리프레쉬 인터벌마다 버스트 리프레쉬 수가 변경되도록 버퍼 메모리 장치(1320)의 리프레쉬 동작을 제어한다.
버퍼 메모리 장치(1320)는 메모리 카드(1300)의 동작 중 생성되는 데이터를 임시로 저장하기 위한 장치이다. 버퍼 메모리 장치(1320)는 DRAM으로 구현될 수 있다. 콘트롤러(1330)는 복수의 채널을 통하여 플래쉬 메모리 장치(1310)에 연결된다. 콘트롤러(1330)는 호스트 및 플래쉬 메모리 장치(1310) 사이에 연결된다. 호스트로부터의 요청에 응답하여, 콘트롤러(1330)는 플래쉬 메모리 장치(1310)를 억세스한다.
콘트롤러(1330)는 적어도 하나의 마이크로 프로세서(1331), 호스트 인터페이스(1332) 및 플래쉬 인터페이스(1333)를 포함한다. 적어도 하나의 마이크로 프로세서(1331)는 펌웨어(firmware)를 동작하도록 구현된다. 호스트 인터페이스(1332)는 호스트와 메모리 카드(1300) 사이에 데이터 교환을 수행하기 위한 카드 프로토콜, 예를 들어, SD/MMC를 통해 호스트와 인터페이싱한다. 메모리 카드(1300)는 멀티미디어 카드(MMC), 보안 디지털(Secutity Digital: SD), miniSD, 메모리 스틱, 스마트 미디어(Smart Media), 트랜스플래쉬(TransFlash) 카드 등에 적용 가능하다.
도 14는 본 발명의 실시예들에 따른 온도에 따라 데이터를 관리하는 저장 장치의 응용 예인 SSD를 갖는 컴퓨팅 시스템을 설명하는 도면이다.
도 14를 참조하면, 컴퓨팅 시스템(1400)는 적어도 하나의 중앙처리장치(1410), 비휘발성 메모리 장치(1420), 램(1430), 입출력 장치(1440), 그리고 적어도 하나의 SSD(1450)를 포함한다.
적어도 하나의 중앙처리장치(1410)는 시스템 버스(1460)에 연결된다. 비휘발성 메모리 장치(1420)는 컴퓨팅 시스템(1400)을 동작하는데 필요한 데이터가 저장된다. 이러한 데이터에는 개시 명령 시퀀스 또는 기본적인 입출력 동작 시스템(BIOS) 시퀀스 등이다. 램(1430)은 중앙처리장치(1410)가 실행될 때 생성되는 데이터가 임시로 저장된다. 입출력 장치(1440)는 키보드, 포인팅 장치(마우스), 모니터, 모뎀 등이 입출력 장치 인터페이스를 통해 시스템 버스(1460)에 연결된다.
SSD(1450)는 버퍼 메모리(1451)를 포함하고, 온도에 따라 리프레쉬 인터벌을 변경시키고, 변경된 리프레쉬 인터벌마다 버스트 리프레쉬 수가 변경되도록 버퍼 메모리(1451)의 리프레쉬 동작을 제어한다.
도 15는 본 발명의 실시예들에 따른 온도에 따라 데이터를 관리하는 저장 장치의 응용 예인 SSD를 이용하는 서버 시스템을 설명하는 도면이다.
도 15를 참조하면, 서버 시스템(1500)은 서버(1510)와 서버(1510)를 동작하는 데 필요한 데이터를 저장하는 적어도 하나의 SSD(1520)를 포함한다. 서버(1510)는 응용 통신 모듈(1511), 데이터 처리 모듈(1512), 업그레이드 모듈(1513), 스케쥴링 센터(1514), 로컬 리소스 모듈(1515) 그리고 리페어 정보 모듈(1516)을 포함한다. 응용 통신 모듈(1511)은 서버(1510)와 네트워크에 연결된 컴퓨팅 시스템과 통신하거나, 서버(1510)와 SSD(1520)가 통신하도록 구현된다. 응용 통신 모듈(1511)은 사용자 인터페이스를 통하여 제공된 데이터 또는 정보를 데이터 처리 모듈(1512)로 전송한다.
데이터 처리 모듈(1512)은 로컬 리소스 모듈(1515)에 링크된다. 로컬 리소스 모듈(1515)은 서버(1500)에 연결된 데이터 또는 정보를 근거로 하여 리페어 숍들(repair shops)/딜러들(dealers)/기술적인 정보의 목록을 제공한다. 업그레이드 모듈(1513)은 데이터 처리 모듈(1512)과 인터페이싱한다. 업그레이드 모듈(1513)은 SSD(1520)로부터 전소오딘 데이터 또는 정보를 근거로 하여 펌웨어, 리셋 코드, 진단 시스템 업그레이드 또는 다른 정보들을 전자기기(appliance)에 업그레이드한다.
스케쥴링 센터(1514)는 서버(1510)에 입력된 데이터 또는 정보를 근거로 하여 사용자에게 실시간의 옵션을 허용한다. 리페어 정보 모듈(1516)은 데이터 처리 모듈(1512)과 인터페이싱한다. 리페어 정보 모듈(1516)은 사용자에게 리페어 관련 정보, 예를 들어, 오디오, 비디오, 또는 문서 파일을 제공하는데 이용된다. 데이터 처리 모듈(1512)은 SSD(1520)로부터 전송된 정보를 근거로하여 관련된 정보를 패키징한다. 이 후, 이러한 정보는 SSD(1520)에 전송되거나 사용자에게 디스플레이된다.
SSD(1520)는 서버(1510)와 사이에 데이터 전송을 빠르게 하기 위하여 버퍼 메모리(1521)를 포함한다. 버퍼 메모리(1521)가 DRAM과 같은 휘발성 메모리로 구현되는 경우, 버퍼 메모리(1521)는 온도에 따라 리프레쉬 인터벌이 변경되고, 변경된 리프레쉬 인터벌마다 버스트 리프레쉬 수가 변경되도록 리프레쉬 동작이 수행된다.
본 발명은 도면에 도시된 실시예를 참고로 설명되었으나 이는 예시적인 것에 불과하며, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 다른 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 특허청구범위의 기술적 사상에 의하여 정해져야 할 것이다.

Claims (10)

  1. 버퍼 메모리를 포함하는 저장 장치의 데이터 관리 방법에 있어서,
    상기 저장 장치의 온도를 측정하는 단계;
    상기 온도에 따라 상기 버퍼 메모리의 리프레쉬 인터벌과 상기 리프레쉬 인터벌 마다의 버스트 리프레쉬 수를 변경하는 단계; 및
    상기 온도에 따라 변경된 상기 리프레쉬 인터벌과 상기 버스트 리프레쉬 수에 기초하여 상기 버퍼 메모리의 데이터를 리프레쉬하는 단계를 포함하는 데이터 관리 방법.
  2. 제1항에 있어서,
    상기 버퍼 메모리는 복수개의 메모리 셀 로우들을 포함하는 DRAM으로 구성되고, 상기 리프레쉬 인터벌마다 상기 버스트 리프레쉬 수에 상응하는 상기 메모리 셀 로우들을 리프레쉬하는 데이터 관리 방법.
  3. 제2항에 있어서,
    제1 온도에서, 제1 리프레쉬 인터벌마다 제1 버스트 리프레쉬 수에 상응하는 상기 메모리 셀 로우들을 리프레쉬하는 단계; 및
    상기 제1 온도보다 낮은 제2 온도에서, 상기 제1 리프레쉬 인터벌보다 긴 제2 리프레쉬 인터벌마다 상기 제1 버스트 리프레쉬 수에 상응하는 상기 메모리 셀 로우들을 리프레쉬하는 단계를 포함하는 데이터 관리 방법.
  4. 제2항에 있어서,
    제1 온도에서, 제1 리프레쉬 인터벌마다 제1 버스트 리프레쉬 수에 상응하는 상기 메모리 셀 로우들을 리프레쉬하는 단계; 및
    상기 제1 온도보다 낮은 제2 온도에서, 상기 제1 리프레쉬 인터벌보다 긴 제2 리프레쉬 인터벌마다 상기 제1 버스트 리프레쉬 수보다 적은 제2 버스트 리프레쉬 수에 상응하는 상기 메모리 셀 로우들을 리프레쉬하는 단계를 포함하는 데이터 관리 방법.
  5. 제1항에 있어서,
    상기 저장 장치는 복수개의 불휘발성 메모리 셀들을 포함하는 데이터 저장부를 더 포함하고,
    상기 저장 장치는 호스트로부터의 요청에 응답하여 상기 버퍼 메모리의 데이터를 상기 데이터 저장부에 저장하는 단계를 더 포함하는 데이터 관리 방법.
  6. 제1항에 있어서,
    상기 저장 장치는 호스트로부터의 요청에 응답하여 상기 버퍼 메모리의 데이터를 상기 호스트로 전송하는 단계를 더 포함하는 데이터 관리 방법.
  7. 데이터 저장부; 및
    상기 데이터 저장부를 제어하는 콘트롤러를 포함하고,
    상기 콘트롤러는
    상기 데이터 저장부로/로부터 전송되는 데이터를 메모리 셀 로우들에 연결된 메모리 셀들에 임시로 저장하는 버퍼 메모리; 및
    온도에 따라 상기 버퍼 메모리의 리프레쉬 인터벌과 상기 리프레쉬 인터벌 마다의 버스트 리프레쉬 수를 변경하는 버퍼 메모리 제어부를 포함하는 저장 장치.
  8. 제7항에 있어서,
    상기 버퍼 메모리 제어부는 상기 온도를 측정하는 온도 센서를 더 포함하는 저장 장치.
  9. 제7항에 있어서,
    상기 버퍼 메모리는 제1 온도에서 제1 리프레쉬 인터벌마다 제1 버스트 리프레쉬 수에 상응하는 상기 메모리 셀 로우들이 리프레쉬되고, 상기 제1 온도보다 낮은 제2 온도에서 상기 제1 리프레쉬 인터벌보다 긴 제2 리프레쉬 인터벌마다 상기 제1 버스트 리프레쉬 수에 상응하는 상기 메모리 셀 로우들이 리프레쉬되는 저장 장치.
  10. 제7항에 있어서,
    상기 버퍼 메모리는 제1 온도에서 제1 리프레쉬 인터벌마다 제1 버스트 리프레쉬 수에 상응하는 상기 메모리 셀 로우들이 리프레쉬되고, 상기 제1 온도보다 낮은 제2 온도에서 상기 제1 리프레쉬 인터벌보다 긴 제2 리프레쉬 인터벌마다 상기 제1 버스트 리프레쉬 수보다 적은 제2 버스트 리프레쉬 수에 상응하는 상기 메모리 셀 로우들이 리프레쉬되는 저장 장치.
KR1020150084328A 2015-06-15 2015-06-15 저장 장치의 온도별 데이터 관리 방법 KR102372888B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020150084328A KR102372888B1 (ko) 2015-06-15 2015-06-15 저장 장치의 온도별 데이터 관리 방법
US15/135,869 US9633711B2 (en) 2015-06-15 2016-04-22 Method of managing data of storage devices responsive to temperature

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020150084328A KR102372888B1 (ko) 2015-06-15 2015-06-15 저장 장치의 온도별 데이터 관리 방법

Publications (2)

Publication Number Publication Date
KR20160147509A true KR20160147509A (ko) 2016-12-23
KR102372888B1 KR102372888B1 (ko) 2022-03-10

Family

ID=57517190

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150084328A KR102372888B1 (ko) 2015-06-15 2015-06-15 저장 장치의 온도별 데이터 관리 방법

Country Status (2)

Country Link
US (1) US9633711B2 (ko)
KR (1) KR102372888B1 (ko)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102014208609A1 (de) * 2014-05-08 2015-11-26 Robert Bosch Gmbh Refresh eines Speicherbereichs einer nichtflüchtigen Speichereinheit
TWI712925B (zh) * 2017-01-24 2020-12-11 瑞昱半導體股份有限公司 電子裝置與其控制方法
US20190026028A1 (en) * 2017-07-24 2019-01-24 Qualcomm Incorporated Minimizing performance degradation due to refresh operations in memory sub-systems
JP2019046321A (ja) * 2017-09-05 2019-03-22 東芝メモリ株式会社 メモリシステム
KR102507302B1 (ko) 2018-01-22 2023-03-07 삼성전자주식회사 스토리지 장치 및 상기 스토리지 장치의 동작 방법
US11030132B2 (en) 2018-02-05 2021-06-08 Micron Technology, Inc. Synchronous memory bus access to storage media
US10410730B1 (en) 2018-03-30 2019-09-10 Qualcomm Incorporated Selectively synchronizing flash memory block refreshes based in part upon memory block temperature
US10504581B1 (en) * 2018-06-26 2019-12-10 Nanya Technology Corporation Memory apparatus and operating method thereof
KR20200019420A (ko) 2018-08-14 2020-02-24 에스케이하이닉스 주식회사 입력데이터를 분산저장하기 위한 메모리 시스템 및 데이터 처리 시스템
US11017834B2 (en) * 2018-11-30 2021-05-25 Micron Technology, Inc. Refresh command management
KR20220091162A (ko) * 2020-12-23 2022-06-30 삼성전자주식회사 온도에 대한 리프레쉬 레이트 승수와 상관없는 메모리 장치의 리프레쉬 방법
CN113672450B (zh) * 2021-07-19 2022-11-22 荣耀终端有限公司 固态硬盘的处理方法和装置
US11664065B2 (en) * 2021-11-03 2023-05-30 Nanya Technology Corporation Dynamic random-access memory and operation method thereof

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20070103060A (ko) * 2005-02-14 2007-10-22 콸콤 인코포레이티드 휘발성 메모리의 레지스터 판독
KR20150001570A (ko) * 2013-06-26 2015-01-06 삼성전자주식회사 리프레쉬 동작을 제어하는 버퍼 칩을 장착하는 메모리 모듈

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5430680A (en) 1993-10-12 1995-07-04 United Memories, Inc. DRAM having self-timed burst refresh mode
KR100324819B1 (ko) 1999-06-29 2002-02-28 박종섭 반도체 메모리 소자의 리프레쉬 장치
JP2003068076A (ja) 2001-08-27 2003-03-07 Elpida Memory Inc 半導体記憶装置の電力制御方法及び半導体記憶装置
KR100611775B1 (ko) * 2003-12-29 2006-08-10 주식회사 하이닉스반도체 온도변화에 따라 최적의 리프레쉬 주기를 가지는 반도체메모리 장치
JP4478974B2 (ja) 2004-01-30 2010-06-09 エルピーダメモリ株式会社 半導体記憶装置及びそのリフレッシュ制御方法
US7583551B2 (en) * 2004-03-10 2009-09-01 Micron Technology, Inc. Power management control and controlling memory refresh operations
KR100608370B1 (ko) 2004-11-15 2006-08-08 주식회사 하이닉스반도체 메모리 장치의 리프레쉬 수행 방법
US7272063B1 (en) * 2006-03-21 2007-09-18 Infineon Technologies Ag Memory with a temperature sensor, dynamic memory and memory with a clock unit and method of sensing a temperature of a memory
KR100810061B1 (ko) * 2006-11-02 2008-03-05 주식회사 하이닉스반도체 반도체 메모리 소자의 온도 정보 출력장치 및 내부온도 측정방법
JP5018074B2 (ja) 2006-12-22 2012-09-05 富士通セミコンダクター株式会社 メモリ装置,メモリコントローラ及びメモリシステム
US20080151670A1 (en) 2006-12-22 2008-06-26 Tomohiro Kawakubo Memory device, memory controller and memory system
KR101504340B1 (ko) * 2008-11-04 2015-03-20 삼성전자주식회사 온도 보상 기능을 가지는 불휘발성 메모리 장치 및 그것을 포함하는 메모리 시스템
CN101889313B (zh) * 2008-12-30 2014-12-03 E·孔法洛涅里 具有扩展工作温度范围的非易失性存储器
JP5553309B2 (ja) 2010-08-11 2014-07-16 国立大学法人 東京大学 データ処理装置
US9159396B2 (en) 2011-06-30 2015-10-13 Lattice Semiconductor Corporation Mechanism for facilitating fine-grained self-refresh control for dynamic memory devices
TWI430094B (zh) * 2011-09-22 2014-03-11 Phison Electronics Corp 記憶體儲存裝置、記憶體控制器與溫度管理方法
KR20140006219A (ko) 2012-06-27 2014-01-16 에스케이하이닉스 주식회사 반도체 장치 및 이의 테스트 회로
KR20140130309A (ko) * 2013-04-30 2014-11-10 삼성전자주식회사 불휘발성 메모리 장치 및 메모리 컨트롤러를 포함하는 불휘발성 메모리 시스템 및 메모리 컨트롤러의 동작 방법
KR102140783B1 (ko) * 2013-06-17 2020-08-04 삼성전자주식회사 반도체 메모리 장치 및 반도체 패키지
US20150003172A1 (en) 2013-06-26 2015-01-01 Sua KIM Memory module including buffer chip controlling refresh operation of memory devices

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20070103060A (ko) * 2005-02-14 2007-10-22 콸콤 인코포레이티드 휘발성 메모리의 레지스터 판독
KR20150001570A (ko) * 2013-06-26 2015-01-06 삼성전자주식회사 리프레쉬 동작을 제어하는 버퍼 칩을 장착하는 메모리 모듈

Also Published As

Publication number Publication date
KR102372888B1 (ko) 2022-03-10
US20160365138A1 (en) 2016-12-15
US9633711B2 (en) 2017-04-25

Similar Documents

Publication Publication Date Title
KR102372888B1 (ko) 저장 장치의 온도별 데이터 관리 방법
US10891236B2 (en) Data storage device and operating method thereof
US10509602B2 (en) Data storage device and operating method thereof
KR20200022118A (ko) 데이터 저장 장치 및 그 동작 방법
US10067873B2 (en) Data storage device and operating method thereof
KR20200085967A (ko) 데이터 저장 장치 및 그 동작 방법
US10747462B2 (en) Data processing system and operating method thereof
US11210011B2 (en) Memory system data management
KR102592796B1 (ko) 데이터 저장 장치 및 그것의 동작 방법
KR20200086472A (ko) 컨트롤러, 데이터 저장 장치 및 그것의 동작 방법
KR20200020464A (ko) 데이터 저장 장치 및 그 동작 방법
KR20190083148A (ko) 데이터 저장 장치 및 그것의 동작 방법 및 그것을 포함하는 데이터 처리 시스템
KR20200121645A (ko) 컨트롤러 및 그것의 동작 방법과 메모리 시스템
KR20200114212A (ko) 데이터 저장 장치 및 그것의 동작 방법
KR20210144249A (ko) 저장 장치 및 이의 동작 방법
KR20210147696A (ko) 데이터 저장 장치 및 그것의 동작 방법
KR20170094674A (ko) 데이터 저장 장치
KR102596964B1 (ko) 맵 캐시 버퍼 크기를 가변시킬 수 있는 데이터 저장 장치
US11269559B2 (en) Data processing device
KR20220103340A (ko) 데이터 저장 장치 및 그것의 동작 방법
US11461238B2 (en) Storage device, memory controller, and method for fetching write commands from submission queues to perform full page writes
US20180024751A1 (en) Metadata management on a storage device
KR20210068734A (ko) 데이터 저장 장치 및 그것의 동작 방법
KR102434840B1 (ko) 데이터 저장 장치
US20150120991A1 (en) Data processing system and operating method thereof

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right