KR20230059366A - Controller of memory system and operating method thereof - Google Patents

Controller of memory system and operating method thereof Download PDF

Info

Publication number
KR20230059366A
KR20230059366A KR1020210143459A KR20210143459A KR20230059366A KR 20230059366 A KR20230059366 A KR 20230059366A KR 1020210143459 A KR1020210143459 A KR 1020210143459A KR 20210143459 A KR20210143459 A KR 20210143459A KR 20230059366 A KR20230059366 A KR 20230059366A
Authority
KR
South Korea
Prior art keywords
temperature
reordering
memory system
requests
request
Prior art date
Application number
KR1020210143459A
Other languages
Korean (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 KR1020210143459A priority Critical patent/KR20230059366A/en
Priority to US17/898,997 priority patent/US12014054B2/en
Priority to TW111138000A priority patent/TW202318192A/en
Priority to CN202211225939.9A priority patent/CN116027966A/en
Priority to DE102022211161.3A priority patent/DE102022211161A1/en
Publication of KR20230059366A publication Critical patent/KR20230059366A/en

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/061Improving I/O performance
    • 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/0629Configuration or reconfiguration of storage systems
    • G06F3/0634Configuration or reconfiguration of storage systems by changing the state or mode of one or more devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0616Improving the reliability of storage systems in relation to life time, e.g. increasing Mean Time Between Failures [MTBF]
    • 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/0604Improving or facilitating administration, e.g. storage management
    • 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
    • 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/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • 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)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Dram (AREA)
  • Control Of Temperature (AREA)

Abstract

A memory system includes: a memory which includes a request queue configured to enqueue therein operation requests provided from a host device; a temperature increment estimating unit which estimates temperature increments respectively corresponding to the operation requests; and a re-ordering unit which performs a re-ordering operation for re-arranging the operation requests enqueued in the request queue based on the temperature increments. Accordingly, the temperature increment of the memory system is delayed, and improved response performance is provided to the host device.

Description

메모리 시스템의 컨트롤러 및 그것의 동작 방법{CONTROLLER OF MEMORY SYSTEM AND OPERATING METHOD THEREOF}Memory system controller and its operating method {CONTROLLER OF MEMORY SYSTEM AND OPERATING METHOD THEREOF}

본 발명은 메모리 시스템에 관한 것으로, 더욱 상세하게는 비휘발성 메모리 장치를 포함하는 메모리 시스템에 관한 것이다.The present invention relates to a memory system, and more particularly, to a memory system including a non-volatile memory device.

메모리 시스템은 호스트 장치의 라이트 요청에 응답하여, 호스트 장치로부터 제공된 데이터를 저장하도록 구성될 수 있다. 또한, 메모리 시스템은 호스트 장치의 리드 요청에 응답하여, 저장된 데이터를 호스트 장치로 제공하도록 구성될 수 있다. 호스트 장치는 데이터를 처리할 수 있는 전자 장치로서, 컴퓨터, 디지털 카메라 또는 휴대폰 등을 포함할 수 있다. 메모리 시스템은 호스트 장치에 내장되어 동작하거나, 분리 가능한 형태로 제작되어 호스트 장치에 연결됨으로써 동작할 수 있다.The memory system may be configured to store data provided from the host device in response to a write request of the host device. Also, the memory system may be configured to provide stored data to the host device in response to a read request from the host device. The host device is an electronic device capable of processing data and may include a computer, a digital camera, or a mobile phone. The memory system may operate by being embedded in the host device or manufactured in a detachable form and connected to the host device.

전자장치는 많은 전자 구성요소를 포함하고 있고, 그 중 컴퓨터 시스템은 반도체로 구성된 많은 전자 구성요소들을 포함할 수 있다. 컴퓨터 시스템을 구성하는 반도체 장치 중 프로세서 또는 메모리 컨트롤러와 같은 호스트는 메모리 장치와 데이터 통신을 수행할 수 있다. 메모리 장치는 워드라인과 비트라인으로 특정될 수 있는 복수의 메모리 셀들을 포함하여 데이터를 저장할 수 있다.An electronic device includes many electronic components, and among them, a computer system may include many electronic components made of semiconductors. Among semiconductor devices constituting a computer system, a host such as a processor or a memory controller may perform data communication with the memory device. A memory device may include a plurality of memory cells, which may be specified as word lines and bit lines, to store data.

본 발명의 실시 예는 메모리 시스템의 온도 상승을 지연시켜 호스트 장치에 대해 개선된 응답 성능을 제공하는 메모리 시스템의 컨트롤러 및 그것의 동작 방법을 제공하는 데 있다.An embodiment of the present invention is to provide a memory system controller and an operating method thereof that provide improved response performance to a host device by delaying a temperature rise of the memory system.

본 발명의 실시 예에 따른 메모리 시스템의 컨트롤러는 호스트 장치로부터 전송된 동작 요청들이 큐잉된 요청 큐를 포함하는 메모리; 상기 동작 요청들에 각각 대응하는 온도 증가량들을 예측하도록 구성된 온도 증가량 예측부; 및 상기 온도 증가량들에 근거하여 상기 요청 큐에서 상기 동작 요청들을 재배열하기 위한 리오더링 동작을 수행하도록 구성된 리오더링부를 포함할 수 있다.A controller of a memory system according to an embodiment of the present invention includes a memory including a request queue in which operation requests transmitted from a host device are queued; a temperature increase amount prediction unit configured to predict temperature increase amounts respectively corresponding to the operation requests; and a reordering unit configured to perform a reordering operation for rearranging the operation requests in the request queue based on the temperature increments.

본 발명의 실시 예에 따른 메모리 시스템의 컨트롤러의 동작 방법은 호스트 장치로부터 전송된 동작 요청들에 각각 대응하는 온도 증가량들을 예측하는 단계; 및 상기 온도 증가량들에 근거하여 상기 동작 요청들이 큐잉된 요청 큐에서 상기 동작 요청들을 재배열하기 위한 리오더링 동작을 수행하는 단계를 포함할 수 있다.A method of operating a controller of a memory system according to an embodiment of the present disclosure includes estimating temperature increments respectively corresponding to operation requests transmitted from a host device; and performing a reordering operation for rearranging the operation requests in a request queue in which the operation requests are queued based on the temperature increase amounts.

본 발명의 실시 예에 따른 메모리 시스템의 컨트롤러는 호스트 장치로부터 전송된 동작 요청들이 큐잉된 요청 큐를 포함하는 메모리; 상기 동작 요청들에 각각 대응하는 온도 증가량들을 예측하도록 구성된 온도 증가량 예측부; 메모리 시스템의 온도가 리오더링 트리거 온도를 초과할 때, 상기 메모리 시스템의 상기 온도의 증가가 지연되도록 상기 온도 증가량들에 근거하여 상기 요청 큐에서 상기 동작 요청들을 재배열하도록 구성된 리오더링부; 및 상기 메모리 시스템의 상기 온도를 하나 이상의 성능 조절 트리거 온도들과 비교하여 상기 메모리 시스템의 성능 모드를 변경하도록 구성된 성능 조절부를 포함할 수 있다.A controller of a memory system according to an embodiment of the present invention includes a memory including a request queue in which operation requests transmitted from a host device are queued; a temperature increase amount prediction unit configured to predict temperature increase amounts respectively corresponding to the operation requests; a reordering unit configured to rearrange the operation requests in the request queue based on the temperature increase amounts to delay an increase in the temperature of the memory system when a temperature of the memory system exceeds a reordering trigger temperature; and a performance controller configured to change a performance mode of the memory system by comparing the temperature of the memory system with one or more performance control trigger temperatures.

본 발명의 실시 예에 따른 메모리 시스템의 컨트롤러 및 그것의 동작 방법은 메모리 시스템의 온도 상승을 지연시켜 호스트 장치에 대해 개선된 응답 성능을 제공할 수 있다.A controller of a memory system and an operating method thereof according to an embodiment of the present disclosure may provide improved response performance to a host device by delaying an increase in temperature of the memory system.

도1은 본 발명의 실시 예에 따른 메모리 시스템을 도시한 블록도,
도2는 본 발명의 실시 예에 따라 도1의 온도 증가량 예측부의 동작 방법을 설명하기 위한 도면,
도3은 본 발명의 실시 예에 따라 도1의 성능 조절부의 동작 방법을 설명하기 위한 도면,
도4는 본 발명의 실시 예에 따라 도1의 리오더링부의 동작 방법을 설명하기 위한 도면,
도5는 본 발명의 실시 예에 따라 컨트롤러의 동작 방법을 설명하기 위한 순서도,
도 6은 본 발명의 실시 예에 따른 솔리드 스테이트 드라이브(SSD)를 포함하는 데이터 처리 시스템을 예시적으로 도시하는 도면,
도 7은 본 발명의 실시 예에 따른 메모리 시스템을 포함하는 데이터 처리 시스템을 예시적으로 도시하는 도면,
도 8은 본 발명의 실시 예에 따른 메모리 시스템을 포함하는 데이터 처리 시스템을 예시적으로 도시하는 도면,
도 9는 본 발명의 실시 예에 따른 메모리 시스템을 포함하는 네트워크 시스템을 예시적으로 도시하는 도면,
도 10은 본 발명의 실시 예에 따른 메모리 시스템에 포함된 비휘발성 메모리 장치를 예시적으로 도시하는 블럭도이다.
1 is a block diagram illustrating a memory system according to an embodiment of the present invention;
Figure 2 is a diagram for explaining the operating method of the temperature increase predicting unit of Figure 1 according to an embodiment of the present invention;
3 is a diagram for explaining an operating method of the performance controller of FIG. 1 according to an embodiment of the present invention;
4 is a diagram for explaining an operating method of the reordering unit of FIG. 1 according to an embodiment of the present invention;
5 is a flowchart for explaining a method of operating a controller according to an embodiment of the present invention;
6 is a diagram exemplarily illustrating a data processing system including a solid state drive (SSD) according to an embodiment of the present invention;
7 is a diagram exemplarily illustrating a data processing system including a memory system according to an embodiment of the present invention;
8 is a diagram exemplarily illustrating a data processing system including a memory system according to an embodiment of the present invention;
9 is a diagram exemplarily illustrating a network system including a memory system according to an embodiment of the present invention;
10 is a block diagram exemplarily illustrating a nonvolatile memory device included in a memory system according to an embodiment of the present invention.

본 발명의 이점 및 특징, 그리고 그것을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시 예들을 통해 설명될 것이다. 그러나 본 발명은 여기에서 설명되는 실시 예들에 한정되지 않고 다른 형태로 구체화될 수도 있다. 단지, 본 실시 예들은 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 본 발명의 기술적 사상을 용이하게 실시할 수 있을 정도로 상세히 설명하기 위하여 제공되는 것이다.Advantages and features of the present invention, and methods for achieving them, will be explained in detail through the following embodiments in conjunction with the accompanying drawings. However, the present invention is not limited to the embodiments described herein and may be embodied in other forms. However, the present embodiments are provided to explain in detail enough to easily implement the technical idea of the present invention to those skilled in the art to which the present invention belongs.

도면들에 있어서, 본 발명의 실시 예들은 도시된 특정 형태로 제한되는 것이 아니며 명확성을 기하기 위하여 과장된 것이다. 본 명세서에서 특정한 용어들이 사용되었으나. 이는 본 발명을 설명하기 위한 목적에서 사용된 것이며, 의미 한정이나 특허 청구 범위에 기재된 본 발명의 권리 범위를 제한하기 위하여 사용된 것은 아니다.In the drawings, embodiments of the present invention are not limited to the specific forms shown and are exaggerated for clarity. Although certain terms are used in this specification. This is used for the purpose of explaining the present invention, and is not used to limit the scope of the present invention described in the meaning or claims.

본 명세서에서 '및/또는'이란 표현은 전후에 나열된 구성요소들 중 적어도 하나를 포함하는 의미로 사용된다. 또한, '연결되는/결합되는'이란 표현은 다른 구성 요소와 직접적으로 연결되거나 다른 구성 요소를 통해서 간접적으로 연결되는 것을 포함하는 의미로 사용된다. 본 명세서에서 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 또한, 명세서에서 사용되는 '포함한다' 또는 '포함하는'으로 언급된 구성 요소, 단계, 동작 및 소자는 하나 이상의 다른 구성 요소, 단계, 동작 및 소자의 존재 또는 추가를 의미한다.In this specification, the expression 'and/or' is used to mean including at least one of the elements listed before and after. In addition, the expression 'connected/coupled' is used as a meaning including being directly connected to another component or indirectly connected through another component. In this specification, the singular form also includes the plural form unless otherwise specified in the phrase. In addition, elements, steps, operations, and elements referred to as 'comprising' or 'including' used in the specification mean the presence or addition of one or more other elements, steps, operations, and elements.

이하, 도면들을 참조하여 본 발명의 실시 예에 대해 상세히 설명하기로 한다.Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings.

도1은 본 발명의 실시 예에 따른 메모리 시스템(100)을 도시한 블록도이다.1 is a block diagram illustrating a memory system 100 according to an embodiment of the inventive concept.

메모리 시스템(100)은 외부의 호스트 장치의 라이트 요청에 응답하여, 호스트 장치로부터 제공된 데이터를 저장하도록 구성될 수 있다. 또한, 메모리 시스템(100)은 호스트 장치의 리드 요청에 응답하여, 저장된 데이터를 호스트 장치로 제공하도록 구성될 수 있다.The memory system 100 may be configured to store data provided from the host device in response to a write request from an external host device. Also, the memory system 100 may be configured to provide stored data to the host device in response to a read request from the host device.

메모리 시스템(100)은 PCMCIA(Personal Computer Memory Card International Association) 카드, CF(Compact Flash) 카드, 스마트 미디어 카드, 메모리 스틱, 다양한 멀티 미디어 카드(MMC, eMMC, RS-MMC, MMC-micro), SD(Secure Digital) 카드(SD, Mini-SD, Micro-SD), UFS(Universal Flash Storage) 또는 SSD(Solid State Drive)를 포함할 수 있다.The memory system 100 includes PCMCIA (Personal Computer Memory Card International Association) cards, CF (Compact Flash) cards, smart media cards, memory sticks, various multi-media cards (MMC, eMMC, RS-MMC, MMC-micro), SD (Secure Digital) card (SD, Mini-SD, Micro-SD), Universal Flash Storage (UFS) or Solid State Drive (SSD).

메모리 시스템(100)은 컨트롤러(110) 및 비휘발성 메모리 장치(120)를 포함할 수 있다.The memory system 100 may include a controller 110 and a nonvolatile memory device 120 .

컨트롤러(110)는 메모리 시스템(100)의 제반 동작을 제어할 수 있다. 컨트롤러(110)는 호스트 장치의 지시에 따라 포그라운드 동작을 수행하기 위해 비휘발성 메모리 장치(120)를 제어할 수 있다. 포그라운드 동작은 호스트 장치의 지시, 즉, 라이트 요청 및 리드 요청에 따라 비휘발성 메모리 장치(120)에 데이터를 라이트하고 비휘발성 메모리 장치(120)로부터 데이터를 리드하는 동작을 포함할 수 있다.The controller 110 may control overall operations of the memory system 100 . The controller 110 may control the non-volatile memory device 120 to perform a foreground operation according to instructions from the host device. The foreground operation may include an operation of writing data to the nonvolatile memory device 120 and reading data from the nonvolatile memory device 120 according to instructions from the host device, that is, a write request and a read request.

또한, 컨트롤러(110)는 호스트 장치와 독립적으로 내부적으로 필요한 백그라운드 동작을 수행하기 위해서 비휘발성 메모리 장치(120)를 제어할 수 있다. 백그라운드 동작은 비휘발성 메모리 장치(120)에 대한 웨어 레벨링 동작, 가비지 컬렉션 동작, 소거 동작, 리드 리클레임 동작, 및 리프레시 동작 중 적어도 하나를 포함할 수 있다. 백그라운드 동작은 포그라운드 동작처럼 비휘발성 메모리 장치(120)에 데이터를 라이트하고 비휘발성 메모리 장치(120)로부터 데이터를 리드하는 동작을 포함할 수 있다.Also, the controller 110 may control the non-volatile memory device 120 to perform internally necessary background operations independently of the host device. The background operation may include at least one of a wear leveling operation, a garbage collection operation, an erase operation, a read reclaim operation, and a refresh operation for the nonvolatile memory device 120 . The background operation may include an operation of writing data to the nonvolatile memory device 120 and reading data from the nonvolatile memory device 120 like a foreground operation.

컨트롤러(110)는 메모리(111), 온도 증가량 예측부(112), 성능 조절부(113), 및 리오더링부(114)를 포함할 수 있다. The controller 110 may include a memory 111 , a temperature increase estimation unit 112 , a performance control unit 113 , and a reordering unit 114 .

메모리(111)는 컨트롤러(110)의 동작 메모리, 버퍼 메모리 또는 캐시 메모리 등의 기능을 수행할 수 있다. 메모리(111)는 동작 메모리로서 컨트롤러(110)에 의해 구동되는 소프트웨어 프로그램 및 각종 프로그램 데이터를 저장할 수 있다. 메모리(111)는 버퍼 메모리로서 호스트 장치 및 비휘발성 메모리 장치(120) 간에 전송되는 데이터를 버퍼링할 수 있다. 메모리(111)는 캐시 메모리로서 캐시 데이터를 임시 저장할 수 있다. 메모리(111)는 요청 큐(RQQ)를 포함할 수 있다. 요청 큐(RQQ)는 호스트 장치로부터 전송된 동작 요청들을 포함할 수 있다. 동작 요청들은 호스트 장치로부터 전송된 순서대로 요청 큐(RQQ)에 큐잉될 수 있다. 다만, 후술할 바와 같이 리오더링부(114)의 리오더링 동작에 의해 요청 큐(RQQ)에 큐잉된 동작 요청들은 재배열될 수 있다.The memory 111 may perform functions such as an operating memory, a buffer memory, or a cache memory of the controller 110 . The memory 111 is an operating memory and may store a software program driven by the controller 110 and various program data. The memory 111 is a buffer memory and may buffer data transmitted between the host device and the nonvolatile memory device 120 . The memory 111 is a cache memory and may temporarily store cache data. The memory 111 may include a request queue (RQQ). The request queue (RQQ) may contain action requests sent from the host device. Operation requests may be queued in a request queue (RQQ) in the order they are transmitted from the host device. However, as will be described later, operation requests queued in the request queue RQQ may be rearranged by the reordering operation of the reordering unit 114 .

온도 증가량 예측부(112)는 요청 큐(RQQ)에 큐잉된 동작 요청들에 각각 대응하는 온도 증가량들을 예측할 수 있다. 동작 요청에 대응하는 온도 증가량은 동작 요청이 처리됨에 따라 증가할 것으로 예상되는 메모리 시스템(100)의 온도일 수 있다. 실시 예에 따라, 온도 증가량 예측부(112)는 호스트 장치로부터 동작 요청을 수신할 때마다 해당 동작 요청에 대응하는 온도 증가량을 예측, 즉, 계산할 수 있다. 실시 예에 따라, 온도 증가량 예측부(112)는 후술될 바와 같이 리오더링부(114)가 리오더링 동작을 수행할 것으로 결정할 때 요청 큐(RQQ)에 큐잉된 동작 요청들에 각각 대응하는 온도 증가량들을 계산할 수 있다.The temperature increase amount prediction unit 112 may predict temperature increase amounts respectively corresponding to operation requests queued in the request queue RQQ. The amount of temperature increase corresponding to the operation request may be the temperature of the memory system 100 that is expected to increase as the operation request is processed. Depending on the embodiment, the temperature increase estimation unit 112 may predict, ie, calculate the temperature increase corresponding to the operation request whenever an operation request is received from the host device. According to an embodiment, when the reordering unit 114 determines to perform a reordering operation, as will be described later, the temperature increase prediction unit 112 determines the temperature increase corresponding to each of the operation requests queued in the request queue RQQ. can be calculated.

성능 조절부(113)는 메모리 시스템(100)의 온도를 하나 이상의 성능 조절 트리거 온도들과 비교하여 메모리 시스템(100)의 성능을 조절하기 위한 성능 조절 동작을 수행할 수 있다. 성능 조절부(113)는 복수의 성능 모드들 중 하나를 선택하고, 메모리 시스템(100)이 선택된 성능 모드에서 동작하도록 제어함으로써 성능 조절 동작을 수행할 수 있다. 메모리 시스템(100)의 온도는 메모리 시스템(100)의 내부에 위치한 온도 센서(미도시됨)에 의해 측정될 수 있다.The performance controller 113 may compare the temperature of the memory system 100 with one or more performance control trigger temperatures to perform a performance control operation for adjusting the performance of the memory system 100 . The performance adjusting unit 113 may perform a performance adjusting operation by selecting one of a plurality of performance modes and controlling the memory system 100 to operate in the selected performance mode. The temperature of the memory system 100 may be measured by a temperature sensor (not shown) located inside the memory system 100 .

리오더링부(114)는 온도 증가량 예측부(112)에 의해 예측된 동작 요청들의 온도 증가량들에 근거하여 요청 큐(RQQ)에 큐잉된 동작 요청들을 재배열하기 위한 리오더링 동작을 수행할 수 있다. 리오더링부(114)는 요청 큐(RQQ)에 큐잉된 동작 요청들 중 가장 작은 온도 증가량을 가진 동작 요청을 가장 앞선 순서로 재배열함으로써 리오더링 동작을 수행할 수 있다. 리오더링부(114)는 요청 큐(RQQ)에 큐잉된 동작 요청들을 온도 증가량이 작은 순서대로 재배열함으로써 리오더링 동작을 수행할 수 있다. 리오더링부(114)는 사용자가 응답 지연을 더 쉽게 체감할 수 있는 랜덤 요청(즉, 랜덤 리드 요청 및/또는 랜덤 라이트 요청)을 시퀀셜 요청(즉, 시퀀셜 리드 요청 및/또는 시퀀셜 라이트 요청)보다 앞선 순서로 재배열함으로써 리오더링 동작을 수행할 수 있다. 리오더링부(114)는 온도 증가량이 동일한 랜덤 요청 및 시퀀셜 요청에 대해, 랜덤 요청을 시퀀셜 요청보다 앞선 순서로 재배열함으로써 리오더링 동작을 수행할 수 있다. 리오더링부(114)는 메모리 시스템(100)의 온도가 보다 천천히 증가하도록 리오더링 동작을 수행할 수 있다. 리오더링부(114)는 더 낮은 성능 모드로 변경하기 위한 성능 조절 동작이 수행되기 전까지 동작 요청들이 더 많이 처리되도록 리오더링 동작을 수행할 수 있다.The reordering unit 114 may perform a reordering operation for rearranging the operation requests queued in the request queue RQQ based on the temperature increments of the operation requests predicted by the temperature increase estimation unit 112. . The reordering unit 114 may perform a reordering operation by rearranging the operation request having the smallest temperature increase among the operation requests queued in the request queue RQQ in the earliest order. The reordering unit 114 may perform a reordering operation by rearranging operation requests queued in the request queue RQQ in an order of a small temperature increase. The reordering unit 114 converts a random request (ie, a random read request and/or a random write request), in which a user can more easily experience a response delay, than a sequential request (ie, a sequential read request and/or a sequential write request). A reordering operation can be performed by rearranging in the previous order. The reordering unit 114 may perform a reordering operation for random requests and sequential requests having the same temperature increase by rearranging the random requests in an order prior to the sequential requests. The reordering unit 114 may perform a reordering operation so that the temperature of the memory system 100 increases more slowly. The reordering unit 114 may perform a reordering operation so that more operation requests are processed until a performance adjustment operation for changing to a lower performance mode is performed.

실시 예에 따라, 리오더링부(114)는 미리 설정된 리오더링 트리거 조건이 만족할 때, 리오더링 동작을 수행할 수 있다. 리오더링 트리거 조건은 메모리 시스템(100)의 온도가 리오더링 트리거 온도를 초과하는 것을 포함할 수 있다. 리오더링부(114)는 리오더링 트리거 조건이 만족하는 동안, 호스트 장치로부터 새로운 동작 요청을 수신할 때마다 리오더링 동작을 다시 수행할 수 있다.Depending on the embodiment, the reordering unit 114 may perform a reordering operation when a preset reordering trigger condition is satisfied. The reordering trigger condition may include that the temperature of the memory system 100 exceeds the reordering trigger temperature. The reordering unit 114 may perform the reordering operation again whenever a new operation request is received from the host device while the reordering trigger condition is satisfied.

실시 예에 따라, 리오더링 트리거 온도는 성능 조절 동작에서 참조되는 성능 조절 트리거 온도들 중 가장 낮은 온도인 제1 성능 조절 트리거 온도일 수 있다. 실시 예에 따라, 리오더링 트리거 온도는 제1 성능 조절 트리거 온도보다 낮은 온도일 수 있다. 실시 예에 따라, 리오더링 트리거 온도는 성능 조절 동작에서 참조되는 성능 조절 트리거 온도들 중 어느 하나일 수 있다.According to an embodiment, the reordering trigger temperature may be a first performance control trigger temperature that is the lowest among performance control trigger temperatures referenced in a performance control operation. According to embodiments, the reordering trigger temperature may be lower than the first performance control trigger temperature. According to embodiments, the reordering trigger temperature may be any one of performance control trigger temperatures referred to in a performance control operation.

비휘발성 메모리 장치(120)는 컨트롤러(110)의 제어에 따라, 컨트롤러(110)로부터 전송된 데이터를 저장하고, 저장된 데이터를 리드하여 컨트롤러(110)로 전송할 수 있다.The nonvolatile memory device 120 may store data transmitted from the controller 110 under the control of the controller 110 , read the stored data, and transmit the data to the controller 110 .

비휘발성 메모리 장치(120)는 낸드 플래시(NAND Flash) 또는 노어 플래시(NOR Flash)와 같은 플래시 메모리 장치, FeRAM(Ferroelectrics Random Access Memory), PCRAM(Phase-Change Random Access Memory), MRAM(Magnetic Random Access Memory) 또는 ReRAM(Resistive Random Access Memory) 등을 포함할 수 있다.The non-volatile memory device 120 includes a flash memory device such as a NAND flash or a NOR flash, a ferroelectrics random access memory (FeRAM), a phase-change random access memory (PCRAM), or a magnetic random access memory (MRAM). Memory) or Resistive Random Access Memory (ReRAM).

비휘발성 메모리 장치(120)는 하나 이상의 플래인(Plane)들, 하나 이상의 메모리 칩들, 하나 이상의 메모리 다이들, 또는 하나 이상의 메모리 패키지들을 포함할 수 있다.The non-volatile memory device 120 may include one or more planes, one or more memory chips, one or more memory dies, or one or more memory packages.

도2는 본 발명의 실시 예에 따라 도1의 온도 증가량 예측부(112)의 동작 방법을 설명하기 위한 도면이다.FIG. 2 is a diagram for explaining an operating method of the temperature increase estimation unit 112 of FIG. 1 according to an embodiment of the present invention.

도2를 참조하면, 온도 증가량 예측부(112)는 호스트 장치로로부터 전송된 동작 요청에 대해, 동작 요청에 대응하는 소비 전력 정보 및 동작 요청 정보에 근거하여 온도 증가량을 계산할 수 있다. Referring to FIG. 2 , the temperature increase estimation unit 112 may calculate a temperature increase based on power consumption information and operation request information corresponding to the operation request transmitted from the host device.

온도 증가량 예측부(112)는 소비 전력 정보 테이블(PIT)을 참조하여 동작 요청에 대응하는 소비 전력 정보를 구할 수 있다. 소비 전력 정보 테이블(PIT)은 각 동작 종류에 대응하는 소비 전력을 포함할 수 있다. 예를 들어, 동작 종류는 시퀀셜 리드 동작, 시퀀셜 라이트 동작, 랜덤 리드 동작, 및 랜덤 라이트 동작을 포함할 수 있다. 각 동작 종류에 대응하는 소비 전력은 각 동작의 처리 단위(예를 들어, 소정 데이터 크기)를 처리하는데 소비되는 평균 소비 전력 및/또는 피크 소비 전력을 포함할 수 있다. 소비 전력 정보 테이블(PIT)은 메모리(111) 및/또는 비휘발성 메모리 장치(120)에 유지될 수 있다. 소비 전력 정보 테이블(PIT)은 테스트를 통해 미리 결정될 수 있다.The temperature increase estimation unit 112 may obtain power consumption information corresponding to an operation request by referring to a power consumption information table (PIT). The power consumption information table (PIT) may include power consumption corresponding to each operation type. For example, the type of operation may include a sequential read operation, a sequential write operation, a random read operation, and a random write operation. Power consumption corresponding to each operation type may include average power consumption and/or peak power consumption consumed in processing a processing unit (eg, a predetermined data size) of each operation. The power consumption information table (PIT) may be maintained in the memory 111 and/or the non-volatile memory device 120 . The power consumption information table (PIT) may be previously determined through a test.

동작 요청 정보는 해당 동작 요청을 통해 처리될 데이터 크기를 포함할 수 있다.Operation request information may include the size of data to be processed through a corresponding operation request.

예를 들어, 동작 요청이 시퀀셜 리드 요청일 때, 동작 요청에 대응하는 소비 전력 정보는 시퀀셜 리드 동작의 평균 소비 전력을 포함하고, 동작 요청 정보는 시퀀셜 리드 동작을 통해 비휘발성 메모리 장치로부터 리드될 데이터 크기를 포함할 수 있다. For example, when the operation request is a sequential read request, the power consumption information corresponding to the operation request includes average power consumption of the sequential read operation, and the operation request information is data to be read from the nonvolatile memory device through the sequential read operation. size can be included.

온도 증가량 예측부(112)는, 동작 요청에 대응하는 온도 증가량을 계산하기 위해, 소비 전력 정보 및 동작 요청 정보에 관한 소정의 계산식(EQ)을 참고할 수 있다. 계산식(EQ)은 테스트를 통해 미리 결정될 수 있다.The temperature increase estimation unit 112 may refer to a predetermined calculation equation (EQ) related to power consumption information and operation request information in order to calculate the temperature increase corresponding to the operation request. The calculation equation (EQ) may be determined in advance through a test.

도3은 본 발명의 실시 예에 따라 도1의 성능 조절부(113)의 동작 방법을 설명하기 위한 도면이다.3 is a diagram for explaining an operating method of the performance controller 113 of FIG. 1 according to an embodiment of the present invention.

도3을 참조하면, 성능 조절부(113)는 메모리 시스템(100)의 온도에 따라 메모리 시스템(100)의 성능 모드를 결정할 수 있다. 성능 조절부(113)는 메모리 시스템(100)의 온도를 제1 내지 제3 성능 조절 트리거 온도들(TT1~TT3)과 비교함으로써 높은 성능 모드(HP), 중간 성능 모드(MP), 및 낮은 성능 모드(LP) 중 어느 하나를 선택하고, 메모리 시스템(100)이 선택된 성능 모드에서 동작하도록 제어할 수 있다. 예를 들어, 제1 내지 제3 성능 조절 트리거 온도들(TT1~TT3)은 각각 85℃, 95℃, 및 105℃일 수 있다. 예를 들어, 높은 성능 모드(HP), 중간 성능 모드(MP), 및 낮은 성능 모드(LP)는 각각 메모리 시스템(100)이 100%, 50%, 및 5%의 성능으로 동작하는 모드들일 수 있다.Referring to FIG. 3 , the performance controller 113 may determine a performance mode of the memory system 100 according to the temperature of the memory system 100 . The performance controller 113 compares the temperature of the memory system 100 with the first to third performance control trigger temperatures TT1 to TT3 to determine the high performance mode (HP), medium performance mode (MP), and low performance One of the modes LP may be selected, and the memory system 100 may be controlled to operate in the selected performance mode. For example, the first to third performance control trigger temperatures TT1 to TT3 may be 85°C, 95°C, and 105°C, respectively. For example, the high performance mode (HP), medium performance mode (MP), and low performance mode (LP) may be modes in which the memory system 100 operates at 100%, 50%, and 5% performance, respectively. there is.

구체적으로, 메모리 시스템(100)의 온도가 95℃로 증가하기 전까지, 메모리 시스템(100)은 높은 성능 모드(HP)에서 동작할 수 있다. 메모리 시스템(100)의 온도가 95℃까지 도달하면, 메모리 시스템(100)의 성능 모드는 높은 성능 모드(HP)에서 중간 성능 모드(MP)로 변경될 수 있다. 메모리 시스템(100)의 성능 모드가 중간 성능 모드(MP)로 변경된 뒤 메모리 시스템(100)의 온도가 85℃부터 105℃ 사이에 있을 때, 메모리 시스템(100)은 중간 성능 모드(MP)에서 계속 동작할 수 있다. 메모리 시스템(100)의 온도가 95℃에서 85℃까지 내려가면, 메모리 시스템(100)의 성능 모드는 중간 성능 모드(MP)에서 높은 성능 모드(HP)로 변경될 수 있다. 메모리 시스템(100)의 성능 모드가 중간 성능 모드(MP)로 변경된 뒤 메모리 시스템(100)의 온도가 105℃에 도달하면, 메모리 시스템(100)의 성능 모드는 중간 성능 모드(MP)에서 낮은 성능 모드(LP)로 변경될 수 있다. 메모리 시스템(100)의 성능 모드가 낮은 성능 모드(LP)로 변경된 뒤 메모리 시스템(100)의 온도가 85℃로 내려갈 때까지, 메모리 시스템(100)은 낮은 성능 모드(LP)에서 계속 동작할 수 있다. 메모리 시스템(100)의 온도가 85℃까지 내려가면, 메모리 시스템(100)의 성능 모드는 낮은 성능 모드(LP)에서 높은 성능 모드(HP)로 변경될 수 있다.Specifically, the memory system 100 may operate in the high performance mode (HP) until the temperature of the memory system 100 increases to 95°C. When the temperature of the memory system 100 reaches 95° C., the performance mode of the memory system 100 may be changed from the high performance mode (HP) to the medium performance mode (MP). When the temperature of the memory system 100 is between 85°C and 105°C after the performance mode of the memory system 100 is changed to the medium performance mode (MP), the memory system 100 continues in the medium performance mode (MP). It can work. When the temperature of the memory system 100 decreases from 95°C to 85°C, the performance mode of the memory system 100 may be changed from the medium performance mode (MP) to the high performance mode (HP). When the temperature of the memory system 100 reaches 105° C. after the performance mode of the memory system 100 is changed to the medium performance mode (MP), the performance mode of the memory system 100 changes from the medium performance mode (MP) to the low performance mode. It can be changed to the mode LP. After the performance mode of the memory system 100 is changed to the low performance mode (LP), the memory system 100 may continue to operate in the low performance mode (LP) until the temperature of the memory system 100 decreases to 85°C. there is. When the temperature of the memory system 100 decreases to 85° C., the performance mode of the memory system 100 may be changed from the low performance mode (LP) to the high performance mode (HP).

성능 조절부(113)는 메모리 시스템(100)의 성능을 조절하기 위해서, 동작 주파수 및 허용 리소스 개수 등을 제어할 수 있다. 예를 들어, 동작 주파수 및/또는 허용 리소스 개수가 작을수록 메모리 시스템(100)은 더 낮은 성능으로 동작할 수 있다. The performance controller 113 may control an operating frequency and an allowable number of resources to adjust the performance of the memory system 100 . For example, the memory system 100 may operate with lower performance as the operating frequency and/or the allowed number of resources decrease.

실시 예에 따라, 성능 모드들 및 성능 조절 트리거 온도들의 개수는 도3에서 도시된 바와 다르게 다양하게 설정될 수 있다.Depending on the embodiment, the number of performance modes and performance control trigger temperatures may be variously set differently from those shown in FIG. 3 .

도4는 본 발명의 실시 예에 따라 도1의 리오더링부(114)의 동작 방법을 설명하기 위한 도면이다. 케이스(41)는 리오더링부(114)가 리오더링 동작을 수행하지 않은 경우를 나타내고, 케이스(42)는 리오더링부(114)가 리오더링 동작을 수행하는 경우를 나타낸다.4 is a diagram for explaining an operating method of the reordering unit 114 of FIG. 1 according to an embodiment of the present invention. Case 41 represents a case in which the reordering unit 114 does not perform a reordering operation, and case 42 represents a case in which the reordering unit 114 performs a reordering operation.

케이스(41)를 참조하면, 컨트롤러(110)는 호스트 장치로부터 제1 시퀀셜 리드 요청(SEQ_RD1), 제2 시퀀셜 리드 요청(SEQ_RD2), 시퀀셜 라이트 요청(SEQ_WT) 및 랜덤 리드 요청(RAN_RD)을 순차적으로 수신할 수 있다. 제1 시퀀셜 리드 요청(SEQ_RD1), 제2 시퀀셜 리드 요청(SEQ_RD2), 시퀀셜 라이트 요청(SEQ_WT) 및 랜덤 리드 요청(RAN_RD)은 전송 순서대로 요청 큐(RQQ)에 큐잉될 수 있다. 도4는 메모리 시스템(100)이 높은 성능 모드(HP)에서 동작할 때 각 동작 요청을 처리하는데 걸릴 시간도 예시적으로 보여준다. 이하에서, 높은 성능 모드(HP)와 중간 성능 모드(MP)는 도3에 도시된 바와 같이 메모리 시스템(100)이 각각 100% 성능 및 50% 성능으로 동작하는 모드들일 수 있다.Referring to case 41, the controller 110 sequentially sends a first sequential read request (SEQ_RD1), a second sequential read request (SEQ_RD2), a sequential write request (SEQ_WT), and a random read request (RAN_RD) from the host device. can receive The first sequential read request (SEQ_RD1), the second sequential read request (SEQ_RD2), the sequential write request (SEQ_WT), and the random read request (RAN_RD) may be queued in the request queue (RQQ) in transmission order. FIG. 4 exemplarily shows the time taken to process each operation request when the memory system 100 operates in the high performance mode (HP). Hereinafter, the high performance mode (HP) and the medium performance mode (MP) may be modes in which the memory system 100 operates at 100% performance and 50% performance, respectively, as shown in FIG. 3 .

온도 증가량 예측부(112)는 각 동작 요청에 대응하는 온도 증가량을 예측할 수 있다. 예를 들어, 온도 증가량 예측부(112)는 제1 시퀀셜 리드 요청(SEQ_RD1)의 처리로 인해 메모리 시스템(100)의 온도가 4℃ 증가할 것으로 예측할 수 있다. 그리고 온도 증가량 예측부(112)는 제2 시퀀셜 리드 요청(SEQ_RD2)의 처리로 인해 메모리 시스템(100)의 온도가 4℃ 증가할 것으로 예측할 수 있다. 그리고 온도 증가량 예측부(112)는 시퀀셜 라이트 요청(SEQ_WT)의 처리로 인해 메모리 시스템(100)의 온도가 2℃ 증가할 것으로 예측할 수 있다. 그리고 온도 증가량 예측부(112)는 랜덤 리드 요청(RAN_RD)의 처리로 인해 메모리 시스템(100)의 온도가 1℃ 증가할 것으로 예측할 수 있다. The temperature increase prediction unit 112 may predict a temperature increase corresponding to each operation request. For example, the temperature increase predictor 112 may predict that the temperature of the memory system 100 will increase by 4°C due to processing of the first sequential read request SEQ_RD1. Also, the temperature increase estimation unit 112 may predict that the temperature of the memory system 100 will increase by 4°C due to the processing of the second sequential read request SEQ_RD2. Also, the temperature increase estimation unit 112 may predict that the temperature of the memory system 100 will increase by 2°C due to processing of the sequential write request SEQ_WT. Also, the temperature increase predictor 112 may predict that the temperature of the memory system 100 will increase by 1°C due to processing of the random read request RAN_RD.

만일 리오더링부(114)의 리오더링 동작이 수행되지 않을 경우, 제1 시퀀셜 리드 요청(SEQ_RD1), 제2 시퀀셜 리드 요청(SEQ_RD2), 및 시퀀셜 라이트 요청(SEQ_WT)이 전송 순서대로 처리될 수 있다. 그 동안, 메모리 시스템(100)의 온도는 제2 성능 조절 트리거 온도(TT2), 즉, 95℃에 도달하지 않을 수 있고, 따라서, 제1 시퀀셜 리드 요청(SEQ_RD1), 제2 시퀀셜 리드 요청(SEQ_RD2), 및 시퀀셜 라이트 요청(SEQ_WT)은 높은 성능 모드(HP)에서 처리될 수 있다. 그리고 시퀀셜 라이트 요청(SEQ_WT)까지 처리된 이후, 메모리 시스템(100)의 온도가 95℃에 도달하면, 메모리 시스템(100)의 성능 모드는 높은 성능 모드(HP)에서 중간 성능 모드(MP)로 변경될 수 있다. 따라서, 랜덤 리드 요청(RAN_RD)은 중간 성능 모드(MP)에서 100% 처리될 수 있다. 결과적으로, 랜덤 리드 요청(RAN_RD)이 높은 성능 모드(HP)에서 100% 처리된다면 처리 시간은 5초일 수 있지만, 성능 조절 동작에 의해 중간 성능 모드(MP)에서 처리되기 때문에, 랜덤 리드 요청(RAN_RD)의 처리 시간은, 예를 들어, 10초일 수 있다. 즉, 메모리 시스템(100)의 성능이 50%로 낮아진다면, 랜덤 리드 요청(RAN_RD)의 처리 시간은 2배가 될 수 있다.If the reordering operation of the reordering unit 114 is not performed, the first sequential read request (SEQ_RD1), the second sequential read request (SEQ_RD2), and the sequential write request (SEQ_WT) may be processed in transmission order. . In the meantime, the temperature of the memory system 100 may not reach the second performance control trigger temperature TT2, that is, 95° C. Therefore, the first sequential read request SEQ_RD1 and the second sequential read request SEQ_RD2 ), and sequential write requests (SEQ_WT) can be processed in high performance mode (HP). After the sequential write request (SEQ_WT) is processed, when the temperature of the memory system 100 reaches 95° C., the performance mode of the memory system 100 is changed from the high performance mode (HP) to the medium performance mode (MP). It can be. Therefore, the random read request (RAN_RD) can be processed 100% in the medium performance mode (MP). As a result, if the random read request (RAN_RD) is 100% processed in the high performance mode (HP), the processing time may be 5 seconds, but since it is processed in the medium performance mode (MP) by the performance throttling operation, the random read request (RAN_RD) ) may be, for example, 10 seconds. That is, if the performance of the memory system 100 is reduced to 50%, the processing time of the random read request RAN_RD may be doubled.

이어서 케이스(42)를 쉽게 설명하기 위해서, 메모리 시스템(100)의 온도는 동작 요청의 처리율에 비례하여 증가한다고 가정할 수 있다. 예를 들어, 동작 요청이 50% 처리되었을 때, 메모리 시스템(100)의 온도는 해당 동작 요청에 대응하는 총 온도 증가량의 50%만큼 증가할 수 있다.Next, to easily explain the case 42, it can be assumed that the temperature of the memory system 100 increases in proportion to the processing rate of the operation request. For example, when 50% of the operation request is processed, the temperature of the memory system 100 may increase by 50% of the total temperature increase corresponding to the corresponding operation request.

이제 리오더링부(114)의 동작을 설명하면 다음과 같다. 리오더링부(114)는 메모리 시스템(100)의 온도가 리오더링 트리거 온도를 초과할 때 리오더링 동작을 수행할 수 있고, 리오더링 트리거 온도는 예시적으로 제1 성능 조절 트리거 온도(TT1), 즉, 85℃일 수 있다. 따라서, 제1 시퀀셜 리드 요청(SEQ_RD1)이 처리됨으로써 메모리 시스템(100)의 온도가 85℃에서 89℃로 상승할 때, 리오더링부(114)는 리오더링 동작을 수행할 수 있다. 구체적으로 리오더링부(114)는 랜덤 리드 요청(RAN_RD)과 제2 시퀀셜 리드 요청(SEQ_RD2)의 순서를 바꿈으로써 리오더링 동작을 수행할 수 있다. 즉, 리오더링부(114)는 요청 큐(RQQ)에 큐잉된 제2 시퀀셜 리드 요청(SEQ_RD2), 시퀀셜 라이트 요청(SEQ_WT) 및 랜덤 리드 요청(RAN_RD) 중 가장 작은 온도 증가량을 가진 랜덤 리드 요청(RAN_RD)이 가장 앞선 순서로 처리되도록 리오더링 동작을 수행할 수 있다. 한편, 케이스(42)에 도시된 리오더링된 순서는 케이스(41)에서 요청 큐(RQQ)에 큐잉된 제2 시퀀셜 리드 요청(SEQ_RD2), 시퀀셜 라이트 요청(SEQ_WT) 및 랜덤 리드 요청(RAN_RD)을 온도 증가량이 작은 순서대로 재배열한 결과일 수도 있다.Now, the operation of the reordering unit 114 will be described. The reordering unit 114 may perform a reordering operation when the temperature of the memory system 100 exceeds a reordering trigger temperature, and the reordering trigger temperature is, for example, a first performance control trigger temperature TT1, That is, it may be 85 °C. Accordingly, when the temperature of the memory system 100 rises from 85°C to 89°C as a result of processing the first sequential read request SEQ_RD1, the reordering unit 114 may perform a reordering operation. Specifically, the reordering unit 114 may perform a reordering operation by changing the order of the random read request (RAN_RD) and the second sequential read request (SEQ_RD2). That is, the reordering unit 114 generates a random read request (with the smallest temperature increase) among the second sequential read request (SEQ_RD2), the sequential write request (SEQ_WT), and the random read request (RAN_RD) queued in the request queue (RQQ). RAN_RD) may be processed in the earliest order. Meanwhile, the reordered order shown in case 42 includes the second sequential read request (SEQ_RD2), the sequential write request (SEQ_WT), and the random read request (RAN_RD) queued in the request queue (RQQ) in case 41. It may be the result of rearrangement in order of small temperature increase.

리오더링 동작이 수행된 뒤 랜덤 리드 요청(RAN_RD) 및 시퀀셜 라이트 요청(SEQ_WT)이 순차적으로 처리될 수 있다. 이 때, 메모리 시스템(100)의 온도는 92℃까지 상승할 것이지만, 아직 제2 성능 조절 트리거 온도(TT2), 즉, 95℃에 도달하지 않았으므로, 메모리 시스템(100)은 계속 높은 성능 모드(HP)에서 동작할 수 있다. 그리고 제2 시퀀셜 리드 요청(SEQ_RD2)이 75%까지 처리되었을 때 메모리 시스템(100)의 온도는 95℃에 도달할 수 있다. 따라서, 메모리 시스템(100)의 성능 모드는 높은 성능 모드(HP)에서 중간 성능 모드(MP)로 변경되고, 제2 시퀀셜 리드 요청(SEQ_RD2)의 남은 25%는 중간 성능 모드(MP)에서 처리될 수 있다. 따라서, 제2 시퀀셜 리드 요청(SEQ_RD2)이 높은 성능 모드(HP)에서 100% 처리된다면 처리 시간은 10초일 수 있지만, 성능 조절 동작에 의해 제2 시퀀셜 리드 요청(SEQ_RD2)의 75%는 높은 성능 모드(HP)에서 처리되고 25%는 중간 성능 모드(MP)에서 처리되기 때문에, 제2 시퀀셜 리드 요청(SEQ_RD2)의 처리 시간은 12.5초일 수 있다. After the reordering operation is performed, the random read request (RAN_RD) and the sequential write request (SEQ_WT) may be sequentially processed. At this time, the temperature of the memory system 100 will rise to 92°C, but since the second performance regulating trigger temperature TT2, that is, 95°C has not yet been reached, the memory system 100 continues to operate in the high performance mode ( HP) can work. Also, when the second sequential read request SEQ_RD2 is processed up to 75%, the temperature of the memory system 100 may reach 95°C. Accordingly, the performance mode of the memory system 100 is changed from the high performance mode (HP) to the medium performance mode (MP), and the remaining 25% of the second sequential read request (SEQ_RD2) is processed in the medium performance mode (MP). can Therefore, if 100% of the second sequential read request (SEQ_RD2) is processed in the high performance mode (HP), the processing time may be 10 seconds, but 75% of the second sequential read request (SEQ_RD2) is processed in the high performance mode by the performance adjustment operation. Since it is processed in (HP) and 25% is processed in medium performance mode (MP), the processing time of the second sequential read request (SEQ_RD2) may be 12.5 seconds.

케이스들(41, 42)을 비교하면, 리오더링 동작을 통해 메모리 시스템의 온도 증가가 지연될 수 있다. 다시 말해, 더 낮은 성능 모드로 변경되기 전에 리오더링 동작을 통해 동작 요청들이 더 많이 처리될 수 있다. 또한, 리오더링 동작의 수행 결과 요청 큐(RQQ)에 큐잉된 동작 요청들의 총 수행 시간이 단축되고 호스트 장치에 대한 응답 성능이 개선될 수 있다.Comparing the cases 41 and 42 , an increase in temperature of the memory system may be delayed through the reordering operation. In other words, more operation requests can be processed through the reordering operation before changing to a lower performance mode. In addition, as a result of performing the reordering operation, the total execution time of operation requests queued in the request queue (RQQ) may be shortened and response performance to the host device may be improved.

도5는 본 발명의 실시 예에 따라 컨트롤러(110)의 동작 방법을 설명하기 위한 순서도이다.5 is a flowchart illustrating an operating method of the controller 110 according to an embodiment of the present invention.

도5를 참조하면, 단계(S110)에서, 온도 증가량 예측부(112)는 호스트 장치로부터 전송된 동작 요청들에 대응하는 온도 증가량들을 예측할 수 있다. 동작 요청에 대응하는 온도 증가량은 동작 요청이 처리됨에 따라 증가할 것으로 예상되는 메모리 시스템(100)의 온도일 수 있다.Referring to FIG. 5 , in step S110, the temperature increase amount predictor 112 may predict temperature increase amounts corresponding to operation requests transmitted from the host device. The amount of temperature increase corresponding to the operation request may be the temperature of the memory system 100 that is expected to increase as the operation request is processed.

단계(S120)에서, 리오더링부(114)는 온도 증가량 예측부(112)에 의해 예측된 온도 증가량들에 근거하여 요청 큐(RQQ)에서 동작 요청들을 재배열하기 위한 리오더링 동작을 수행할 수 있다. 실시 예에 따라, 리오더링부(114)는 리오더링 트리거 조건이 만족할 때 리오더링 동작을 수행할 수 있다.In step S120, the reordering unit 114 may perform a reordering operation for rearranging operation requests in the request queue RQQ based on the temperature increase amounts predicted by the temperature increase amount prediction unit 112. there is. Depending on the embodiment, the reordering unit 114 may perform a reordering operation when a reordering trigger condition is satisfied.

도 6은 본 발명의 실시 예에 따른 솔리드 스테이트 드라이브(SSD)를 포함하는 데이터 처리 시스템을 예시적으로 도시하는 도면이다. 도 6을 참조하면, 데이터 처리 시스템(1000)은 호스트 장치(1100)와 솔리드 스테이트 드라이브(solid state drive)(1200)(이하, SSD라 칭함)를 포함할 수 있다.6 is a diagram exemplarily illustrating a data processing system including a solid state drive (SSD) according to an embodiment of the present invention. Referring to FIG. 6 , the data processing system 1000 may include a host device 1100 and a solid state drive 1200 (hereinafter referred to as SSD).

SSD(1200)는 컨트롤러(1210), 버퍼 메모리 장치(1220), 비휘발성 메모리 장치들(1231~123n), 전원 공급기(1240), 신호 커넥터(1250) 및 전원 커넥터(1260)를 포함할 수 있다.The SSD 1200 may include a controller 1210, a buffer memory device 1220, non-volatile memory devices 1231 to 123n, a power supply 1240, a signal connector 1250, and a power connector 1260. .

컨트롤러(1210)는 SSD(1200)의 제반 동작을 제어할 수 있다. 컨트롤러(1210)는 호스트 인터페이스 유닛(1211), 컨트롤 유닛(1212), 랜덤 액세스 메모리(1213), 에러 정정 코드(ECC) 유닛(1214) 및 메모리 인터페이스 유닛(1215)을 포함할 수 있다.The controller 1210 may control overall operations of the SSD 1200 . The controller 1210 may include a host interface unit 1211 , a control unit 1212 , a random access memory 1213 , an error correction code (ECC) unit 1214 , and a memory interface unit 1215 .

호스트 인터페이스 유닛(1211)은 신호 커넥터(1250)를 통해서 호스트 장치(1100)와 신호(SGL)를 주고 받을 수 있다. 여기에서, 신호(SGL)는 커맨드, 어드레스, 데이터 등을 포함할 수 있다. 호스트 인터페이스 유닛(1211)은, 호스트 장치(1100)의 프로토콜에 따라서, 호스트 장치(1100)와 SSD(1200)를 인터페이싱할 수 있다. 예를 들면, 호스트 인터페이스 유닛(1211)은, 시큐어 디지털(secure digital), USB(universal serial bus), MMC(multi-media card), eMMC(embedded MMC), PCMCIA(personal computer memory card international association), PATA(parallel advanced technology attachment), SATA(serial advanced technology attachment), SCSI(small computer system interface), SAS(serial attached SCSI), PCI(peripheral component interconnection), PCI-E(PCI Expresss), UFS(universal flash storage)와 같은 표준 인터페이스 프로토콜들 중 어느 하나를 통해서 호스트 장치(1100)와 통신할 수 있다.The host interface unit 1211 may exchange signals SGL with the host device 1100 through the signal connector 1250 . Here, the signal SGL may include a command, address, data, and the like. The host interface unit 1211 may interface the host device 1100 and the SSD 1200 according to the protocol of the host device 1100 . For example, the host interface unit 1211 includes secure digital, universal serial bus (USB), multi-media card (MMC), embedded MMC (eMMC), personal computer memory card international association (PCMCIA), Parallel advanced technology attachment (PATA), serial advanced technology attachment (SATA), small computer system interface (SCSI), serial attached SCSI (SAS), peripheral component interconnection (PCI), PCI Express (PCI-E), universal flash (UFS) storage) may communicate with the host device 1100 through any one of standard interface protocols.

컨트롤 유닛(1212)은 호스트 장치(1100)로부터 입력된 신호(SGL)를 분석하고 처리할 수 있다. 컨트롤 유닛(1212)은 SSD(1200)를 구동하기 위한 펌웨어 또는 소프트웨어에 따라서 백그라운드 기능 블럭들의 동작을 제어할 수 있다. 랜덤 액세스 메모리(1213)는 이러한 펌웨어 또는 소프트웨어를 구동하기 위한 동작 메모리로서 사용될 수 있다. 컨트롤 유닛(1212)은 도1의 온도 증가량 예측부(112), 성능 조절부(113), 및 리오더링부(114)를 포함할 수 있다.The control unit 1212 may analyze and process the signal SGL input from the host device 1100 . The control unit 1212 may control operations of background functional blocks according to firmware or software for driving the SSD 1200 . The random access memory 1213 can be used as an operating memory for driving such firmware or software. The control unit 1212 may include the temperature increase estimation unit 112 , the performance control unit 113 , and the reordering unit 114 of FIG. 1 .

에러 정정 코드(ECC) 유닛(1214)은 비휘발성 메모리 장치들(1231~123n)로 전송될 데이터의 패리티 데이터를 생성할 수 있다. 생성된 패리티 데이터는 데이터와 함께 비휘발성 메모리 장치들(1231~123n)에 저장될 수 있다. 에러 정정 코드(ECC) 유닛(1214)은 패리티 데이터에 근거하여 비휘발성 메모리 장치들(1231~123n)로부터 독출된 데이터의 에러를 검출할 수 있다. 만약, 검출된 에러가 정정 범위 내이면, 에러 정정 코드(ECC) 유닛(1214)은 검출된 에러를 정정할 수 있다.The error correction code (ECC) unit 1214 may generate parity data of data to be transmitted to the nonvolatile memory devices 1231 to 123n. The generated parity data may be stored in the non-volatile memory devices 1231 to 123n together with the data. The error correction code (ECC) unit 1214 may detect errors in data read from the nonvolatile memory devices 1231 to 123n based on the parity data. If the detected error is within the correction range, the error correction code (ECC) unit 1214 can correct the detected error.

메모리 인터페이스 유닛(1215)은, 컨트롤 유닛(1212)의 제어에 따라서, 비휘발성 메모리 장치들(1231~123n)에 커맨드 및 어드레스와 같은 제어 신호를 제공할 수 있다. 그리고 메모리 인터페이스 유닛(1215)은, 컨트롤 유닛(1212)의 제어에 따라서, 비휘발성 메모리 장치들(1231~123n)과 데이터를 주고받을 수 있다. 예를 들면, 메모리 인터페이스 유닛(1215)은 버퍼 메모리 장치(1220)에 저장된 데이터를 비휘발성 메모리 장치들(1231~123n)로 제공하거나, 비휘발성 메모리 장치들(1231~123n)로부터 읽혀진 데이터를 버퍼 메모리 장치(1220)로 제공할 수 있다.The memory interface unit 1215 may provide control signals such as commands and addresses to the nonvolatile memory devices 1231 to 123n according to the control of the control unit 1212 . The memory interface unit 1215 may exchange data with the non-volatile memory devices 1231 to 123n according to the control of the control unit 1212 . For example, the memory interface unit 1215 provides data stored in the buffer memory device 1220 to the nonvolatile memory devices 1231 to 123n or buffers data read from the nonvolatile memory devices 1231 to 123n. It may be provided as the memory device 1220 .

버퍼 메모리 장치(1220)는 비휘발성 메모리 장치들(1231~123n)에 저장될 데이터를 임시 저장할 수 있다. 또한, 버퍼 메모리 장치(1220)는 비휘발성 메모리 장치들(1231~123n)로부터 읽혀진 데이터를 임시 저장할 수 있다. 버퍼 메모리 장치(1220)에 임시 저장된 데이터는 컨트롤러(1210)의 제어에 따라 호스트 장치(1100) 또는 비휘발성 메모리 장치들(1231~123n)로 전송될 수 있다.The buffer memory device 1220 may temporarily store data to be stored in the nonvolatile memory devices 1231 to 123n. Also, the buffer memory device 1220 may temporarily store data read from the non-volatile memory devices 1231 to 123n. Data temporarily stored in the buffer memory device 1220 may be transmitted to the host device 1100 or the nonvolatile memory devices 1231 to 123n under the control of the controller 1210 .

비휘발성 메모리 장치들(1231~123n)은 SSD(1200)의 저장 매체로 사용될 수 있다. 비휘발성 메모리 장치들(1231~123n) 각각은 복수의 채널들(CH1~CHn)을 통해 컨트롤러(1210)와 연결될 수 있다. 하나의 채널에는 하나 또는 그 이상의 비휘발성 메모리 장치가 연결될 수 있다. 하나의 채널에 연결되는 비휘발성 메모리 장치들은 동일한 신호 버스 및 데이터 버스에 연결될 수 있다.The nonvolatile memory devices 1231 to 123n may be used as storage media of the SSD 1200 . Each of the nonvolatile memory devices 1231 to 123n may be connected to the controller 1210 through a plurality of channels CH1 to CHn. One or more nonvolatile memory devices may be connected to one channel. Nonvolatile memory devices connected to one channel may be connected to the same signal bus and data bus.

전원 공급기(1240)는 전원 커넥터(1260)를 통해 입력된 전원(PWR)을 SSD(1200) 백그라운드에 제공할 수 있다. 전원 공급기(1240)는 보조 전원 공급기(1241)를 포함할 수 있다. 보조 전원 공급기(1241)는 서든 파워 오프(sudden power off)가 발생되는 경우, SSD(1200)가 정상적으로 종료될 수 있도록 전원을 공급할 수 있다. 보조 전원 공급기(1241)는 대용량 캐패시터들(capacitors)을 포함할 수 있다.The power supply 1240 may provide power (PWR) input through the power connector 1260 to the background of the SSD 1200 . The power supply 1240 may include an auxiliary power supply 1241 . The auxiliary power supply 1241 may supply power so that the SSD 1200 is normally terminated when sudden power off occurs. The auxiliary power supply 1241 may include large-capacity capacitors.

신호 커넥터(1250)는 호스트 장치(1100)와 SSD(1200)의 인터페이스 방식에 따라서 다양한 형태의 커넥터로 구성될 수 있다.The signal connector 1250 may be configured with various types of connectors according to an interface method between the host device 1100 and the SSD 1200 .

전원 커넥터(1260)는 호스트 장치(1100)의 전원 공급 방식에 따라서 다양한 형태의 커넥터로 구성될 수 있다.The power connector 1260 may be configured with various types of connectors according to a power supply method of the host device 1100 .

도 7은 본 발명의 실시 예에 따른 메모리 시스템을 포함하는 데이터 처리 시스템을 예시적으로 도시하는 도면이다. 도 7을 참조하면, 데이터 처리 시스템(2000)은 호스트 장치(2100)와 메모리 시스템(2200)을 포함할 수 있다.7 is a diagram exemplarily illustrating a data processing system including a memory system according to an embodiment of the present invention. Referring to FIG. 7 , a data processing system 2000 may include a host device 2100 and a memory system 2200 .

호스트 장치(2100)는 인쇄 회로 기판(printed circuit board)과 같은 기판(board) 형태로 구성될 수 있다. 비록 도시되지 않았지만, 호스트 장치(2100)는 호스트 장치의 기능을 수행하기 위한 백그라운드 기능 블럭들을 포함할 수 있다.The host device 2100 may be configured in the form of a board such as a printed circuit board. Although not shown, the host device 2100 may include background functional blocks for performing functions of the host device.

호스트 장치(2100)는 소켓(socket), 슬롯(slot) 또는 커넥터(connector)와 같은 접속 터미널(2110)을 포함할 수 있다. 메모리 시스템(2200)은 접속 터미널(2110)에 마운트(mount)될 수 있다.The host device 2100 may include a connection terminal 2110 such as a socket, slot, or connector. The memory system 2200 may be mounted on the access terminal 2110 .

메모리 시스템(2200)은 인쇄 회로 기판과 같은 기판 형태로 구성될 수 있다. 메모리 시스템(2200)은 메모리 모듈 또는 메모리 카드로 불릴 수 있다. 메모리 시스템(2200)은 컨트롤러(2210), 버퍼 메모리 장치(2220), 비휘발성 메모리 장치(2231~2232), PMIC(power management integrated circuit)(2240) 및 접속 터미널(2250)을 포함할 수 있다.The memory system 2200 may be configured in the form of a substrate such as a printed circuit board. The memory system 2200 may be referred to as a memory module or a memory card. The memory system 2200 may include a controller 2210, a buffer memory device 2220, nonvolatile memory devices 2231 to 2232, a power management integrated circuit (PMIC) 2240, and a connection terminal 2250.

컨트롤러(2210)는 메모리 시스템(2200)의 제반 동작을 제어할 수 있다. 컨트롤러(2210)는 도 6에 도시된 컨트롤러(1210)와 동일하게 구성될 수 있다.The controller 2210 may control overall operations of the memory system 2200 . The controller 2210 may have the same configuration as the controller 1210 shown in FIG. 6 .

버퍼 메모리 장치(2220)는 비휘발성 메모리 장치들(2231~2232)에 저장될 데이터를 임시 저장할 수 있다. 또한, 버퍼 메모리 장치(2220)는 비휘발성 메모리 장치들(2231~2232)로부터 읽혀진 데이터를 임시 저장할 수 있다. 버퍼 메모리 장치(2220)에 임시 저장된 데이터는 컨트롤러(2210)의 제어에 따라 호스트 장치(2100) 또는 비휘발성 메모리 장치들(2231~2232)로 전송될 수 있다.The buffer memory device 2220 may temporarily store data to be stored in the nonvolatile memory devices 2231 to 2232 . Also, the buffer memory device 2220 may temporarily store data read from the nonvolatile memory devices 2231 to 2232 . Data temporarily stored in the buffer memory device 2220 may be transmitted to the host device 2100 or the nonvolatile memory devices 2231 to 2232 under the control of the controller 2210 .

비휘발성 메모리 장치들(2231~2232)은 메모리 시스템(2200)의 저장 매체로 사용될 수 있다.The nonvolatile memory devices 2231 to 2232 may be used as storage media of the memory system 2200 .

PMIC(2240)는 접속 터미널(2250)을 통해 입력된 전원을 메모리 시스템(2200) 백그라운드에 제공할 수 있다. PMIC(2240)는, 컨트롤러(2210)의 제어에 따라서, 메모리 시스템(2200)의 전원을 관리할 수 있다.The PMIC 2240 may provide power input through the access terminal 2250 to the background of the memory system 2200 . The PMIC 2240 may manage power of the memory system 2200 according to the control of the controller 2210 .

접속 터미널(2250)은 호스트 장치의 접속 터미널(2110)에 연결될 수 있다. 접속 터미널(2250)을 통해서, 호스트 장치(2100)와 메모리 시스템(2200) 간에 커맨드, 어드레스, 데이터 등과 같은 신호와, 전원이 전달될 수 있다. 접속 터미널(2250)은 호스트 장치(2100)와 메모리 시스템(2200)의 인터페이스 방식에 따라 다양한 형태로 구성될 수 있다. 접속 터미널(2250)은 메모리 시스템(2200)의 어느 한 변에 배치될 수 있다.The access terminal 2250 may be connected to the access terminal 2110 of the host device. Signals such as commands, addresses, and data, and power may be transferred between the host device 2100 and the memory system 2200 through the connection terminal 2250 . The access terminal 2250 may be configured in various forms according to an interface method between the host device 2100 and the memory system 2200 . The connection terminal 2250 may be disposed on either side of the memory system 2200 .

도 8은 본 발명의 실시 예에 따른 메모리 시스템을 포함하는 데이터 처리 시스템을 예시적으로 도시하는 도면이다. 도 8을 참조하면, 데이터 처리 시스템(3000)은 호스트 장치(3100)와 메모리 시스템(3200)을 포함할 수 있다.8 is a diagram exemplarily illustrating a data processing system including a memory system according to an embodiment of the present invention. Referring to FIG. 8 , a data processing system 3000 may include a host device 3100 and a memory system 3200 .

호스트 장치(3100)는 인쇄 회로 기판(printed circuit board)과 같은 기판(board) 형태로 구성될 수 있다. 비록 도시되지 않았지만, 호스트 장치(3100)는 호스트 장치의 기능을 수행하기 위한 백그라운드 기능 블럭들을 포함할 수 있다.The host device 3100 may be configured in the form of a board such as a printed circuit board. Although not shown, the host device 3100 may include background function blocks for performing functions of the host device.

메모리 시스템(3200)은 표면 실장형 패키지 형태로 구성될 수 있다. 메모리 시스템(3200)은 솔더 볼(solder ball)(3250)을 통해서 호스트 장치(3100)에 마운트될 수 있다. 메모리 시스템(3200)은 컨트롤러(3210), 버퍼 메모리 장치(3220) 및 비휘발성 메모리 장치(3230)를 포함할 수 있다.The memory system 3200 may be configured in the form of a surface-mounted package. The memory system 3200 may be mounted on the host device 3100 through a solder ball 3250 . The memory system 3200 may include a controller 3210 , a buffer memory device 3220 and a nonvolatile memory device 3230 .

컨트롤러(3210)는 메모리 시스템(3200)의 제반 동작을 제어할 수 있다. 컨트롤러(3210)는 도 6에 도시된 컨트롤러(1210)와 동일하게 구성될 수 있다.The controller 3210 may control overall operations of the memory system 3200 . The controller 3210 may have the same configuration as the controller 1210 shown in FIG. 6 .

버퍼 메모리 장치(3220)는 비휘발성 메모리 장치(3230)에 저장될 데이터를 임시 저장할 수 있다. 또한, 버퍼 메모리 장치(3220)는 비휘발성 메모리 장치들(3230)로부터 읽혀진 데이터를 임시 저장할 수 있다. 버퍼 메모리 장치(3220)에 임시 저장된 데이터는 컨트롤러(3210)의 제어에 따라 호스트 장치(3100) 또는 비휘발성 메모리 장치(3230)로 전송될 수 있다.The buffer memory device 3220 may temporarily store data to be stored in the nonvolatile memory device 3230 . Also, the buffer memory device 3220 may temporarily store data read from the nonvolatile memory devices 3230 . Data temporarily stored in the buffer memory device 3220 may be transmitted to the host device 3100 or the nonvolatile memory device 3230 under the control of the controller 3210 .

비휘발성 메모리 장치(3230)는 메모리 시스템(3200)의 저장 매체로 사용될 수 있다.The nonvolatile memory device 3230 may be used as a storage medium of the memory system 3200 .

도 9는 본 발명의 실시 예에 따른 메모리 시스템을 포함하는 네트워크 시스템을 예시적으로 도시하는 도면이다. 도 9를 참조하면, 네트워크 시스템(4000)은 네트워크(4500)를 통해서 연결된 서버 시스템(4300) 및 복수의 클라이언트 시스템들(4410~4430)을 포함할 수 있다.9 is a diagram exemplarily illustrating a network system including a memory system according to an embodiment of the present invention. Referring to FIG. 9 , a network system 4000 may include a server system 4300 and a plurality of client systems 4410 to 4430 connected through a network 4500 .

서버 시스템(4300)은 복수의 클라이언트 시스템들(4410~4430)의 요청에 응답하여 데이터를 서비스할 수 있다. 예를 들면, 서버 시스템(4300)은 복수의 클라이언트 시스템들(4410~4430)로부터 제공된 데이터를 저장할 수 있다. 다른 예로서, 서버 시스템(4300)은 복수의 클라이언트 시스템들(4410~4430)로 데이터를 제공할 수 있다.The server system 4300 may provide data service in response to requests from the plurality of client systems 4410 to 4430 . For example, the server system 4300 may store data provided from a plurality of client systems 4410 to 4430 . As another example, the server system 4300 may provide data to a plurality of client systems 4410 to 4430.

서버 시스템(4300)은 호스트 장치(4100) 및 메모리 시스템(4200)을 포함할 수 있다. 메모리 시스템(4200)은 도 1의 메모리 시스템(100), 도 6의 SSD(1200), 도 7의 메모리 시스템(2200), 도 8의 메모리 시스템(3200)으로 구성될 수 있다.The server system 4300 may include a host device 4100 and a memory system 4200 . The memory system 4200 may include the memory system 100 of FIG. 1 , the SSD 1200 of FIG. 6 , the memory system 2200 of FIG. 7 , and the memory system 3200 of FIG. 8 .

도 10은 본 발명의 실시 예에 따른 메모리 시스템에 포함된 비휘발성 메모리 장치를 예시적으로 도시하는 블럭도이다. 도 10을 참조하면, 비휘발성 메모리 장치(300)는 메모리 셀 어레이(310), 행 디코더(320), 데이터 읽기/쓰기 블럭(330), 열 디코더(340), 전압 발생기(350) 및 제어 로직(360)을 포함할 수 있다.10 is a block diagram exemplarily illustrating a nonvolatile memory device included in a memory system according to an embodiment of the present invention. Referring to FIG. 10 , the nonvolatile memory device 300 includes a memory cell array 310, a row decoder 320, a data read/write block 330, a column decoder 340, a voltage generator 350, and a control logic. (360).

메모리 셀 어레이(310)는 워드 라인들(WL1~WLm)과 비트 라인들(BL1~BLn)이 서로 교차된 영역에 배열된 메모리 셀(MC)들을 포함할 수 있다.The memory cell array 310 may include memory cells MC arranged in an area where word lines WL1 to WLm and bit lines BL1 to BLn cross each other.

행 디코더(320)는 워드 라인들(WL1~WLm)을 통해서 메모리 셀 어레이(310)와 연결될 수 있다. 행 디코더(320)는 제어 로직(360)의 제어에 따라 동작할 수 있다. 행 디코더(320)는 외부 장치(도시되지 않음)로부터 제공된 어드레스를 디코딩할 수 있다. 행 디코더(320)는 디코딩 결과에 근거하여 워드 라인들(WL1~WLm)을 선택하고, 구동할 수 있다. 예시적으로, 행 디코더(320)는 전압 발생기(350)로부터 제공된 워드 라인 전압을 워드 라인들(WL1~WLm)에 제공할 수 있다.The row decoder 320 may be connected to the memory cell array 310 through word lines WL1 to WLm. The row decoder 320 may operate under the control of the control logic 360 . The row decoder 320 may decode an address provided from an external device (not shown). The row decoder 320 may select and drive word lines WL1 to WLm based on a decoding result. For example, the row decoder 320 may provide the word line voltage provided from the voltage generator 350 to the word lines WL1 to WLm.

데이터 읽기/쓰기 블럭(330)은 비트 라인들(BL1~BLn)을 통해서 메모리 셀 어레이(310)와 연결될 수 있다. 데이터 읽기/쓰기 블럭(330)은 비트 라인들(BL1~BLn) 각각에 대응하는 읽기/쓰기 회로들(RW1~RWn)을 포함할 수 있다. 데이터 읽기/쓰기 블럭(330)은 제어 로직(360)의 제어에 따라 동작할 수 있다. 데이터 읽기/쓰기 블럭(330)은 동작 모드에 따라서 쓰기 드라이버로서 또는 감지 증폭기로서 동작할 수 있다. 예를 들면, 데이터 읽기/쓰기 블럭(330)은 쓰기 동작 시 외부 장치로부터 제공된 데이터를 메모리 셀 어레이(310)에 저장하는 쓰기 드라이버로서 동작할 수 있다. 다른 예로서, 데이터 읽기/쓰기 블럭(330)은 읽기 동작 시 메모리 셀 어레이(310)로부터 데이터를 독출하는 감지 증폭기로서 동작할 수 있다.The data read/write block 330 may be connected to the memory cell array 310 through bit lines BL1 to BLn. The data read/write block 330 may include read/write circuits RW1 to RWn corresponding to each of the bit lines BL1 to BLn. The data read/write block 330 may operate under the control of the control logic 360 . The data read/write block 330 may operate as a write driver or a sense amplifier according to an operation mode. For example, the data read/write block 330 may operate as a write driver that stores data provided from an external device in the memory cell array 310 during a write operation. As another example, the data read/write block 330 may operate as a sense amplifier that reads data from the memory cell array 310 during a read operation.

열 디코더(340)는 제어 로직(360)의 제어에 따라 동작할 수 있다. 열 디코더(340)는 외부 장치로부터 제공된 어드레스를 디코딩할 수 있다. 열 디코더(340)는 디코딩 결과에 근거하여 비트 라인들(BL1~BLn) 각각에 대응하는 데이터 읽기/쓰기 블럭(330)의 읽기/쓰기 회로들(RW1~RWn)과 데이터 입출력 라인(또는 데이터 입출력 버퍼)을 연결할 수 있다.The column decoder 340 may operate under the control of the control logic 360 . The column decoder 340 may decode an address provided from an external device. The column decoder 340 connects the read/write circuits RW1 to RWn of the data read/write block 330 corresponding to each of the bit lines BL1 to BLn and data input/output lines (or data input/output lines) based on the decoding result. buffer) can be connected.

전압 발생기(350)는 비휘발성 메모리 장치(300)의 백그라운드 동작에 사용되는 전압을 생성할 수 있다. 전압 발생기(350)에 의해서 생성된 전압들은 메모리 셀 어레이(310)의 메모리 셀들에 인가될 수 있다. 예를 들면, 프로그램 동작 시 생성된 프로그램 전압은 프로그램 동작이 수행될 메모리 셀들의 워드 라인에 인가될 수 있다. 다른 예로서, 소거 동작 시 생성된 소거 전압은 소거 동작이 수행될 메모리 셀들의 웰-영역에 인가될 수 있다. 다른 예로서, 읽기 동작 시 생성된 읽기 전압은 읽기 동작이 수행될 메모리 셀들의 워드 라인에 인가될 수 있다.The voltage generator 350 may generate a voltage used for a background operation of the nonvolatile memory device 300 . Voltages generated by the voltage generator 350 may be applied to memory cells of the memory cell array 310 . For example, a program voltage generated during a program operation may be applied to word lines of memory cells on which a program operation is to be performed. As another example, an erase voltage generated during an erase operation may be applied to a well-region of memory cells in which an erase operation is to be performed. As another example, a read voltage generated during a read operation may be applied to word lines of memory cells on which a read operation is to be performed.

제어 로직(360)은 외부 장치로부터 제공된 제어 신호에 근거하여 비휘발성 메모리 장치(300)의 제반 동작을 제어할 수 있다. 예를 들면, 제어 로직(360)은 비휘발성 메모리 장치(300)의 읽기, 쓰기, 소거 동작을 제어할 수 있다.The control logic 360 may control overall operations of the nonvolatile memory device 300 based on a control signal provided from an external device. For example, the control logic 360 may control read, write, and erase operations of the nonvolatile memory device 300 .

본 발명이 속하는 기술분야의 통상의 기술자는 본 발명이 그 기술적 사상이나 필수적 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있으므로, 이상에서 기술한 실시 예들은 모든 면에서 예시적인 것이며 한정적인 것이 아닌 것으로서 이해해야만 한다. 본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 등가개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.Since the person skilled in the art to which the present invention pertains may be embodied in other specific forms without changing the technical spirit or essential characteristics of the present invention, the embodiments described above are illustrative in all respects and not limiting. must be understood as The scope of the present invention is indicated by the claims to be described later rather than the detailed description above, and all changes or modifications derived from the meaning and scope of the claims and their equivalent concepts should be construed as being included in the scope of the present invention. do.

100: 메모리 시스템
110: 컨트롤러
111: 메모리
112: 온도 증가량 예측부
113: 성능 조절부
114: 리오더링부
120: 비휘발성 메모리 장치
100: memory system
110: controller
111: memory
112: temperature increase prediction unit
113: performance control unit
114: reordering unit
120: non-volatile memory device

Claims (19)

호스트 장치로부터 전송된 동작 요청들이 큐잉된 요청 큐를 포함하는 메모리;
상기 동작 요청들에 각각 대응하는 온도 증가량들을 예측하도록 구성된 온도 증가량 예측부; 및
상기 온도 증가량들에 근거하여 상기 요청 큐에서 상기 동작 요청들을 재배열하기 위한 리오더링 동작을 수행하도록 구성된 리오더링부를 포함하는 메모리 시스템의 컨트롤러.
a memory including a request queue in which operation requests transmitted from the host device are queued;
a temperature increase amount prediction unit configured to predict temperature increase amounts respectively corresponding to the operation requests; and
and a reordering unit configured to perform a reordering operation for rearranging the operation requests in the request queue based on the temperature increase amounts.
제1항에 있어서,
상기 온도 증가량 예측부는 동작 요청이 처리됨에 따라 증가할 것으로 예상되는 상기 메모리 시스템의 온도를 상기 동작 요청에 대응하는 온도 증가량으로서 계산하는 메모리 시스템의 컨트롤러.
According to claim 1,
The temperature increase prediction unit calculates the temperature of the memory system, which is expected to increase as the operation request is processed, as a temperature increase corresponding to the operation request.
제1항에 있어서,
상기 온도 증가량 예측부는 동작 요청에 대응하는 소비 전력 정보 및 동작 요청 정보에 근거하여 상기 동작 요청에 대응하는 온도 증가량을 계산하고,
상기 소비 전력 정보는 상기 동작 요청에 대응하는 평균 소비 전력 및 피크 소비 전력 중 적어도 하나를 포함하고, 상기 동작 요청 정보는 상기 동작 요청에 대응하는 데이터 크기를 포함하는 메모리 시스템의 컨트롤러.
According to claim 1,
The temperature increase prediction unit calculates a temperature increase corresponding to the operation request based on power consumption information and operation request information corresponding to the operation request,
The power consumption information includes at least one of average power consumption and peak power consumption corresponding to the operation request, and the operation request information includes a data size corresponding to the operation request.
제1항에 있어서,
상기 리오더링부는 상기 동작 요청들 중 가장 작은 온도 증가량을 가진 동작 요청을 가장 앞선 순서로 재배열함으로써 상기 리오더링 동작을 수행하는 메모리 시스템의 컨트롤러.
According to claim 1,
The reordering unit performs the reordering operation by rearranging an operation request having a smallest temperature increase among the operation requests in an earlier order.
제1항에 있어서,
상기 리오더링부는 온도 증가량이 작은 순서대로 상기 동작 요청들을 재배열함으로써 상기 리오더링 동작을 수행하는 메모리 시스템의 컨트롤러.
According to claim 1,
The controller of the memory system, wherein the reordering unit performs the reordering operation by rearranging the operation requests in an order of a small temperature increase.
제1항에 있어서,
상기 리오더링부는 온도 증가량이 동일한 랜덤 요청 및 시퀀셜 요청에 대해 랜덤 요청을 시퀀셜 요청보다 앞선 순서로 재배열함으로써 리오더링 동작을 수행하는 메모리 시스템의 컨트롤러.
According to claim 1,
The reordering unit performs a reordering operation by rearranging the random requests in an order prior to the sequential requests for random requests and sequential requests having the same temperature increment.
제1항에 있어서,
상기 리오더링부는 상기 메모리 시스템의 온도가 리오더링 트리거 온도를 초과할 때, 상기 리오더링 동작을 수행하는 메모리 시스템의 컨트롤러.
According to claim 1,
wherein the reordering unit performs the reordering operation when the temperature of the memory system exceeds a reordering trigger temperature.
제7항에 있어서,
상기 메모리 시스템의 상기 온도를 하나 이상의 성능 조절 트리거 온도들과 비교하여 상기 메모리 시스템의 성능을 조절하기 위한 성능 조절 동작을 수행하도록 구성된 성능 조절부를 더 포함하는 메모리 시스템의 컨트롤러.
According to claim 7,
The controller of the memory system further comprising a performance control unit configured to compare the temperature of the memory system with one or more performance control trigger temperatures and perform a performance control operation for adjusting the performance of the memory system.
제8항에 있어서,
상기 리오더링 트리거 온도는 상기 하나 이상의 성능 조절 트리거 온도들 중 가장 낮은 제1 성능 조절 트리거 온도인 메모리 시스템의 컨트롤러.
According to claim 8,
The reordering trigger temperature is a first performance control trigger temperature that is the lowest among the one or more performance control trigger temperatures.
호스트 장치로부터 전송된 동작 요청들에 각각 대응하는 온도 증가량들을 예측하는 단계; 및
상기 온도 증가량들에 근거하여 상기 동작 요청들이 큐잉된 요청 큐에서 상기 동작 요청들을 재배열하기 위한 리오더링 동작을 수행하는 단계를 포함하는 메모리 시스템의 컨트롤러의 동작 방법.
estimating temperature increments respectively corresponding to the operation requests transmitted from the host device; and
and performing a reordering operation for rearranging the operation requests in a request queue in which the operation requests are queued based on the temperature increments.
제10항에 있어서,
상기 온도 증가량들을 예측하는 단계는, 동작 요청이 처리됨에 따라 증가할 것으로 예상되는 상기 메모리 시스템의 온도를 상기 동작 요청에 대응하는 온도 증가량으로서 계산하는 단계를 포함하는 메모리 시스템의 컨트롤러의 동작 방법.
According to claim 10,
The estimating of the temperature increments may include calculating a temperature of the memory system, which is expected to increase as the operation request is processed, as a temperature increase corresponding to the operation request.
제10항에 있어서,
상기 온도 증가량들을 예측하는 단계는, 동작 요청에 대응하는 소비 전력 정보 및 동작 요청 정보에 근거하여 상기 동작 요청에 대응하는 온도 증가량을 계산하는 단계를 포함하고,
상기 소비 전력 정보는 상기 동작 요청에 대응하는 평균 소비 전력 및 피크 소비 전력 중 적어도 하나를 포함하고, 상기 동작 요청 정보는 상기 동작 요청에 대응하는 데이터 크기를 포함하는 메모리 시스템의 컨트롤러의 동작 방법.
According to claim 10,
The step of estimating the temperature increments includes calculating a temperature increase amount corresponding to the operation request based on power consumption information and operation request information corresponding to the operation request;
The power consumption information includes at least one of average power consumption and peak power consumption corresponding to the operation request, and the operation request information includes a data size corresponding to the operation request.
제10항에 있어서,
상기 리오더링 동작을 수행하는 단계는, 상기 동작 요청들 중 가장 작은 온도 증가량을 가진 동작 요청을 가장 앞선 순서로 재배열하는 단계를 포함하는 메모리 시스템의 컨트롤러의 동작 방법.
According to claim 10,
The performing of the reordering operation may include rearranging an operation request having a smallest temperature increase among the operation requests in an earlier order.
제10항에 있어서,
상기 리오더링 동작을 수행하는 단계는, 온도 증가량이 작은 순서대로 상기 동작 요청들을 재배열하는 단계를 포함하는 메모리 시스템의 컨트롤러의 동작 방법.
According to claim 10,
The performing of the reordering operation may include rearranging the operation requests in an order of a small temperature increase.
제10항에 있어서,
상기 리오더링 동작을 수행하는 단계는, 온도 증가량이 동일한 랜덤 요청 및 시퀀셜 요청에 대해 랜덤 요청을 시퀀셜 요청보다 앞선 순서로 재배열하는 단계를 포함하는 메모리 시스템의 컨트롤러의 동작 방법.
According to claim 10,
The performing of the reordering operation may include rearranging the random requests in an order prior to the sequential requests with respect to random requests and sequential requests having the same temperature increase amount.
제10항에 있어서,
상기 리오더링 동작을 수행하는 단계는, 상기 메모리 시스템의 온도가 리오더링 트리거 온도를 초과할 때 상기 리오더링 동작을 수행하는 단계를 포함하는 메모리 시스템의 컨트롤러의 동작 방법.
According to claim 10,
The performing of the reordering operation may include performing the reordering operation when a temperature of the memory system exceeds a reordering trigger temperature.
제16항에 있어서,
상기 메모리 시스템의 상기 온도를 하나 이상의 성능 조절 트리거 온도들과 비교하여 상기 메모리 시스템의 성능을 조절하기 위한 성능 조절 동작을 수행하는 단계를 더 포함하는 메모리 시스템의 컨트롤러의 동작 방법.
According to claim 16,
and comparing the temperature of the memory system with one or more performance control trigger temperatures to perform a performance control operation for adjusting performance of the memory system.
제17항에 있어서,
상기 리오더링 트리거 온도는 상기 하나 이상의 성능 조절 트리거 온도들 중 가장 낮은 제1 성능 조절 트리거 온도인 메모리 시스템의 컨트롤러의 동작 방법.
According to claim 17,
The reordering trigger temperature is a first performance control trigger temperature that is the lowest among the one or more performance control trigger temperatures.
호스트 장치로부터 전송된 동작 요청들이 큐잉된 요청 큐를 포함하는 메모리;
상기 동작 요청들에 각각 대응하는 온도 증가량들을 예측하도록 구성된 온도 증가량 예측부;
메모리 시스템의 온도가 리오더링 트리거 온도를 초과할 때, 상기 메모리 시스템의 상기 온도의 증가가 지연되도록 상기 온도 증가량들에 근거하여 상기 요청 큐에서 상기 동작 요청들을 재배열하도록 구성된 리오더링부; 및
상기 메모리 시스템의 상기 온도를 하나 이상의 성능 조절 트리거 온도들과 비교하여 상기 메모리 시스템의 성능 모드를 변경하도록 구성된 성능 조절부를 포함하는 메모리 시스템의 컨트롤러.
a memory including a request queue in which operation requests transmitted from the host device are queued;
a temperature increase amount prediction unit configured to predict temperature increase amounts respectively corresponding to the operation requests;
a reordering unit configured to rearrange the operation requests in the request queue based on the temperature increase amounts to delay an increase in the temperature of the memory system when a temperature of the memory system exceeds a reordering trigger temperature; and
and a performance control unit configured to change a performance mode of the memory system by comparing the temperature of the memory system with one or more performance control trigger temperatures.
KR1020210143459A 2021-10-26 2021-10-26 Controller of memory system and operating method thereof KR20230059366A (en)

Priority Applications (5)

Application Number Priority Date Filing Date Title
KR1020210143459A KR20230059366A (en) 2021-10-26 2021-10-26 Controller of memory system and operating method thereof
US17/898,997 US12014054B2 (en) 2021-10-26 2022-08-30 Memory system and operating method thereof for performing re-ordering operation based on temperature increment
TW111138000A TW202318192A (en) 2021-10-26 2022-10-06 Controller of memory system and operating method thereof
CN202211225939.9A CN116027966A (en) 2021-10-26 2022-10-09 Controller of memory system and operation method thereof
DE102022211161.3A DE102022211161A1 (en) 2021-10-26 2022-10-21 CONTROLLERS OF A STORAGE SYSTEM AND METHODS OF OPERATION THEREOF

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210143459A KR20230059366A (en) 2021-10-26 2021-10-26 Controller of memory system and operating method thereof

Publications (1)

Publication Number Publication Date
KR20230059366A true KR20230059366A (en) 2023-05-03

Family

ID=85796229

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210143459A KR20230059366A (en) 2021-10-26 2021-10-26 Controller of memory system and operating method thereof

Country Status (5)

Country Link
US (1) US12014054B2 (en)
KR (1) KR20230059366A (en)
CN (1) CN116027966A (en)
DE (1) DE102022211161A1 (en)
TW (1) TW202318192A (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20230152989A1 (en) * 2021-11-15 2023-05-18 Samsung Electronics Co., Ltd. Memory controller adjusting power, memory system including same, and operating method for memory system
US11972148B2 (en) * 2022-06-14 2024-04-30 Western Digital Technologies, Inc. Proactive storage operation management using thermal states

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4197672B2 (en) 2004-09-30 2008-12-17 株式会社東芝 Multiprocessor computer and program
US9959936B1 (en) * 2014-03-12 2018-05-01 Marvell International Ltd. Temperature-based memory access
TWI595492B (en) * 2016-03-02 2017-08-11 群聯電子股份有限公司 Data transmitting method, memory control circuit unit and memory storage device
US9734885B1 (en) * 2016-10-12 2017-08-15 International Business Machines Corporation Thermal-aware memory
US10216660B1 (en) * 2017-07-13 2019-02-26 EMC IP Holding Company LLC Method and system for input/output (IO) scheduling in a storage system
US11029859B2 (en) * 2017-08-23 2021-06-08 Toshiba Memory Corporation Credit based command scheduling
US11169583B2 (en) * 2018-08-07 2021-11-09 Western Digital Technologies, Inc. Methods and apparatus for mitigating temperature increases in a solid state device (SSD)
US11709625B2 (en) * 2020-02-14 2023-07-25 Micron Technology, Inc. Optimization of power usage of data storage devices
KR102338998B1 (en) 2020-05-20 2021-12-14 주식회사 소테리아 System and method for checking log integrity and proving forgery and alteration activity of log through the same
JP2022049531A (en) * 2020-09-16 2022-03-29 キオクシア株式会社 Memory system

Also Published As

Publication number Publication date
CN116027966A (en) 2023-04-28
US20230127204A1 (en) 2023-04-27
US12014054B2 (en) 2024-06-18
DE102022211161A1 (en) 2023-04-27
TW202318192A (en) 2023-05-01

Similar Documents

Publication Publication Date Title
US11455123B2 (en) Data storage apparatus for thermal throttling and operation method thereof
US10838653B2 (en) Electronic device and operating method thereof
US12014054B2 (en) Memory system and operating method thereof for performing re-ordering operation based on temperature increment
KR20180092435A (en) Data storage device and operating method thereof
US10698830B2 (en) Obtaining data in a nonvolatile memory device through the use of descriptors
US10754552B2 (en) Data storage device and operating method thereof
KR20190076296A (en) Memory system and operating method thereof
KR20200054534A (en) Memory system and operating method thereof
US20210141554A1 (en) Memory system
US10838766B2 (en) Memory system and operating method thereof
US10929055B2 (en) Memory system and operating method thereof
KR102655360B1 (en) Controller, data storage device and operating method thereof
US10628067B2 (en) Memory system and operating method thereof
KR102545229B1 (en) Memory system and operating method thereof
KR102672193B1 (en) Electronic device
KR102668125B1 (en) Memory system and operating method thereof
US20220156184A1 (en) Memory system
US10628322B2 (en) Memory system and operating method thereof
US20210223956A1 (en) Memory system and data processing system including the same