KR20230059366A - Controller of memory system and operating method thereof - Google Patents
Controller of memory system and operating method thereof Download PDFInfo
- 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
Links
- 238000011017 operating method Methods 0.000 title description 10
- 230000008859 change Effects 0.000 claims description 2
- 230000004044 response Effects 0.000 abstract description 10
- 230000003111 delayed effect Effects 0.000 abstract description 2
- 238000012545 processing Methods 0.000 description 22
- 239000000872 buffer Substances 0.000 description 18
- 238000010586 diagram Methods 0.000 description 18
- 238000000034 method Methods 0.000 description 8
- 238000012937 correction Methods 0.000 description 5
- 230000007423 decrease Effects 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 239000007787 solid Substances 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 239000003990 capacitor Substances 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000001276 controlling effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000008707 rearrangement Effects 0.000 description 1
- 230000001105 regulatory effect Effects 0.000 description 1
- 229910000679 solder Inorganic materials 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
- G06F3/0634—Configuration or reconfiguration of storage systems by changing the state or mode of one or more devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
- G06F3/0616—Improving the reliability of storage systems in relation to life time, e.g. increasing Mean Time Between Failures [MTBF]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0625—Power saving in storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0653—Monitoring storage devices or systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0658—Controller construction arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy 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
Description
본 발명은 메모리 시스템에 관한 것으로, 더욱 상세하게는 비휘발성 메모리 장치를 포함하는 메모리 시스템에 관한 것이다.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
메모리 시스템(100)은 외부의 호스트 장치의 라이트 요청에 응답하여, 호스트 장치로부터 제공된 데이터를 저장하도록 구성될 수 있다. 또한, 메모리 시스템(100)은 호스트 장치의 리드 요청에 응답하여, 저장된 데이터를 호스트 장치로 제공하도록 구성될 수 있다.The
메모리 시스템(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
메모리 시스템(100)은 컨트롤러(110) 및 비휘발성 메모리 장치(120)를 포함할 수 있다.The
컨트롤러(110)는 메모리 시스템(100)의 제반 동작을 제어할 수 있다. 컨트롤러(110)는 호스트 장치의 지시에 따라 포그라운드 동작을 수행하기 위해 비휘발성 메모리 장치(120)를 제어할 수 있다. 포그라운드 동작은 호스트 장치의 지시, 즉, 라이트 요청 및 리드 요청에 따라 비휘발성 메모리 장치(120)에 데이터를 라이트하고 비휘발성 메모리 장치(120)로부터 데이터를 리드하는 동작을 포함할 수 있다.The
또한, 컨트롤러(110)는 호스트 장치와 독립적으로 내부적으로 필요한 백그라운드 동작을 수행하기 위해서 비휘발성 메모리 장치(120)를 제어할 수 있다. 백그라운드 동작은 비휘발성 메모리 장치(120)에 대한 웨어 레벨링 동작, 가비지 컬렉션 동작, 소거 동작, 리드 리클레임 동작, 및 리프레시 동작 중 적어도 하나를 포함할 수 있다. 백그라운드 동작은 포그라운드 동작처럼 비휘발성 메모리 장치(120)에 데이터를 라이트하고 비휘발성 메모리 장치(120)로부터 데이터를 리드하는 동작을 포함할 수 있다.Also, the
컨트롤러(110)는 메모리(111), 온도 증가량 예측부(112), 성능 조절부(113), 및 리오더링부(114)를 포함할 수 있다. The
메모리(111)는 컨트롤러(110)의 동작 메모리, 버퍼 메모리 또는 캐시 메모리 등의 기능을 수행할 수 있다. 메모리(111)는 동작 메모리로서 컨트롤러(110)에 의해 구동되는 소프트웨어 프로그램 및 각종 프로그램 데이터를 저장할 수 있다. 메모리(111)는 버퍼 메모리로서 호스트 장치 및 비휘발성 메모리 장치(120) 간에 전송되는 데이터를 버퍼링할 수 있다. 메모리(111)는 캐시 메모리로서 캐시 데이터를 임시 저장할 수 있다. 메모리(111)는 요청 큐(RQQ)를 포함할 수 있다. 요청 큐(RQQ)는 호스트 장치로부터 전송된 동작 요청들을 포함할 수 있다. 동작 요청들은 호스트 장치로부터 전송된 순서대로 요청 큐(RQQ)에 큐잉될 수 있다. 다만, 후술할 바와 같이 리오더링부(114)의 리오더링 동작에 의해 요청 큐(RQQ)에 큐잉된 동작 요청들은 재배열될 수 있다.The
온도 증가량 예측부(112)는 요청 큐(RQQ)에 큐잉된 동작 요청들에 각각 대응하는 온도 증가량들을 예측할 수 있다. 동작 요청에 대응하는 온도 증가량은 동작 요청이 처리됨에 따라 증가할 것으로 예상되는 메모리 시스템(100)의 온도일 수 있다. 실시 예에 따라, 온도 증가량 예측부(112)는 호스트 장치로부터 동작 요청을 수신할 때마다 해당 동작 요청에 대응하는 온도 증가량을 예측, 즉, 계산할 수 있다. 실시 예에 따라, 온도 증가량 예측부(112)는 후술될 바와 같이 리오더링부(114)가 리오더링 동작을 수행할 것으로 결정할 때 요청 큐(RQQ)에 큐잉된 동작 요청들에 각각 대응하는 온도 증가량들을 계산할 수 있다.The temperature increase
성능 조절부(113)는 메모리 시스템(100)의 온도를 하나 이상의 성능 조절 트리거 온도들과 비교하여 메모리 시스템(100)의 성능을 조절하기 위한 성능 조절 동작을 수행할 수 있다. 성능 조절부(113)는 복수의 성능 모드들 중 하나를 선택하고, 메모리 시스템(100)이 선택된 성능 모드에서 동작하도록 제어함으로써 성능 조절 동작을 수행할 수 있다. 메모리 시스템(100)의 온도는 메모리 시스템(100)의 내부에 위치한 온도 센서(미도시됨)에 의해 측정될 수 있다.The
리오더링부(114)는 온도 증가량 예측부(112)에 의해 예측된 동작 요청들의 온도 증가량들에 근거하여 요청 큐(RQQ)에 큐잉된 동작 요청들을 재배열하기 위한 리오더링 동작을 수행할 수 있다. 리오더링부(114)는 요청 큐(RQQ)에 큐잉된 동작 요청들 중 가장 작은 온도 증가량을 가진 동작 요청을 가장 앞선 순서로 재배열함으로써 리오더링 동작을 수행할 수 있다. 리오더링부(114)는 요청 큐(RQQ)에 큐잉된 동작 요청들을 온도 증가량이 작은 순서대로 재배열함으로써 리오더링 동작을 수행할 수 있다. 리오더링부(114)는 사용자가 응답 지연을 더 쉽게 체감할 수 있는 랜덤 요청(즉, 랜덤 리드 요청 및/또는 랜덤 라이트 요청)을 시퀀셜 요청(즉, 시퀀셜 리드 요청 및/또는 시퀀셜 라이트 요청)보다 앞선 순서로 재배열함으로써 리오더링 동작을 수행할 수 있다. 리오더링부(114)는 온도 증가량이 동일한 랜덤 요청 및 시퀀셜 요청에 대해, 랜덤 요청을 시퀀셜 요청보다 앞선 순서로 재배열함으로써 리오더링 동작을 수행할 수 있다. 리오더링부(114)는 메모리 시스템(100)의 온도가 보다 천천히 증가하도록 리오더링 동작을 수행할 수 있다. 리오더링부(114)는 더 낮은 성능 모드로 변경하기 위한 성능 조절 동작이 수행되기 전까지 동작 요청들이 더 많이 처리되도록 리오더링 동작을 수행할 수 있다.The
실시 예에 따라, 리오더링부(114)는 미리 설정된 리오더링 트리거 조건이 만족할 때, 리오더링 동작을 수행할 수 있다. 리오더링 트리거 조건은 메모리 시스템(100)의 온도가 리오더링 트리거 온도를 초과하는 것을 포함할 수 있다. 리오더링부(114)는 리오더링 트리거 조건이 만족하는 동안, 호스트 장치로부터 새로운 동작 요청을 수신할 때마다 리오더링 동작을 다시 수행할 수 있다.Depending on the embodiment, the
실시 예에 따라, 리오더링 트리거 온도는 성능 조절 동작에서 참조되는 성능 조절 트리거 온도들 중 가장 낮은 온도인 제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
비휘발성 메모리 장치(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
비휘발성 메모리 장치(120)는 하나 이상의 플래인(Plane)들, 하나 이상의 메모리 칩들, 하나 이상의 메모리 다이들, 또는 하나 이상의 메모리 패키지들을 포함할 수 있다.The
도2는 본 발명의 실시 예에 따라 도1의 온도 증가량 예측부(112)의 동작 방법을 설명하기 위한 도면이다.FIG. 2 is a diagram for explaining an operating method of the temperature
도2를 참조하면, 온도 증가량 예측부(112)는 호스트 장치로로부터 전송된 동작 요청에 대해, 동작 요청에 대응하는 소비 전력 정보 및 동작 요청 정보에 근거하여 온도 증가량을 계산할 수 있다. Referring to FIG. 2 , the temperature
온도 증가량 예측부(112)는 소비 전력 정보 테이블(PIT)을 참조하여 동작 요청에 대응하는 소비 전력 정보를 구할 수 있다. 소비 전력 정보 테이블(PIT)은 각 동작 종류에 대응하는 소비 전력을 포함할 수 있다. 예를 들어, 동작 종류는 시퀀셜 리드 동작, 시퀀셜 라이트 동작, 랜덤 리드 동작, 및 랜덤 라이트 동작을 포함할 수 있다. 각 동작 종류에 대응하는 소비 전력은 각 동작의 처리 단위(예를 들어, 소정 데이터 크기)를 처리하는데 소비되는 평균 소비 전력 및/또는 피크 소비 전력을 포함할 수 있다. 소비 전력 정보 테이블(PIT)은 메모리(111) 및/또는 비휘발성 메모리 장치(120)에 유지될 수 있다. 소비 전력 정보 테이블(PIT)은 테스트를 통해 미리 결정될 수 있다.The temperature
동작 요청 정보는 해당 동작 요청을 통해 처리될 데이터 크기를 포함할 수 있다.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
도3은 본 발명의 실시 예에 따라 도1의 성능 조절부(113)의 동작 방법을 설명하기 위한 도면이다.3 is a diagram for explaining an operating method of the
도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
구체적으로, 메모리 시스템(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
성능 조절부(113)는 메모리 시스템(100)의 성능을 조절하기 위해서, 동작 주파수 및 허용 리소스 개수 등을 제어할 수 있다. 예를 들어, 동작 주파수 및/또는 허용 리소스 개수가 작을수록 메모리 시스템(100)은 더 낮은 성능으로 동작할 수 있다. The
실시 예에 따라, 성능 모드들 및 성능 조절 트리거 온도들의 개수는 도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
케이스(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
온도 증가량 예측부(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
만일 리오더링부(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
이어서 케이스(42)를 쉽게 설명하기 위해서, 메모리 시스템(100)의 온도는 동작 요청의 처리율에 비례하여 증가한다고 가정할 수 있다. 예를 들어, 동작 요청이 50% 처리되었을 때, 메모리 시스템(100)의 온도는 해당 동작 요청에 대응하는 총 온도 증가량의 50%만큼 증가할 수 있다.Next, to easily explain the
이제 리오더링부(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
리오더링 동작이 수행된 뒤 랜덤 리드 요청(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
케이스들(41, 42)을 비교하면, 리오더링 동작을 통해 메모리 시스템의 온도 증가가 지연될 수 있다. 다시 말해, 더 낮은 성능 모드로 변경되기 전에 리오더링 동작을 통해 동작 요청들이 더 많이 처리될 수 있다. 또한, 리오더링 동작의 수행 결과 요청 큐(RQQ)에 큐잉된 동작 요청들의 총 수행 시간이 단축되고 호스트 장치에 대한 응답 성능이 개선될 수 있다.Comparing the
도5는 본 발명의 실시 예에 따라 컨트롤러(110)의 동작 방법을 설명하기 위한 순서도이다.5 is a flowchart illustrating an operating method of the
도5를 참조하면, 단계(S110)에서, 온도 증가량 예측부(112)는 호스트 장치로부터 전송된 동작 요청들에 대응하는 온도 증가량들을 예측할 수 있다. 동작 요청에 대응하는 온도 증가량은 동작 요청이 처리됨에 따라 증가할 것으로 예상되는 메모리 시스템(100)의 온도일 수 있다.Referring to FIG. 5 , in step S110, the temperature
단계(S120)에서, 리오더링부(114)는 온도 증가량 예측부(112)에 의해 예측된 온도 증가량들에 근거하여 요청 큐(RQQ)에서 동작 요청들을 재배열하기 위한 리오더링 동작을 수행할 수 있다. 실시 예에 따라, 리오더링부(114)는 리오더링 트리거 조건이 만족할 때 리오더링 동작을 수행할 수 있다.In step S120, the
도 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
SSD(1200)는 컨트롤러(1210), 버퍼 메모리 장치(1220), 비휘발성 메모리 장치들(1231~123n), 전원 공급기(1240), 신호 커넥터(1250) 및 전원 커넥터(1260)를 포함할 수 있다.The
컨트롤러(1210)는 SSD(1200)의 제반 동작을 제어할 수 있다. 컨트롤러(1210)는 호스트 인터페이스 유닛(1211), 컨트롤 유닛(1212), 랜덤 액세스 메모리(1213), 에러 정정 코드(ECC) 유닛(1214) 및 메모리 인터페이스 유닛(1215)을 포함할 수 있다.The
호스트 인터페이스 유닛(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
컨트롤 유닛(1212)은 호스트 장치(1100)로부터 입력된 신호(SGL)를 분석하고 처리할 수 있다. 컨트롤 유닛(1212)은 SSD(1200)를 구동하기 위한 펌웨어 또는 소프트웨어에 따라서 백그라운드 기능 블럭들의 동작을 제어할 수 있다. 랜덤 액세스 메모리(1213)는 이러한 펌웨어 또는 소프트웨어를 구동하기 위한 동작 메모리로서 사용될 수 있다. 컨트롤 유닛(1212)은 도1의 온도 증가량 예측부(112), 성능 조절부(113), 및 리오더링부(114)를 포함할 수 있다.The
에러 정정 코드(ECC) 유닛(1214)은 비휘발성 메모리 장치들(1231~123n)로 전송될 데이터의 패리티 데이터를 생성할 수 있다. 생성된 패리티 데이터는 데이터와 함께 비휘발성 메모리 장치들(1231~123n)에 저장될 수 있다. 에러 정정 코드(ECC) 유닛(1214)은 패리티 데이터에 근거하여 비휘발성 메모리 장치들(1231~123n)로부터 독출된 데이터의 에러를 검출할 수 있다. 만약, 검출된 에러가 정정 범위 내이면, 에러 정정 코드(ECC) 유닛(1214)은 검출된 에러를 정정할 수 있다.The error correction code (ECC)
메모리 인터페이스 유닛(1215)은, 컨트롤 유닛(1212)의 제어에 따라서, 비휘발성 메모리 장치들(1231~123n)에 커맨드 및 어드레스와 같은 제어 신호를 제공할 수 있다. 그리고 메모리 인터페이스 유닛(1215)은, 컨트롤 유닛(1212)의 제어에 따라서, 비휘발성 메모리 장치들(1231~123n)과 데이터를 주고받을 수 있다. 예를 들면, 메모리 인터페이스 유닛(1215)은 버퍼 메모리 장치(1220)에 저장된 데이터를 비휘발성 메모리 장치들(1231~123n)로 제공하거나, 비휘발성 메모리 장치들(1231~123n)로부터 읽혀진 데이터를 버퍼 메모리 장치(1220)로 제공할 수 있다.The
버퍼 메모리 장치(1220)는 비휘발성 메모리 장치들(1231~123n)에 저장될 데이터를 임시 저장할 수 있다. 또한, 버퍼 메모리 장치(1220)는 비휘발성 메모리 장치들(1231~123n)로부터 읽혀진 데이터를 임시 저장할 수 있다. 버퍼 메모리 장치(1220)에 임시 저장된 데이터는 컨트롤러(1210)의 제어에 따라 호스트 장치(1100) 또는 비휘발성 메모리 장치들(1231~123n)로 전송될 수 있다.The
비휘발성 메모리 장치들(1231~123n)은 SSD(1200)의 저장 매체로 사용될 수 있다. 비휘발성 메모리 장치들(1231~123n) 각각은 복수의 채널들(CH1~CHn)을 통해 컨트롤러(1210)와 연결될 수 있다. 하나의 채널에는 하나 또는 그 이상의 비휘발성 메모리 장치가 연결될 수 있다. 하나의 채널에 연결되는 비휘발성 메모리 장치들은 동일한 신호 버스 및 데이터 버스에 연결될 수 있다.The
전원 공급기(1240)는 전원 커넥터(1260)를 통해 입력된 전원(PWR)을 SSD(1200) 백그라운드에 제공할 수 있다. 전원 공급기(1240)는 보조 전원 공급기(1241)를 포함할 수 있다. 보조 전원 공급기(1241)는 서든 파워 오프(sudden power off)가 발생되는 경우, SSD(1200)가 정상적으로 종료될 수 있도록 전원을 공급할 수 있다. 보조 전원 공급기(1241)는 대용량 캐패시터들(capacitors)을 포함할 수 있다.The
신호 커넥터(1250)는 호스트 장치(1100)와 SSD(1200)의 인터페이스 방식에 따라서 다양한 형태의 커넥터로 구성될 수 있다.The
전원 커넥터(1260)는 호스트 장치(1100)의 전원 공급 방식에 따라서 다양한 형태의 커넥터로 구성될 수 있다.The
도 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
호스트 장치(2100)는 인쇄 회로 기판(printed circuit board)과 같은 기판(board) 형태로 구성될 수 있다. 비록 도시되지 않았지만, 호스트 장치(2100)는 호스트 장치의 기능을 수행하기 위한 백그라운드 기능 블럭들을 포함할 수 있다.The
호스트 장치(2100)는 소켓(socket), 슬롯(slot) 또는 커넥터(connector)와 같은 접속 터미널(2110)을 포함할 수 있다. 메모리 시스템(2200)은 접속 터미널(2110)에 마운트(mount)될 수 있다.The
메모리 시스템(2200)은 인쇄 회로 기판과 같은 기판 형태로 구성될 수 있다. 메모리 시스템(2200)은 메모리 모듈 또는 메모리 카드로 불릴 수 있다. 메모리 시스템(2200)은 컨트롤러(2210), 버퍼 메모리 장치(2220), 비휘발성 메모리 장치(2231~2232), PMIC(power management integrated circuit)(2240) 및 접속 터미널(2250)을 포함할 수 있다.The
컨트롤러(2210)는 메모리 시스템(2200)의 제반 동작을 제어할 수 있다. 컨트롤러(2210)는 도 6에 도시된 컨트롤러(1210)와 동일하게 구성될 수 있다.The
버퍼 메모리 장치(2220)는 비휘발성 메모리 장치들(2231~2232)에 저장될 데이터를 임시 저장할 수 있다. 또한, 버퍼 메모리 장치(2220)는 비휘발성 메모리 장치들(2231~2232)로부터 읽혀진 데이터를 임시 저장할 수 있다. 버퍼 메모리 장치(2220)에 임시 저장된 데이터는 컨트롤러(2210)의 제어에 따라 호스트 장치(2100) 또는 비휘발성 메모리 장치들(2231~2232)로 전송될 수 있다.The
비휘발성 메모리 장치들(2231~2232)은 메모리 시스템(2200)의 저장 매체로 사용될 수 있다.The
PMIC(2240)는 접속 터미널(2250)을 통해 입력된 전원을 메모리 시스템(2200) 백그라운드에 제공할 수 있다. PMIC(2240)는, 컨트롤러(2210)의 제어에 따라서, 메모리 시스템(2200)의 전원을 관리할 수 있다.The
접속 터미널(2250)은 호스트 장치의 접속 터미널(2110)에 연결될 수 있다. 접속 터미널(2250)을 통해서, 호스트 장치(2100)와 메모리 시스템(2200) 간에 커맨드, 어드레스, 데이터 등과 같은 신호와, 전원이 전달될 수 있다. 접속 터미널(2250)은 호스트 장치(2100)와 메모리 시스템(2200)의 인터페이스 방식에 따라 다양한 형태로 구성될 수 있다. 접속 터미널(2250)은 메모리 시스템(2200)의 어느 한 변에 배치될 수 있다.The
도 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
호스트 장치(3100)는 인쇄 회로 기판(printed circuit board)과 같은 기판(board) 형태로 구성될 수 있다. 비록 도시되지 않았지만, 호스트 장치(3100)는 호스트 장치의 기능을 수행하기 위한 백그라운드 기능 블럭들을 포함할 수 있다.The
메모리 시스템(3200)은 표면 실장형 패키지 형태로 구성될 수 있다. 메모리 시스템(3200)은 솔더 볼(solder ball)(3250)을 통해서 호스트 장치(3100)에 마운트될 수 있다. 메모리 시스템(3200)은 컨트롤러(3210), 버퍼 메모리 장치(3220) 및 비휘발성 메모리 장치(3230)를 포함할 수 있다.The
컨트롤러(3210)는 메모리 시스템(3200)의 제반 동작을 제어할 수 있다. 컨트롤러(3210)는 도 6에 도시된 컨트롤러(1210)와 동일하게 구성될 수 있다.The
버퍼 메모리 장치(3220)는 비휘발성 메모리 장치(3230)에 저장될 데이터를 임시 저장할 수 있다. 또한, 버퍼 메모리 장치(3220)는 비휘발성 메모리 장치들(3230)로부터 읽혀진 데이터를 임시 저장할 수 있다. 버퍼 메모리 장치(3220)에 임시 저장된 데이터는 컨트롤러(3210)의 제어에 따라 호스트 장치(3100) 또는 비휘발성 메모리 장치(3230)로 전송될 수 있다.The
비휘발성 메모리 장치(3230)는 메모리 시스템(3200)의 저장 매체로 사용될 수 있다.The
도 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
서버 시스템(4300)은 복수의 클라이언트 시스템들(4410~4430)의 요청에 응답하여 데이터를 서비스할 수 있다. 예를 들면, 서버 시스템(4300)은 복수의 클라이언트 시스템들(4410~4430)로부터 제공된 데이터를 저장할 수 있다. 다른 예로서, 서버 시스템(4300)은 복수의 클라이언트 시스템들(4410~4430)로 데이터를 제공할 수 있다.The
서버 시스템(4300)은 호스트 장치(4100) 및 메모리 시스템(4200)을 포함할 수 있다. 메모리 시스템(4200)은 도 1의 메모리 시스템(100), 도 6의 SSD(1200), 도 7의 메모리 시스템(2200), 도 8의 메모리 시스템(3200)으로 구성될 수 있다.The
도 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
메모리 셀 어레이(310)는 워드 라인들(WL1~WLm)과 비트 라인들(BL1~BLn)이 서로 교차된 영역에 배열된 메모리 셀(MC)들을 포함할 수 있다.The
행 디코더(320)는 워드 라인들(WL1~WLm)을 통해서 메모리 셀 어레이(310)와 연결될 수 있다. 행 디코더(320)는 제어 로직(360)의 제어에 따라 동작할 수 있다. 행 디코더(320)는 외부 장치(도시되지 않음)로부터 제공된 어드레스를 디코딩할 수 있다. 행 디코더(320)는 디코딩 결과에 근거하여 워드 라인들(WL1~WLm)을 선택하고, 구동할 수 있다. 예시적으로, 행 디코더(320)는 전압 발생기(350)로부터 제공된 워드 라인 전압을 워드 라인들(WL1~WLm)에 제공할 수 있다.The
데이터 읽기/쓰기 블럭(330)은 비트 라인들(BL1~BLn)을 통해서 메모리 셀 어레이(310)와 연결될 수 있다. 데이터 읽기/쓰기 블럭(330)은 비트 라인들(BL1~BLn) 각각에 대응하는 읽기/쓰기 회로들(RW1~RWn)을 포함할 수 있다. 데이터 읽기/쓰기 블럭(330)은 제어 로직(360)의 제어에 따라 동작할 수 있다. 데이터 읽기/쓰기 블럭(330)은 동작 모드에 따라서 쓰기 드라이버로서 또는 감지 증폭기로서 동작할 수 있다. 예를 들면, 데이터 읽기/쓰기 블럭(330)은 쓰기 동작 시 외부 장치로부터 제공된 데이터를 메모리 셀 어레이(310)에 저장하는 쓰기 드라이버로서 동작할 수 있다. 다른 예로서, 데이터 읽기/쓰기 블럭(330)은 읽기 동작 시 메모리 셀 어레이(310)로부터 데이터를 독출하는 감지 증폭기로서 동작할 수 있다.The data read/
열 디코더(340)는 제어 로직(360)의 제어에 따라 동작할 수 있다. 열 디코더(340)는 외부 장치로부터 제공된 어드레스를 디코딩할 수 있다. 열 디코더(340)는 디코딩 결과에 근거하여 비트 라인들(BL1~BLn) 각각에 대응하는 데이터 읽기/쓰기 블럭(330)의 읽기/쓰기 회로들(RW1~RWn)과 데이터 입출력 라인(또는 데이터 입출력 버퍼)을 연결할 수 있다.The
전압 발생기(350)는 비휘발성 메모리 장치(300)의 백그라운드 동작에 사용되는 전압을 생성할 수 있다. 전압 발생기(350)에 의해서 생성된 전압들은 메모리 셀 어레이(310)의 메모리 셀들에 인가될 수 있다. 예를 들면, 프로그램 동작 시 생성된 프로그램 전압은 프로그램 동작이 수행될 메모리 셀들의 워드 라인에 인가될 수 있다. 다른 예로서, 소거 동작 시 생성된 소거 전압은 소거 동작이 수행될 메모리 셀들의 웰-영역에 인가될 수 있다. 다른 예로서, 읽기 동작 시 생성된 읽기 전압은 읽기 동작이 수행될 메모리 셀들의 워드 라인에 인가될 수 있다.The
제어 로직(360)은 외부 장치로부터 제공된 제어 신호에 근거하여 비휘발성 메모리 장치(300)의 제반 동작을 제어할 수 있다. 예를 들면, 제어 로직(360)은 비휘발성 메모리 장치(300)의 읽기, 쓰기, 소거 동작을 제어할 수 있다.The
본 발명이 속하는 기술분야의 통상의 기술자는 본 발명이 그 기술적 사상이나 필수적 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있으므로, 이상에서 기술한 실시 예들은 모든 면에서 예시적인 것이며 한정적인 것이 아닌 것으로서 이해해야만 한다. 본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 등가개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.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.
상기 온도 증가량 예측부는 동작 요청이 처리됨에 따라 증가할 것으로 예상되는 상기 메모리 시스템의 온도를 상기 동작 요청에 대응하는 온도 증가량으로서 계산하는 메모리 시스템의 컨트롤러.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.
상기 온도 증가량 예측부는 동작 요청에 대응하는 소비 전력 정보 및 동작 요청 정보에 근거하여 상기 동작 요청에 대응하는 온도 증가량을 계산하고,
상기 소비 전력 정보는 상기 동작 요청에 대응하는 평균 소비 전력 및 피크 소비 전력 중 적어도 하나를 포함하고, 상기 동작 요청 정보는 상기 동작 요청에 대응하는 데이터 크기를 포함하는 메모리 시스템의 컨트롤러.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.
상기 리오더링부는 상기 동작 요청들 중 가장 작은 온도 증가량을 가진 동작 요청을 가장 앞선 순서로 재배열함으로써 상기 리오더링 동작을 수행하는 메모리 시스템의 컨트롤러.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.
상기 리오더링부는 온도 증가량이 작은 순서대로 상기 동작 요청들을 재배열함으로써 상기 리오더링 동작을 수행하는 메모리 시스템의 컨트롤러.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.
상기 리오더링부는 온도 증가량이 동일한 랜덤 요청 및 시퀀셜 요청에 대해 랜덤 요청을 시퀀셜 요청보다 앞선 순서로 재배열함으로써 리오더링 동작을 수행하는 메모리 시스템의 컨트롤러.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.
상기 리오더링부는 상기 메모리 시스템의 온도가 리오더링 트리거 온도를 초과할 때, 상기 리오더링 동작을 수행하는 메모리 시스템의 컨트롤러.According to claim 1,
wherein the reordering unit performs the reordering operation when the temperature of the memory system exceeds a reordering trigger temperature.
상기 메모리 시스템의 상기 온도를 하나 이상의 성능 조절 트리거 온도들과 비교하여 상기 메모리 시스템의 성능을 조절하기 위한 성능 조절 동작을 수행하도록 구성된 성능 조절부를 더 포함하는 메모리 시스템의 컨트롤러.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.
상기 리오더링 트리거 온도는 상기 하나 이상의 성능 조절 트리거 온도들 중 가장 낮은 제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.
상기 온도 증가량들을 예측하는 단계는, 동작 요청이 처리됨에 따라 증가할 것으로 예상되는 상기 메모리 시스템의 온도를 상기 동작 요청에 대응하는 온도 증가량으로서 계산하는 단계를 포함하는 메모리 시스템의 컨트롤러의 동작 방법.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.
상기 온도 증가량들을 예측하는 단계는, 동작 요청에 대응하는 소비 전력 정보 및 동작 요청 정보에 근거하여 상기 동작 요청에 대응하는 온도 증가량을 계산하는 단계를 포함하고,
상기 소비 전력 정보는 상기 동작 요청에 대응하는 평균 소비 전력 및 피크 소비 전력 중 적어도 하나를 포함하고, 상기 동작 요청 정보는 상기 동작 요청에 대응하는 데이터 크기를 포함하는 메모리 시스템의 컨트롤러의 동작 방법.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.
상기 리오더링 동작을 수행하는 단계는, 상기 동작 요청들 중 가장 작은 온도 증가량을 가진 동작 요청을 가장 앞선 순서로 재배열하는 단계를 포함하는 메모리 시스템의 컨트롤러의 동작 방법.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.
상기 리오더링 동작을 수행하는 단계는, 온도 증가량이 작은 순서대로 상기 동작 요청들을 재배열하는 단계를 포함하는 메모리 시스템의 컨트롤러의 동작 방법.According to claim 10,
The performing of the reordering operation may include rearranging the operation requests in an order of a small temperature increase.
상기 리오더링 동작을 수행하는 단계는, 온도 증가량이 동일한 랜덤 요청 및 시퀀셜 요청에 대해 랜덤 요청을 시퀀셜 요청보다 앞선 순서로 재배열하는 단계를 포함하는 메모리 시스템의 컨트롤러의 동작 방법.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.
상기 리오더링 동작을 수행하는 단계는, 상기 메모리 시스템의 온도가 리오더링 트리거 온도를 초과할 때 상기 리오더링 동작을 수행하는 단계를 포함하는 메모리 시스템의 컨트롤러의 동작 방법.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.
상기 메모리 시스템의 상기 온도를 하나 이상의 성능 조절 트리거 온도들과 비교하여 상기 메모리 시스템의 성능을 조절하기 위한 성능 조절 동작을 수행하는 단계를 더 포함하는 메모리 시스템의 컨트롤러의 동작 방법.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.
상기 리오더링 트리거 온도는 상기 하나 이상의 성능 조절 트리거 온도들 중 가장 낮은 제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.
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)
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)
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 |
-
2021
- 2021-10-26 KR KR1020210143459A patent/KR20230059366A/en unknown
-
2022
- 2022-08-30 US US17/898,997 patent/US12014054B2/en active Active
- 2022-10-06 TW TW111138000A patent/TW202318192A/en unknown
- 2022-10-09 CN CN202211225939.9A patent/CN116027966A/en active Pending
- 2022-10-21 DE DE102022211161.3A patent/DE102022211161A1/en active Pending
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 |