KR102608731B1 - 뱅크 인터리빙 제어 장치 및 이를 포함하는 반도체 장치 - Google Patents

뱅크 인터리빙 제어 장치 및 이를 포함하는 반도체 장치 Download PDF

Info

Publication number
KR102608731B1
KR102608731B1 KR1020160058867A KR20160058867A KR102608731B1 KR 102608731 B1 KR102608731 B1 KR 102608731B1 KR 1020160058867 A KR1020160058867 A KR 1020160058867A KR 20160058867 A KR20160058867 A KR 20160058867A KR 102608731 B1 KR102608731 B1 KR 102608731B1
Authority
KR
South Korea
Prior art keywords
power
bank
data
abandoned
payment
Prior art date
Application number
KR1020160058867A
Other languages
English (en)
Other versions
KR20170127942A (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 KR1020160058867A priority Critical patent/KR102608731B1/ko
Priority to US15/334,421 priority patent/US10185510B2/en
Publication of KR20170127942A publication Critical patent/KR20170127942A/ko
Application granted granted Critical
Publication of KR102608731B1 publication Critical patent/KR102608731B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0625Power saving in storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3206Monitoring of events, devices or parameters that trigger a change in power modality
    • G06F1/3215Monitoring of peripheral devices
    • G06F1/3225Monitoring of peripheral devices of memory devices
    • 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/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • G06F12/0607Interleaved addressing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/325Power saving in peripheral device
    • G06F1/3275Power saving in memory, e.g. RAM, cache
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0653Monitoring storage devices or systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0658Controller construction arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C8/00Arrangements for selecting an address in a digital store
    • G11C8/12Group selection circuits, e.g. for memory block selection, chip selection, array selection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1028Power efficiency
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Static Random-Access Memory (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

소모 전력에 따라 사용가능한 뱅크 수를 제어 가능한 뱅크 인터리빙 장치가 제공된다.
본 발명에 따른 뱅크 인터리빙 장치는, 라이트 동작이 수행되고 있는 하나 이상의 뱅크에서의 소모 전력과, 입력 데이터를 라이트 하는 경우 추가로 소모되는 전력을 합산하여 총 전력을 산출하는 전력 산출부와, 상기 총 전력이 기준 전력 이하이면, 입력 어드레스에 대해 입력 데이터를 라이트하는 라이트 구동부를 포함한다.

Description

뱅크 인터리빙 제어 장치 및 이를 포함하는 반도체 장치{BANK INTERLEAVING CONTROLLER AND SEMICONDUCTOR DEVICE INCLUDING THEREOF}
본 발명은 뱅크 인터리빙 제어 장치 및 이를 포함하는 반도체 장치에 관한 것으로, 특히 전력 소모량에 따라 사용가능한 뱅크 수를 제어 가능하도록 한 뱅크 인터리빙 장치 및 반도체 장치에 관한 것이다.
최근 화상 처리나 빅데이터 처리 등 많은 양의 데이터를 사용하는 분야가 증가하고 있다. 많은 양의 데이터를 처리하기 위해서는 메모리의 용량을 증가시키는 것도 중요하지만, 데이터의 처리 속도를 빠르게 하는 것도 중요하다.
메모리의 데이터 처리 속도를 증가시키기 위해 이용되는 방법으로서 뱅크 인터리빙이 있다. 뱅크 인터리빙이란, 복수의 뱅크를 동시에 이용하도록 데이터를 제어하는 기술이다. 이에 따라, 단일 뱅크를 이용하는 경우에 비해 데이터 처리 속도를 향상시킬 수 있다.
그러나, 뱅크 인터리빙은 복수의 뱅크가 동시에 이용되므로, 소모 전력이 증가하는 문제가 있다.
본 발명은 전력 소모량에 따라 사용가능한 뱅크 수를 제어 가능한 뱅크 인터리빙 제어 장치 및 반도체 장치를 제공하고자 한다.
본 발명의 일 실시예에 따른 뱅크 인터리빙 제어 장치는, 라이트 동작이 수행되고 있는 하나 이상의 뱅크에서의 소모 전력과, 입력 데이터를 라이트 하는 경우 추가로 소모되는 전력을 합산하여 총 전력을 산출하는 전력 산출부와, 상기 총 전력이 기준 전력 이하이면, 입력 어드레스에 대해 입력 데이터를 라이트하는 라이트 구동부를 포함한다.
본 발명의 일 실시예에 따른 반도체 장치는, 복수의 뱅크로 구분되는 메모리 셀과, 상기 복수의 뱅크에 데이터를 저장하기 위한 뱅크 인터리빙 제어 장치를 포함하며, 상기 뱅크 인터리빙 제어 장치는, 상기 복수의 뱅크 중, 라이트 동작이 수행되고 있는 하나 이상의 뱅크에서의 소모 전력과, 입력 데이터를 라이트 하는 경우 추가로 소모되는 전력을 합산하여 총 전력을 산출하는 전력 산출부와, 상기 총 전력이 기준 전력 이하이면, 입력 어드레스에 해당하는 메모리 셀에 대해 입력 데이터를 라이트하는 라이트 구동부를 포함한다.
본 발명의 일 실시예에 따른 뱅크 인터리빙 제어 장치 및 반도체 장치에 의하면, 기준 전력의 범위 내에서는 사용가능한 뱅크의 개수가 제한되지 않는다. 이에 따라, 라이트 대역폭(bandwidth)을 확장시킬 수 있다.
도 1은 뱅크 인터리빙시 데이터의 흐름을 나타내는 타이밍 차트.
도 2는 본 발명의 일 실시예에 따른 뱅크 인터리빙 제어 장치의 구성도.
도 3은 본 발명의 일 실시예에 따른 데이터의 흐름을 나타내는 순서도
도 4는 본 발명의 다른 실시예에 따른 반도체 시스템의 구성도.
이하, 본 발명의 바람직한 실시예에 대하여 도면을 참조하여 설명한다.
뱅크 인터리빙시 소모되는 전력을 저감하기 위해, 사용되는 뱅크의 개수를 일률적으로 제한하는 방법을 생각할 수 있다.
도 1은 뱅크 인터리빙시 데이터 흐름을 나타내는 도면이다. 도 1에서는 사용가능한 뱅크가 4개로 제한된 경우에, 데이터를 라이트할 때를 예시로 나타낸다.
도 1을 참조하면, 메모리의 CMD/ADD 핀을 통해 뱅크 0에 대한 액티브 커맨드 ACT0, 라이트 커맨드 WT0, 어드레스 ADD0와, 뱅크 1에 대한 액티브 커맨드 ACT1, 라이트 커맨드 WT1, 어드레스 ADD1와, 뱅크 2에 대한 액티브 커맨드 ACT2, 라이트 커맨드 WT2, 어드레스 ADD2와, 뱅크 3에 대한 액티브 커맨드 ACT3, 라이트 커맨드 WT3, 어드레스 ADD3가 순차적으로 입력된다.
메모리의 DTA 핀을 통해서는, CMD/ADD 핀을 통해 커맨드 및 어드레스의 전송이 개시된 때로부터 CWL(Cas Write Latency)이 경과한 시점 t1에서, 뱅크 0에 대한 데이터 DTA0, 뱅크 1에 대한 데이터 DTA1, 뱅크 2에 대한 데이터 DTA2, 뱅크 3에 대한 데이터 DTA3가 순차적으로 입력된다.
메모리는 각 뱅크의 어드레스(ADD0~ADD3)에 데이터(DTA0~DTA3)를 라이트한다. 구체적으로, 뱅크 0의 어드레스 ADD0에 데이터 DTA0를 라이트하고, 뱅크 1의 어드레스 ADD1에 데이터 DTA1를 라이트하고, 뱅크 2의 어드레스 ADD2에 데이터 DTA2를 라이트하고, 뱅크 3의 어드레스 ADD3에 데이터 DTA3를 라이트한다.
이때, 각 뱅크 0~뱅크 3의 해당 어드레스(ADD0~ADD3)에 데이터(DTA0~DTA3)를 라이트하는데에는 tPGM 만큼이 소요된다. 즉, t2에서 뱅크 0의 어드레스 ADD0에 DTA0의 라이트가 시작되어 tPGM이 경과한 t6에 라이트가 종료되고, t3에서 뱅크 1의 어드레스 ADD1에 DTA1의 라이트가 시작되어 tPGM이 경과한 t7에 라이트가 종료되고, t4에서 뱅크 2의 어드레스 ADD2에 DTA2의 라이트가 시작되어 tPGM이 경과한 t8에 라이트가 종료되고, t5에서 뱅크 3의 어드레스 ADD3에 DTA3의 라이트가 시작되어 tPGM이 경과한 t9에 라이트가 종료된다.
따라서, t5~t6 구간에서는 뱅크 0~뱅크 3 전부에 대해 라이트가 진행되기 때문에 소모 전력이 많아진다. 이에 따라, 뱅크 인터리빙시 사용가능한 뱅크의 개수를 제한하여 사용되는 전력의 크기를 제한한 것이다.
그러나, 사용하고 있는 뱅크의 개수가 많더라도, 구체적인 사정에 따라 실제 소모되는 전류의 크기는 크지 않을 수 있다. 예를 들어, 상기 도 1의 실시예에서, 뱅크 0의 어드레스 ADD0에 "11111111"의 데이터가 저장되어 있다고 하자. 이때, 뱅크 0의 어드레스 ADD0에 "11111111"의 데이터를 라이트하도록 커맨드, 어드레스, 데이터의 값이 입력되면, 데이터를 라이트할 필요가 없다. 따라서, 뱅크 0에서는 데이터를 비교하는데에만 전력이 약간 소모될 뿐, 라이트하는데에는 전력이 소모되지 않기 때문에, 실제로는 하나의 뱅크를 추가로 사용할 수 있는 여유가 있다. 그럼에도 불구하고, 뱅크 인터리빙시 사용가능한 뱅크의 개수를 일률적으로 제한해 버리면, 실제로는 사용가능한 전력에 못미침에도 뱅크의 개수가 제한되어 메모리의 처리 속도 향상에 걸림돌이 될 수 있다.
따라서, 본 발명에서는 메모리에 이미 저장되어 있는 데이터의 값과 입력되는 데이터의 값을 비교하여 실제 라이트하기 위해 필요한 전력이 기준치 이하이면, 추가의 뱅크를 이용한다.
도 2는 본 발명의 일 실시예에 따른 뱅크 인터리빙 제어 장치(10)의 구성도이다.
도 2를 참조하면, 뱅크 인터리빙 제어 장치(10)는, 데이터 리드부(100), 전력 산출부(200), 전력 초과 판단부(300), 라이트 실행부(400), 딜레이 계산부(500)를 포함한다.
데이터 리드부(100)는 라이트 커맨드 WT와 함께 입력된 어드레스 ADD에 해당하는 메모리 셀(600)에 액세스하여, 이미 저장되어 있는 데이터 DTA_OLD를 리드한다. 즉, 데이터 리드부(100)는 입력 어드레스 ADD(뱅크 어드레스를 포함한다)를 메모리셀(600)에 전송하고, 메모리셀(600)로부터 상기 입력 어드레스 ADD에 저장되어 있는 데이터 DTA_OLD를 입력 받는다.
전력 산출부(200)는 입력 어드레스 ADD에 입력 데이터 DTA를 저장하기 위해 필요한 전력을 계산한다. 본 실시예에서는, 이전에 저장된 데이터 DTA_OLD와 입력 데이터 DTA의 각 비트를 비교하여, 변경되는 비트에 대해서만 라이트를 수행하는 방식으로 입력 데이터 DTA를 라이트한다.
예를 들어, 이전에 저장된 데이터 DTA_OLD가 "10101010"이고, 입력 데이터 DTA가 "10100111"이면, 1번째 비트를 "0"에서 "1"로 변경하고, 3번째 비트를 "0"에서 "1"로 변경하고, 4번째 비트를 "1"에서 "0"으로 변경하는 식이다. 나머지 2번째 비트, 5번째 비트, 6번째 비트, 7번째 비트, 8번째 비트는 데이터가 변경되지 않으므로 그대로 둔다.
이때, 메모리셀(600)의 각 셀의 데이터를 "0"에서 "1로 변경하는 경우와, "1"에서 "0"으로 변경하는 경우에 사용되는 전력이 상이할 수 있다. 따라서, 전력 산출부(200)는 "0"에서 "1"로 변경하는 경우와 "1"에서 "0"으로 변경하는 경우에 대해 상이한 가중치를 두어 전력을 계산할 수 있다.
PCRAM(Phase Change Random Access Memory)은 특정 물질이 온도 변화에 따라 결정질 상태에서 비정질 상태로 변화하는 특성을 이용하여, 이에 따른 저항의 차이를 이용하여 데이터를 기록하는 장치이다. 결정질 상태에서는 물질의 배열이 규칙적이기 때문에, 비정질 상태에 비해 저항이 낮아진다. PCRAM에서, 비정질 상태를 결정질 상태로 변경하기 위해서는, 결정질 상태를 비정질 상태로 변경하는 경우에 비해 약 4배의 전력이 소모된다. 따라서, 메모리셀(600)로서 PCRAM을 이용하는 경우에는, "1"에서 "0"으로 변경하는 경우는 "0"에서 "1"로 변경하는 경우의 4배의 전력을 소모하는 것으로 설정할 수 있다. 또는 "0"에서 "1"로 변경하는 경우를 "1"에서 "0"으로 변경하는 경우의 4배의 전력을 소모하는 것으로 설정할 수 있다. 이는 PCRAM을 구성하는 물질의 어떤 상태를 "0"으로 설정하느냐에 따라 달라질 수 있다.
전력 산출부(200)는 전술한 바와 같이 계산된 입력 데이터의 소모 전력을, 라이트 동작이 수행되고 있는 뱅크에서의 소모 전력과 더하여 총 전력 PWR_SUM을 산출한다. 입력 데이터가 입력되기 이전에 산출한 총 전력이 존재하면, 상기 산출되어 있던 총 전력에, 입력 데이터의 소모 전력을 합산함으로써 총 전력 PWR_SUM을 산출할 수 있다. 총 전력의 초기값으로 0을 설정할 수 있다.
전력 초과 판단부(300)는 전력 산출부(200)에서 산출된 총 전력 PWR_SUM이 기준 전력 PWR_REF보다 큰지를 판단한다. 이때, 기준 전력 PWR_REF은 사용가능한 최대 전력치로 설정될 수 있다.
예를 들어, 1페이지가 128비트로 이루어지고, DIMM(Dual Inline Memory Module) 당 9개의 패키지가 포함되는 메모리 모듈에 있어서, 모든 비트에 1을 라이트하는 경우로서, 데이터를 라이트하는데 설정된 시간 tPGM 동안 4번의 액티브 커맨드 ACT가 입력되도록 설정되어 있었다면, 최대 전력치는 다음과 같이 계산된다.
4(weight)*128(page size)*9(DIMM당 package수)*4(tPGM내 Active수)=18432
상기 식은 예시에 불과하며, 메모리의 용량 등에 따라 다양하게 설정될 수 있다.
전력 초과 판단부(300)는 총 전력 PWR_SUM이 기준 전력 PWR_REF보다 작으면, 라이트 인에이블 신호 WT_EN를 활성화한다. 그리고, 입력 데이터의 라이트 동작이 수행되고 있음을 나타내는 카운터를 활성화하기 위해 카운터 인에이블 신호 CNT_EN을 활성화한다.
라이트 실행부(400)는 전력 초과 판단부(300)에 의해 라이트 인에이블 신호 WT_EN가 활성화되면, 입력 데이터 DTA를 입력 어드레스 ADD에 라이트한다. 이때, 입력 데이터 DTA는 이전 데이터 DTA_OLD에 비해 변경된 비트만 라이트 동작이 수행된다.
딜레이 계산부(500)는 각 뱅크에서 라이트 동작이 진행되고 있는지를 체크한다. 예를 들면, 딜레이 계산부(500)는 각 뱅크마다 데이터를 라이트하는데 소요되는 시간 tPGM 동안 동작하는 카운터를 구비한다. 그리고, 전력 초과 판단부(300)로부터 카운터 인에이블 신호 CNT_EN를 입력받아, 해당 뱅크에 대한 카운터의 동작을 개시한다. 각 카운터는 개시된 때로부터 tPGM(도 1을 참조)이 경과하면, 라이트 엔드 신호 WT_END를 전력 산출부(200)에 전송한다. 데이터의 입력 순서대로 라이트 동작의 개시가 순차적으로 이루어지므로, 가장 먼저 데이터가 입력된 뱅크에 대한 라이트 동작이 가장 먼저 종료될 것이다.
딜레이 계산부(500)에서 가장 먼저 데이터가 입력된 뱅크에 대한 라이트 수행 시간 tPGM이 경과한 것을 나타내는 라이트 엔드 신호 WT_END가 입력되면, 전력 산출부(200)는 총 전력 PWR_SUM으로부터 상기 라이트가 완료된 뱅크의 전력값을 뺀다. 즉, 전력 산출부(200)는 어느 뱅크에 대해 데이터의 라이트가 완료되면, 상기 완료된 뱅크에 대한 소모 전력을 제외하고 총 전력 PWR_SUM을 산출(갱신)한다.
그리고, 전력 초과 판단부(300)는 상기 전력 산출부(200)에서 갱신된 총 전력 PWR_SUM이 기준 전력 PWR_REF를 초과하는지를 판단한다. 총 전력 PWR_SUM이 기준 전력 PWR_REF을 초과하지 않은 경우에는 라이트 실행부(400)에서 입력 데이터 DTA를 입력 어드레스 ADD에 라이트한다. 총 전력 PWR_SUM이 기준 전력 PWR_REF 보다 크면, 딜레이 계산부(500)는 라이트가 수행되고 있는 하나 이상의 뱅크 중, 가장 먼저 라이트 동작이 개시된 뱅크의 라이트 동작의 종료 시점을 계산한다. 총 전력 PWR_SUM이 기준 전력 PWR_REF을 초과한 경우에는, 딜레이 계산부(500)에서 현재 라이트 동작이 수행되고 있는 뱅크 중 어느 하나의 뱅크에 대한 라이트 동작이 종료될 때까지 대기한다. 이때에도 가장 먼저 데이터가 입력된 뱅크에 대한 라이트 동작이 가장 먼저 종료될 것이다.
전술한 바와 같은 본 발명의 일 실시예에 의하면, 일률적으로 사용 가능한 뱅크의 개수를 제한하는 대신, 구체적으로 라이트하는데 사용되는 전력을 계산하여, 추가적으로 뱅크에 라이트하기 위해 사용되는 전력이 기준치를 초과하는지를 판단한다. 따라서, 사용가능한 뱅크의 개수를 증가시킬 수 있어, 라이트 대역폭(bandwidth)을 확장시킬 수 있다.
이하, 전술한 뱅크 인터리빙 제어 장치를 사용하였을 때 데이터의 흐름에 대해 설명한다.
도 3은 본 발명의 실시예에 따른 데이터의 흐름을 나타내는 순서도이다.
도 3을 참조하면, 뱅크 인터리빙 제어 장치(10)에 의한 뱅크 인터리빙의 제어는 라이트 커맨드 WT, 어드레스 ADD, 데이터 DTA의 입력으로 개시된다.
데이터 리드부(100)에 의해 입력 어드레스 ADD에 저장되어 있는 이전 데이터 DTA_OLD가 리드된다(S100).
다음으로, 전력 산출부(200)에 의해 총 전력 PWR_SUM이 계산된다(S200). 구체적으로, 입력 데이터 DTA와 이전 데이터 DTA_OLD의 각 비트를 비교하여, 변경된 비트에 대해서만 다시 라이트를 수행할 경우 소모되는 전력을 계산한다. 이때, "0"을 "1"로 라이트 하는 경우와 "1"을 "0"으로 라이트 하는 경우의 전력은 상이할 수 있다. 그리고, 상기 계산된 전력과 이전의 총 전력값 PWR_SUM을 합하여 현재 입력된 데이터 DTA에 대한 총 전력 PWR_SUM을 산출한다.
다음으로, 전력 산출부(200)에서 산출된 총 전력 PWR_SUM이 기준 전력 PWR_REF를 초과하는지가, 결정부(300)에서 판단된다(S300). 결정부(300)는 총 전력 PWR_SUM이 기준 전력 PWR_REF을 초과하지 않으면, 라이트 구동부(400)에 라이트 인에이블 신호 WT_EN을 인에이블 시킨다. 그리고, 결정부(300)는 총 전력 PWR_SUM이 기준 전력 PWR_REF을 초과하면, 딜레이 계산부(500)에 카운터 인에이블 신호 CNT_EN를 인에이블 시킨다.
총 전력 PWR_SUM이 기준 전력 PWR_REF을 초과하지 않아, 라이트 구동부(400)에 라이트 인에이블 신호 WT_EN가 인에이블 되면(S300, N), 라이트 구동부(400)는 입력된 라이트 커맨드 WT, 입력 어드레스 ADD, 입력 데이터 DTA를 메모리 셀(600)에 전송하여 라이트 동작이 수행되도록 한다(S400). 그리고, 다음 데이터의 입력을 대기한다.
총 전력 PWR_SUM이 기준 전력 PWR_REF을 초과하여, 딜레이 계산부(500)에 카운터 인에이블 신호 CNT_EN가 인에이블 되면(S300, Y), 딜레이 계산부(500)는 라이트가 수행되고 있는 하나 이상의 뱅크 중, 가장 먼저 라이트 동작이 개시된 뱅크의 라이트 동작의 종료 시점을 계산한다. 딜레이 계산부(500)는 라이트 동작이 수행되고 있는 뱅크 중 가장 먼저 데이터가 입력된 뱅크에 대한 라이트 동작이 종료할 때까지 대기한다(S500).
이러한 대기 동작은 카운터를 이용하여 구현될 수 있다. 구체적으로, 라이트 동작이 개시될 때 카운터의 동작이 개시되도록 하여, 라이트 시간 tPGM 동안 카운터를 동작시킨다. 이러한 카운터는 각 뱅크에 대해 구비되도록 하여, 각 뱅크에 대한 라이트 동작 수행여부를 체크할 수 있다.
가장 먼저 데이터가 입력된 뱅크에 대한 라이트 동작이 종료하면, 전력 산출부(200)는 총 전력을 다시 계산한다. 즉, 가장 먼저 데이터가 입력된 뱅크에 대한 라이트 동작이 종료되었기 때문에, 이전에 계산된 총 전력으로부터, 가장 먼저 데이터가 입력된 뱅크에서 라이트 동작시 소모 전력를 뺌으로써 총 전력 PWR_SUM을 다시 산출한다(S200). 다음으로, 상기 산출된 총 전력 PWR_SUM이 기준 전력 PWR_REF 보다 작은지를 다시 판단한다(S300).
뱅크 인터리빙 제어 장치(10)는, 이러한 방식으로 총 전력 PWR_SUM이 기준 전력 PWR_REF 보다 작게 될 때까지, 다른 뱅크에서 먼저 입력된 데이터의 라이트 동작이 종료되기를 기다린다. 즉, 총 전력 PWR_SUM이 기준 전력 PWR_REF보다 적게 될 때까지, 스텝 S200, 스텝 S300, 스텝S500을 순환한다.
전술한 바와 같은 본 발명의 일 실시예에 의하면, 일률적으로 사용 가능한 뱅크의 개수를 제한하는 대신, 변경된 비트를 라이트하는데 사용되는 전력을 구체적으로 계산하여, 뱅크에 라이트하기 위해 사용되는 총 전력 PWR_SUM 이 기준 전력 PWR_REF을 초과하는지를 판단한다. 따라서, 기준 전력 PWR_REF의 범위 내라면 사용가능한 뱅크의 개수가 제한되지 않는다. 이에 따라, 라이트 대역폭(bandwidth)을 확장시킬 수 있다.
도 4는 본 발명의 또 다른 실시예에 따른 뱅크 인터리빙 제어 장치(10)를 포함하는 반도체 시스템의 구성도이다.
도 4에 도시된 바와 같이, 반도체 시스템은 호스트(3) 및 반도체 장치(1)를 포함할 수 있고, 반도체 장치(1)는 메모리 컨트롤러(20) 및 메모리(2)를 포함할 수 있다.
호스트(3)는 메모리(2)를 액세스하기 위해 메모리 컨트롤러(20)로 리퀘스트 및 데이터를 전송할 수 있다. 호스트(3)는 메모리(2)에 데이터를 저장시키기 위해 데이터를 메모리 컨트롤러(20)로 전송할 수 있다. 또한, 호스트(3)는 메모리 컨트롤러(20)를 통해 메모리(2)로부터 출력된 데이터를 수신할 수 있다. 메모리 컨트롤러(20)는 리퀘스트에 응답하여 데이터 정보, 어드레스 정보, 메모리 설정 정보, 라이트 리퀘스트, 리드 리퀘스트 등을 메모리(2)에 제공하여 라이트 또는 리드 동작이 수행되도록 메모리(2)를 제어할 수 있다. 메모리 컨트롤러(20)는 호스트(3)와 메모리(2) 사이의 통신을 중계할 수 있다. 메모리 컨트롤러(20)는 호스트(3)로부터 리퀘스트와 데이터를 수신하고, 메모리(2)의 동작을 제어하기 위하여 데이터(DQ), 데이터 스트로브 신호(DQS), 커맨드 신호(CMD), 메모리 어드레스(ADD) 및 클럭(CLK)등을 생성하여 메모리(2)로 제공할 수 있다. 또한, 메모리 컨트롤러(20)는 메모리(2)로부터 출력된 데이터(DQ) 및 데이터 스트로브 신호(DQS)를 호스트(3)로 제공할 수 있다. 데이터(DQ) 및 데이터 스트로브 신호(DQS)는 도 1 및 도 2의 데이터(DTA)에 대응한다.
메모리(2) 내에는 전술한 뱅크 인터리빙 제어 장치(10)가 포함될 수 있다. 이에 따라, 메모리 컨트롤러(20)로부터 라이트 커맨드와 메모리 어드레스 신호(ADD)가 입력되면, 뱅크 인터리빙 제어 장치(10)는 상기 어드레스에 해당하는 뱅크에서의 예상 소모 전력을 계산하여 예상되는 총 전력 PWR_SUM이 기준 전력 PWR_REF 이하인지를 판단한다. 총 전력 PWR_SUM이 기준 전력 PWR_REF 이하이면, 입력 데이터 DTA의 라이트 동작을 수행한다. 총 전력 PWR_SUM이 기준 전력 PWR_REF을 초과하면, 어느 뱅크에 대한 라이트 동작이 종료될 때까지 대기한 후, 총 전력 PWR_SUM을 다시 산출하여 기준 전력 PWR_REF을 초과여부를 판단한다. 뱅크 인터리빙 장치(10)는 이러한 방식으로 입력 데이터 DTA의 라이트 동작이 기준 전력 PWR_REF를 초과하지 않는 범위에서 수행되도록 뱅크 인터리빙을 제어한다.
도 4에서는 뱅크 인터리빙 제어 장치(10)가 메모리(2) 내에 포함되는 것으로 도시하였지만, 뱅크 인터리빙 제어 장치(10)는 메모리 컨트롤러(20)에 위치할 수도 있다.
도 4에서는 호스트(3)와 메모리 컨트롤러(20)를 물리적으로 분리된 구성으로 도시되었으나, 메모리 컨트롤러(20)가 호스트(3)의 중앙처리장치(CPU), 애플리케이션 프로세서(AP), 그래픽처리장치(GPU)와 같은 프로세서에 포함(내장)되거나 SoC(System On Chip)의 형태로 이들 프로세서들과 함께 하나의 칩으로 구현될 수 있다.
메모리(2)는 적어도 하나의 액세스 검출 장치(100)를 포함하며, 메모리 컨트롤러(20)로부터 커맨드(CMD), 메모리 어드레스 신호(ADD), 데이터(DQ), 데이터 스트로브(DQS) 및 클럭 신호(CLK) 등을 수신하고, 신호들에 기초하여 데이터 수신 동작을 수행할 수 있다.
메모리(2)는 복수의 메모리 뱅크를 포함할 수 있고, 메모리 어드레스 신호(ADD)에 기초하여 데이터(DQ)를 메모리의 뱅크 중 특정 영역에 저장할 수 있다. 또한, 메모리(2)는 메모리 컨트롤러(20)로부터 수신된 커맨드(CMD) 및 메모리 어드레스 신호(ADD)와 데이터 스트로브(DQS) 등에 기초하여 데이터 송신 동작을 수행할 수 있다. 메모리는 메모리 어드레스 신호(ADD), 데이터(DQ) 및 데이터 스트로브(DQS)에 기초하여 메모리 뱅크 중의 특정 영역에 저장된 데이터를 메모리 컨트롤러(20)로 송신할 수 있다.
이상에서 설명한 본 발명이 전술한 실시예 및 첨부된 도면에 한정되지 않으며, 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 여러 가지 치환, 변형 및 변경이 가능하다는 것은, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 있어 명백할 것이다.

Claims (20)

  1. 라이트 동작이 수행되고 있는 하나 이상의 뱅크에서의 소모 전력과, 입력 데이터를 라이트 하는 경우 추가로 소모되는 전력을 합산하여 총 전력을 산출하는 전력 산출부와,
    상기 총 전력이 기준 전력 이하이면, 입력 어드레스에 대해 입력 데이터를 라이트하는 라이트 구동부를 포함하고,
    상기 전력 산출부는, 입력 어드레스에 저장되어 있는 이전 데이터와 입력 데이터의 각 비트를 비교하여, 변경되는 비트에 대해서만 라이트를 수행할 때 소모되는 전력을, 상기 추가로 소모되는 전력으로서 계산하는 뱅크 인터리빙 제어 장치.
  2. 삭제
  3. ◈청구항 3은(는) 설정등록료 납부시 포기되었습니다.◈
    제1항에 있어서,
    상기 라이트 구동부는, 입력 데이터의 각 비트 중, 상기 이전 데이터에 비해 변경된 비트에 대해서만 라이트 동작을 수행하는 것을 특징으로 하는 뱅크 인터리빙 제어 장치.
  4. ◈청구항 4은(는) 설정등록료 납부시 포기되었습니다.◈
    제1항에 있어서,
    입력 어드레스에 저장되어 있는 이전 데이터를 리드하는 데이터 리드부
    를 추가로 포함하는 것을 특징으로 하는 뱅크 인터리빙 제어 장치.
  5. ◈청구항 5은(는) 설정등록료 납부시 포기되었습니다.◈
    제1항에 있어서,
    상기 총 전력이 기준 전력 이하인지를 판단하는 전력 초과 판단부
    를 더 포함하는 것을 특징으로 하는 뱅크 인터리빙 제어 장치.
  6. ◈청구항 6은(는) 설정등록료 납부시 포기되었습니다.◈
    제5항에 있어서,
    상기 전력 초과 판단부는, 상기 총 전력이 상기 기준 전력 이하이면, 라이트 인에이블 신호를 활성화하는 것을 특징으로 하는 뱅크 인터리빙 제어 장치.
  7. ◈청구항 7은(는) 설정등록료 납부시 포기되었습니다.◈
    제6항에 있어서,
    상기 라이트 구동부는, 상기 라이트 인에이블 신호에 응답하여 입력 어드레스에 대해 입력 데이터를 라이트하는 것을 특징으로 하는 뱅크 인터리빙 제어 장치.
  8. ◈청구항 8은(는) 설정등록료 납부시 포기되었습니다.◈
    제1항에 있어서,
    상기 총 전력이 상기 기준 전력보다 크면, 라이트가 수행되고 있는 하나 이상의 뱅크 중, 가장 먼저 라이트 동작이 개시된 뱅크의 라이트 동작의 종료 시점을 계산하는 딜레이 계산부
    를 더 포함하는 것을 특징으로 하는 뱅크 인터리빙 제어 장치.
  9. ◈청구항 9은(는) 설정등록료 납부시 포기되었습니다.◈
    제8항에 있어서,
    상기 전력 산출부는, 상기 딜레이 계산부에 의해 계산된 종료 시점까지 대기한 후, 상기 총 전력으로부터 상기 라이트 동작이 종료된 뱅크의 소모 전력을 차감함으로써 상기 총 전력을 갱신하는 것을 특징으로 하는 뱅크 인터리빙 제어 장치.
  10. ◈청구항 10은(는) 설정등록료 납부시 포기되었습니다.◈
    제9항에 있어서,
    상기 라이트 구동부는, 상기 갱신된 총 전력이 상기 기준 전력 이하이면, 입력 어드레스에 대해 입력 데이터를 라이트하는 것을 특징으로 하는 뱅크 인터리빙 제어 장치.
  11. 복수의 뱅크로 구분되는 메모리 셀과,
    상기 복수의 뱅크에 데이터를 저장하기 위한 뱅크 인터리빙 제어 장치를 포함하며,
    상기 뱅크 인터리빙 제어 장치는,
    상기 복수의 뱅크 중, 라이트 동작이 수행되고 있는 하나 이상의 뱅크에서의 소모 전력과, 입력 데이터를 라이트 하는 경우 추가로 소모되는 전력을 합산하여 총 전력을 산출하는 전력 산출부와,
    상기 총 전력이 기준 전력 이하이면, 입력 어드레스에 해당하는 메모리 셀에 대해 입력 데이터를 라이트하는 라이트 구동부를 포함하고,
    상기 전력 산출부는, 입력 어드레스에 저장되어 있는 이전 데이터와 입력 데이터의 각 비트를 비교하여, 변경되는 비트에 대해서만 라이트를 수행할 때 소모되는 전력을, 상기 추가로 소모되는 전력으로서 계산하는 반도체 장치.
  12. 삭제
  13. ◈청구항 13은(는) 설정등록료 납부시 포기되었습니다.◈
    제11항에 있어서,
    상기 라이트 구동부는, 입력 데이터의 각 비트 중, 상기 이전 데이터에 비해 변경된 비트에 대해서만 라이트 동작을 수행하는 것을 특징으로 하는 반도체 장치.
  14. ◈청구항 14은(는) 설정등록료 납부시 포기되었습니다.◈
    제11항에 있어서,
    입력 어드레스에 저장되어 있는 이전 데이터를 리드하는 데이터 리드부
    를 추가로 포함하는 것을 특징으로 하는 반도체 장치.
  15. ◈청구항 15은(는) 설정등록료 납부시 포기되었습니다.◈
    제11항에 있어서,
    상기 총 전력이 기준 전력 이하인지를 판단하는 전력 초과 판단부
    를 더 포함하는 것을 특징으로 하는 반도체 장치.
  16. ◈청구항 16은(는) 설정등록료 납부시 포기되었습니다.◈
    제15항에 있어서,
    상기 전력 초과 판단부는, 상기 총 전력이 상기 기준 전력 이하이면, 라이트 인에이블 신호를 활성화하는 것을 특징으로 하는 반도체 장치.
  17. ◈청구항 17은(는) 설정등록료 납부시 포기되었습니다.◈
    제16항에 있어서,
    상기 라이트 구동부는, 상기 라이트 인에이블 신호에 응답하여 입력 어드레스에 대해 입력 데이터를 라이트하는 것을 특징으로 하는 반도체 장치.
  18. ◈청구항 18은(는) 설정등록료 납부시 포기되었습니다.◈
    제11항에 있어서,
    상기 총 전력이 상기 기준 전력보다 크면, 라이트가 수행되고 있는 하나 이상의 뱅크 중, 가장 먼저 라이트 동작이 개시된 뱅크의 라이트 동작의 종료 시점을 계산하는 딜레이 계산부
    를 더 포함하는 것을 특징으로 하는 반도체 장치.
  19. ◈청구항 19은(는) 설정등록료 납부시 포기되었습니다.◈
    제18항에 있어서,
    상기 전력 산출부는, 상기 딜레이 계산부에 의해 계산된 종료 시점까지 대기한 후, 상기 총 전력으로부터 상기 라이트 동작이 종료된 뱅크의 소모 전력을 차감함으로써 상기 총 전력을 갱신하는 것을 특징으로 하는 반도체 장치.
  20. ◈청구항 20은(는) 설정등록료 납부시 포기되었습니다.◈
    제19항에 있어서,
    상기 라이트 구동부는, 상기 갱신된 총 전력이 상기 기준 전력 이하이면, 입력 어드레스에 대해 입력 데이터를 라이트하는 것을 특징으로 하는 반도체 장치.
KR1020160058867A 2016-05-13 2016-05-13 뱅크 인터리빙 제어 장치 및 이를 포함하는 반도체 장치 KR102608731B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020160058867A KR102608731B1 (ko) 2016-05-13 2016-05-13 뱅크 인터리빙 제어 장치 및 이를 포함하는 반도체 장치
US15/334,421 US10185510B2 (en) 2016-05-13 2016-10-26 Bank interleaving controller and semiconductor device including the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160058867A KR102608731B1 (ko) 2016-05-13 2016-05-13 뱅크 인터리빙 제어 장치 및 이를 포함하는 반도체 장치

Publications (2)

Publication Number Publication Date
KR20170127942A KR20170127942A (ko) 2017-11-22
KR102608731B1 true KR102608731B1 (ko) 2023-12-04

Family

ID=60297034

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160058867A KR102608731B1 (ko) 2016-05-13 2016-05-13 뱅크 인터리빙 제어 장치 및 이를 포함하는 반도체 장치

Country Status (2)

Country Link
US (1) US10185510B2 (ko)
KR (1) KR102608731B1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102553264B1 (ko) * 2018-09-03 2023-07-07 삼성전자 주식회사 메모리 컨트롤러 및 이의 동작 방법

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100819061B1 (ko) 2007-03-06 2008-04-03 한국전자통신연구원 쓰기 전력 계산 및 데이터 반전 기능을 통한 상 변화메모리에서의 데이터 쓰기 장치 및 방법
US20120059983A1 (en) * 2010-09-03 2012-03-08 David Wilkins Nellans Predictor-based management of dram row-buffers
US8788779B1 (en) 2010-09-17 2014-07-22 Western Digital Technologies, Inc. Non-volatile storage subsystem with energy-based performance throttling
KR102115457B1 (ko) * 2013-07-16 2020-05-26 에스케이하이닉스 주식회사 반도체 장치 및 그를 포함하는 반도체 시스템
KR102130171B1 (ko) * 2014-01-13 2020-07-03 에스케이하이닉스 주식회사 반도체장치 및 반도체시스템
KR20150087646A (ko) * 2014-01-22 2015-07-30 삼성전자주식회사 불 휘발성 메모리 장치를 포함하는 메모리 시스템 및 그것의 동작 방법
KR20160007790A (ko) * 2014-06-30 2016-01-21 에스케이하이닉스 주식회사 데이터 저장 장치 및 그것의 동작 방법
JP6529941B2 (ja) * 2016-08-30 2019-06-12 東芝メモリ株式会社 メモリシステム

Also Published As

Publication number Publication date
US20170329547A1 (en) 2017-11-16
US10185510B2 (en) 2019-01-22
KR20170127942A (ko) 2017-11-22

Similar Documents

Publication Publication Date Title
US11790981B2 (en) Method of performing internal processing operation of memory device
KR102679215B1 (ko) 복수의 트레이닝들을 동시에 수행하는 시스템 온 칩, 시스템 온 칩의 동작 방법, 및 시스템 온 칩을 포함하는 전자 장치
CN110175140B (zh) 融合式存储器件及其操作方法
US10860222B2 (en) Memory devices performing refresh operations with row hammer handling and memory systems including such memory devices
JP7240452B2 (ja) 不揮発性メモリの複数区画の同時アクセスのための装置及び方法
US12087386B2 (en) Parallel access to volatile memory by a processing device for machine learning
US10268382B2 (en) Processor memory architecture
JP4742347B2 (ja) ディジーチェーン型メモリトポロジのメモリコマンド遅延バランシング
TW201911308A (zh) 用於預充電及刷新控制之方法及裝置
US8364889B2 (en) Dynamic row-width memory
KR20200108773A (ko) 연산 처리를 수행하는 메모리 장치, 이를 포함하는 데이터 처리 시스템 및 메모리 장치의 동작방법
US11869628B2 (en) Apparatuses and methods to perform low latency access of a memory
US20180032251A1 (en) Resistance switching memory-based coprocessor and computing device including the same
US20040190362A1 (en) Dram and access method
KR102608731B1 (ko) 뱅크 인터리빙 제어 장치 및 이를 포함하는 반도체 장치
KR20170059239A (ko) 이종 메모리들을 포함하는 메모리 장치 및 메모리 시스템
KR20150020477A (ko) 메모리 장치, 이를 포함하는 메모리 시스템 및 그 동작 방법
KR20240076574A (ko) 메모리 컨트롤러, 이를 포함하는 전자 시스템 및 메모리 액세스 제어 방법
TWI856072B (zh) 記憶體裝置、資料處理系統以及操作記憶體裝置的方法
KR20230125706A (ko) 메모리 장치 및 메모리 컨트롤러를 포함하는 메모리 시스템 및 그것의 동작 방법
KR20240076197A (ko) Cxl 디바이스 및 cxl 디바이스의 동작 방법
KR20240082053A (ko) 메모리 시스템 및 메모리 시스템의 동작 방법

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
GRNT Written decision to grant