KR101280792B1 - Method and apparatus for multi-channel data storing based on power consumption - Google Patents

Method and apparatus for multi-channel data storing based on power consumption Download PDF

Info

Publication number
KR101280792B1
KR101280792B1 KR1020100136503A KR20100136503A KR101280792B1 KR 101280792 B1 KR101280792 B1 KR 101280792B1 KR 1020100136503 A KR1020100136503 A KR 1020100136503A KR 20100136503 A KR20100136503 A KR 20100136503A KR 101280792 B1 KR101280792 B1 KR 101280792B1
Authority
KR
South Korea
Prior art keywords
data
channels
ways
storage device
write
Prior art date
Application number
KR1020100136503A
Other languages
Korean (ko)
Other versions
KR20120074612A (en
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 KR1020100136503A priority Critical patent/KR101280792B1/en
Publication of KR20120074612A publication Critical patent/KR20120074612A/en
Application granted granted Critical
Publication of KR101280792B1 publication Critical patent/KR101280792B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System (AREA)

Abstract

다 채널 다중 웨이 저장 장치에 데이터를 기록하기 위한 방법 및 장치가 제공된다. 순간 소모 전력 및 기록 소요 시간의 상관 관계를 고려하여, 데이터를 기록할 채널 및 웨이가 결정된다. 저장 장치는 채널 간 병렬 저장 방식, 웨이 간 병렬 저장 방식 및 양 방식의 혼합을 동적으로 결정 및 사용할 수 있다.Methods and apparatus are provided for writing data to multi-channel multi-way storage devices. In consideration of the correlation between the instantaneous power consumption and the recording time, a channel and a way to record data are determined. The storage device can dynamically determine and use a mix of inter-channel parallel storage, inter-way parallel storage, and both.

Description

소모 전력에 기반한 데이터 기록 방법 및 장치{METHOD AND APPARATUS FOR MULTI-CHANNEL DATA STORING BASED ON POWER CONSUMPTION}TECHNICAL AND APPARATUS FOR MULTI-CHANNEL DATA STORING BASED ON POWER CONSUMPTION}

아래의 실시예들은 소모 전력에 기반하여 데이터를 기록하는 방법 및 장치에 관한 것이다.The following embodiments are directed to a method and apparatus for recording data based on power consumption.

데이터를 저장하는 방식에 따라 저장 장치의 소모 전력이 변경될 경우, 저장 장치에게 가용한 전력에 기반하여 데이터를 저장하는 방식을 결정하는 방법 및 이러한 방법을 사용하는 장치가 개시된다.When the power consumption of a storage device is changed according to a method of storing data, a method of determining a method of storing data based on power available to the storage device and an apparatus using the method are disclosed.

반도체 소자에 데이터를 저장하기 위해서는, 상기 반도체 소자로 일정량의 전압이 인가되어야 한다.In order to store data in the semiconductor device, a certain amount of voltage must be applied to the semiconductor device.

NVRAM 등을 비롯한 저장 장치는 저장 속도 및 용량을 높이기 위하여 다중 채널(multi channel) 및 다중 웨이(multi way)로 구성될 수 있다.Storage devices, including NVRAM, may be configured in multi-channel and multi-way to increase storage speed and capacity.

저장 장치의 복수 개의 채널들로 동시에 데이터가 기입(write)되면, 데이터를 기록하기 위한 전력이 동시에 상기의 복수 개의 채널들 내에 있는 다수의 반도체 소자들로 인가되어야 한다. 따라서, 기입 시 순간적인 소비 전력이 급격하게 증가할 수 있다.When data is simultaneously written to a plurality of channels of a storage device, power for writing data must be simultaneously applied to a plurality of semiconductor devices in the plurality of channels. Therefore, the instantaneous power consumption at the time of writing may increase rapidly.

모바일 장치(mobile device) 등에서와 같이, 저장 장치에게 가용한 전력이 제한된 경우가 있다. 저장 장치가 사용하는 순간적인 소비 전력이 상기 저장 장치에게 가용한 전력의 범위를 벗어날 경우, 저장 장치 및 상기 저장 장치와 연관된 다른 장치에서 고장 또는 오작동이 발생할 수 있다.As in a mobile device or the like, there are cases where the power available to a storage device is limited. If the instantaneous power consumption used by the storage device is outside the range of power available to the storage device, a failure or malfunction may occur in the storage device and other devices associated with the storage device.

따라서, 순간적인 소비전력이 급격하게 상승하는 문제점을 개선하기 위해, 소모 전력에 기반하여 데이터를 기록할 채널 및 웨이를 선택하는 방법이 요구된다.Therefore, in order to solve the problem of the sudden increase in power consumption, a method of selecting a channel and a way to record data based on the power consumption is required.

본 발명의 일 실시에는 소모 전류 허용치 및 최저 성능 허용치에 기반하여 데이터를 저장할 채널들 및 웨이들을 선택하는 저장 장치 및 데이터 저장 방법을 제공할 수 있다.One embodiment of the present invention can provide a storage device and a data storage method for selecting channels and ways for storing data based on a current consumption allowance and a lowest performance allowance.

본 발명의 일 실시에는 소모 전류 허용치 및 최저 성능 허용치에 기반하여 데이터를 저장할 채널들 및 웨이들을 결정하여 저장 장치로 전달하는 저장 장치 제어기 및 저장 장치 제어 방법을 제공할 수 있다.According to one embodiment of the present invention, a storage device controller and a storage device control method of determining channels and ways to store data based on a current consumption limit and a minimum performance allowance and transferring the same to a storage device may be provided.

본 발명의 일측에 따르면, 복수 개의 채널들 - 각 채널은 복수 개의 웨이들을 포함함, 각 웨이는 메모리를 포함함 - 및 제어부를 포함하고, 상기 제어부는 상기 저장 장치에게 가용한 전력에 기반하여 상기 복수 개의 채널들 중 데이터를 저장할 채널들을 선택하고, 상기 복수 개의 웨이들 중 데이터를 기입할 웨이들을 선택하는, 저장 장치가 제공된다.According to one aspect of the invention, a plurality of channels, each channel comprising a plurality of ways, each way includes a memory-and a control, the control based on the power available to the storage device A storage device is provided that selects channels to store data from among a plurality of channels and selects ways to write data from among the plurality of ways.

상기 저장 장치 및 상기 메모리는 비휘발성일 수 있다.The storage device and the memory may be nonvolatile.

상기 메모리는 플레쉬 메모리일 수 있다.The memory may be a flash memory.

상기 복수 개의 채널들은 동시에 상기 데이터를 서로간에 분할하여 기입할 수 있고, 상기 각 채널에 포함되는 상기 복수 개의 웨이들은 순차적으로 상기 분할된 데이터를 서로간에 재분할하여 기입할 수 있다.The plurality of channels may simultaneously divide and write the data to each other, and the plurality of ways included in each channel may sequentially divide and write the divided data to each other.

상기 저장 장치는 상기 데이터를 기입할 때 상기 선택된 채널들에 대한 동시 기록을 위해 상기 선택된 채널들의 개수가 더 많을 수록 더 많은 전류를 소비할 수 있다.The storage device may consume more current when the number of the selected channels is larger for simultaneous writing of the selected channels when writing the data.

상기 저장 장치는 호스트 장치로부터 상기 소모 전류 허용치에 대한 정보를 수신하는 인터페이스부를 더 포함할 수 있고, 상기 제어부는 상기 소모 전류 허용치에 대한 정보에 기반하여 상기 소모 전류 허용치를 인식할 수 있다.The storage device may further include an interface unit configured to receive information on the consumption current allowance from a host device, and the controller may recognize the consumption current allowance based on the information on the consumption current allowance.

상기 제어부는 소모 전류 허용치 및 최저 성능 허용치 중 하나 이상에 기반하여, 상기 데이터를 저장할 채널들 및 상기 데이터를 기입할 웨이들을 선택할 수 있다.The controller may select channels to store the data and ways to write the data based on one or more of a current consumption allowance and a minimum performance allowance.

상기 제어부는 상기 가용 전력에 따른 상기 소모 전류 허용치 내의 전류를 소모하는 채널들의 최대 개수 내에서 상기 데이터를 기입할 채널을 결정하고, 상기 데이터의 크기 및 상기 결정된 채널들의 개수에 기반하여 상기 데이터를 기입할 웨이들의 개수를 결정할 수 있다.The controller determines a channel to write the data within a maximum number of channels consuming current within the allowable current consumption value according to the available power, and writes the data based on the size of the data and the determined number of channels. The number of ways to do may be determined.

상기 제어부는 최저 성능 허용치를 충족시키는 웨이들의 최대 개수 내에서 상기 데이터를 기입할 웨이들을 결정하고, 상기 데이터의 크기 및 상기 결정된 웨이들의 개수에 기반하여 상기 데이터를 기입할 채널들을 결정할 수 있고, 상기 결정된 채널들의 개수는 상기 가용 전력에 따른 소모 전류 허용치 내의 전류를 소모하는 채널들의 최대 개수 이하일 수 있다.The controller may determine ways to write the data within a maximum number of ways that satisfy a minimum performance allowance, and determine channels to write the data based on the size of the data and the determined number of ways, The determined number of channels may be equal to or less than the maximum number of channels consuming current within the current consumption allowance according to the available power.

본 발명의 다른 측에 따르면, 저장 장치를 제어하는 제어기에 있어서 - 상기 저장 장치는 복수 개의 채널들을 포함하고, 각 채널은 복수 개의 웨이들을 포함하고, 각 웨이는 메모리를 포함함 -, 상기 저장 장치에게 가용한 전력에 기반하여 상기 복수 개의 채널들 중 데이터를 저장할 채널들을 선택하고, 상기 복수 개의 웨이들 중 데이터를 기입할 웨이들을 선택하는 제어부 및 상기 선택된 채널들 및 상기 선택된 웨이들에 대한 정보를 상기 저장 장치로 전송하는 인터페이스부를 포함하는, 저장 장치 제어기가 제공된다.According to another aspect of the present invention, in a controller for controlling a storage device, the storage device includes a plurality of channels, each channel including a plurality of ways, each way comprising a memory, and the storage device. A controller for selecting data to store data among the plurality of channels based on the power available to the controller, selecting a way to write data among the plurality of ways, and information on the selected channels and the selected ways. A storage device controller is provided that includes an interface portion for transmitting to the storage device.

상기 인터페이스부는 상기 복수 개의 채널들 및 상기 복수 개의 웨이들에 대한 정보를 상기 저장 장치로부터 수신할 수 있다.The interface unit may receive information on the plurality of channels and the plurality of ways from the storage device.

상기 제어부는 소모 전류 허용치 및 최저 성능 허용치 중 하나 이상에 기반하여, 상기 데이터를 저장할 채널들 및 상기 데이터를 기입할 웨이들을 선택할 수 있다.The controller may select channels to store the data and ways to write the data based on one or more of a current consumption allowance and a minimum performance allowance.

상기 제어부는 상기 소모 전류 허용치 내의 전류를 소모하는 최대 개수만큼의 채널들을 상기 데이터를 저장할 채널들로서 결정할 수 있고, 상기 데이터의 크기 및 상기 선택된 채널들의 개수에 기반하여 상기 데이터를 기입할 웨이들의 개수를 결정할 수 있다.The controller may determine the maximum number of channels that consume current within the allowable current allowance as channels for storing the data, and determine the number of ways to write the data based on the size of the data and the number of selected channels. You can decide.

상기 제어부는 상기 최저 성능 허용치를 충족시키는 최대 개수만큼 상기 데이터를 기입할 웨이들의 개수를 결정할 수 있고, 상기 데이터의 크기 및 상기 선택된 웨이들의 개수에 기반하여 상기 데이터를 기입할 채널들의 개수를 결정할 수 있다.The controller may determine the number of ways to write the data by the maximum number satisfying the lowest performance allowance, and determine the number of channels to write the data based on the size of the data and the number of the selected ways. have.

본 발명의 또 다른 측에 따르면, SSD에 있어서, 복수 개의 채널들 - 각 채널은 복수 개의 웨이들을 포함함, 각 웨이는 메모리를 포함함, 메모리들 각각은 채널 및 웨이에 따라 주소가 할당됨 - 및 주소 변환 계층 를 포함하고, 상기 주소 변환 계층은 상기 SSD에게 가용한 에너지에 기반하여 데이터가 저장될 상기 주소를 결정하는, SSD가 제공된다.According to another aspect of the invention, in an SSD, a plurality of channels, each channel comprising a plurality of ways, each way comprising a memory, each of the memories being assigned an address according to the channel and the way; And an address translation layer, wherein the address translation layer determines the address at which data is to be stored based on energy available to the SSD.

상기 주소 변환 계층은 상기 가용한 에너지에 기반하여 상기 복수 개의 채널들 중 데이터를 저장할 채널들을 선택할 수 있다, 상기 복수 개의 웨이들 중 데이터를 기입할 웨이들을 선택하며, 상기 주소 변환 계층은 상기 선택된 채널들 및 상기 선택된 웨이들에 상기 데이터가 분할 기입되도록 상기 주소를 결정할 수 있다.The address translation layer may select channels to store data among the plurality of channels based on the available energy, select ways to write data among the plurality of ways, and the address translation layer to select the selected channel. And the address may be determined so that the data is divided into the selected ways and the selected ways.

본 발명의 또 다른 측에 따르면, 저장 장치에 데이터를 저장하는 방법에 있어서 - 저장 장치는 복수 개의 채널들을 포함함, 각 채널은 복수 개의 웨이들을 포함함, 각 웨이는 메모리를 포함함 -, 상기 저장 장치에게 제공될 수 있는 가용 전력에 대한 정보가 획득되는 단계, 상기 가용 전력에 기반하여 상기 복수 개의 채널들 중 데이터를 저장할 채널들을 선택하고, 상기 복수 개의 웨이들 중 데이터를 기입할 웨이들을 선택하는 단계 및 상기 선택된 채널들 내의 상기 선택된 웨이들의 메모리에 상기 데이터를 분할하여 기입하는 단계를 포함하는, 데이터 저장 방법이 제공된다.According to another aspect of the invention, there is provided a method for storing data in a storage device, the storage device comprising a plurality of channels, each channel comprising a plurality of ways, each way comprising a memory, and Obtaining information about available power that may be provided to a storage device, selecting channels to store data among the plurality of channels based on the available power, and selecting ways to write data among the plurality of ways And dividing and writing the data into the memory of the selected ways in the selected channels.

상기 선택된 채널들 내의 상기 선택된 웨이들에 상기 데이터를 분할하여 기입하는 단계는, 상기 데이터를 상기 복수 개의 채널들로 동시에 분할하여 전송하는 단계 및 상기 복수 개의 채널들 각각으로 상기 분할되어 전송된 데이터를 재분할 하여 상기 복수 개의 웨이들 각각으로 순차적으로 전송하는 단계를 포함할 수 있다.The dividing and writing of the data into the selected ways in the selected channels may be performed by simultaneously dividing the data into the plurality of channels and transmitting the divided data into the plurality of channels. Re-segmentation may include sequentially transmitting to each of the plurality of ways.

상기 가용 전력에 기반하여 상기 복수 개의 채널들 중 데이터를 저장할 채널들 및 상기 복수 개의 웨이들 중 데이터를 기입할 웨이들을 선택하는 단계는, 소모 전류 허용치 및 최저 성능 허용치 중 하나 이상에 기반하여, 상기 데이터를 저장할 채널들 및 상기 데이터를 기입할 웨이들을 선택하는 단계를 포함할 수 있다.Selecting channels of data among the plurality of channels and ways of writing data of the plurality of ways based on the available power may be based on one or more of a current consumption allowance and a minimum performance allowance. Selecting channels to store data and ways to write the data.

상기 가용 전력에 기반하여 상기 복수 개의 채널들 중 데이터를 저장할 채널들 및 상기 복수 개의 웨이들 중 데이터를 기입할 웨이들을 선택하는 단계는, 상기 가용 전력에 따른 소모 전류 허용치 내의 전류를 소모하는 채널들의 최대 개수 내에서 상기 데이터를 기입할 채널들을 결정하는 단계 및 상기 데이터의 크기 및 상기 결정된 채널들의 개수에 기반하여 상기 데이터를 기입할 웨이들을 결정하는 단계를 포함할 수 있다.The selecting of channels among the plurality of channels to store data and the ways to write data among the plurality of ways based on the available power may include selecting one of channels that consume current within a current consumption allowance according to the available power. Determining channels to write the data within a maximum number, and determining ways to write the data based on the size of the data and the determined number of channels.

상기 가용 전력에 기반하여 상기 복수 개의 채널들 중 데이터를 저장할 채널들 및 상기 복수 개의 웨이들 중 데이터를 기입할 웨이들을 선택하는 단계는, 최저 성능 허용치를 충족시키는 웨이들의 최대 개수 내에서 상기 데이터를 기입할 웨이들을 결정하는 단계 및 상기 데이터의 크기 및 상기 결정된 웨이들의 개수에 기반하여 상기 데이터를 기입할 채널들을 결정하는 단계를 포함할 수 있고, 상기 결정된 채널들의 개수는 상기 가용 전력에 따른 소모 전류 허용치 내의 전류를 소모하는 채널들의 최대 개수 이하일 수 있다.Selecting channels of data among the plurality of channels and ways of writing data of the plurality of ways based on the available power may include selecting the data within a maximum number of ways that satisfy a lowest performance allowance. Determining the ways to write and determining the channels to write the data based on the size of the data and the determined number of ways, wherein the number of the channels is determined according to the available power. It may be less than or equal to the maximum number of channels consuming current within the tolerance.

소모 전류 허용치 및 최저 성능 허용치에 기반하여 데이터를 저장할 채널들 및 웨이들을 선택하는 저장 장치 및 데이터 저장 방법이 제공된다.A storage device and data storage method are provided that select channels and ways to store data based on current consumption and lowest performance tolerance.

소모 전류 허용치 및 최저 성능 허용치에 기반하여 데이터를 저장할 채널들 및 웨이들을 결정하여 저장 장치로 전달하는 저장 장치 제어기 및 저장 장치 제어 방법이 제공된다.A storage controller and a storage control method are provided for determining and transferring channels and ways to store data based on a current consumption allowance and a lowest performance allowance.

도 1은 본 발명의 일 실시예에 따른 저장 장치의 구조도이다.
도 2는 본 발명의 일 예에 따른 채널 및 웨이에 따른 데이터 기입 절차를 설명한다.
도 3은 본 발명의 일 예에 따른 데이터를 기입하는 채널 및 웨이의 개수와 저장 장치의 소모 전력 간의 상관 관계를 도시한다.
도 4는 본 발명의 일 예에 따른 채널 간의 병렬 저장 및 웨이 간의 병렬저장을 설명한다.
도 5는 본 발명의 일 예에 따른 병렬 저장의 구성들을 도시한다.
도 6은 본 발명의 일 실시예에 따른 저장 장치 및 저장 장치의 제어기의 구성을 도시한다.
도 7은 본 발명의 일 실시예에 따른 SSD의 구조를 도시한다.
도 8은 본 발명의 일 실시예에 따른 저장 장치에 데이터를 저장하는 방법을 설명한다.
1 is a structural diagram of a storage device according to an embodiment of the present invention.
2 illustrates a data writing procedure according to channels and ways according to an embodiment of the present invention.
3 illustrates a correlation between the number of channels and ways of writing data and power consumption of a storage device according to an embodiment of the present invention.
4 illustrates parallel storage between channels and parallel storage between ways according to an embodiment of the present invention.
5 illustrates configurations of parallel storage according to an example of the present invention.
6 illustrates a configuration of a storage device and a controller of the storage device according to an embodiment of the present invention.
7 illustrates a structure of an SSD according to an embodiment of the present invention.
8 illustrates a method of storing data in a storage device according to an embodiment of the present invention.

이하에서, 본 발명의 일 실시예를, 첨부된 도면을 참조하여 상세하게 설명한다. 그러나, 본 발명이 실시예들에 의해 제한되거나 한정되는 것은 아니다. 각 도면에 제시된 동일한 참조 부호는 동일한 부재를 나타낸다.
Hereinafter, an embodiment of the present invention will be described in detail with reference to the accompanying drawings. However, the present invention is not limited to or limited by the embodiments. Like reference symbols in the drawings denote like elements.

도 1은 본 발명의 일 실시예에 따른 저장 장치(100)의 구조도이다.1 is a structural diagram of a storage device 100 according to an embodiment of the present invention.

저장 장치(100)는 제어부(110) 및 저장부(120)를 포함한다.The storage device 100 includes a controller 110 and a storage 120.

제어부(110)는 데이터를 저장부(120)로 기입(write)하는 동작 또는 저장부(120)로부터 저장된 데이터를 독출(read)하는 동작을 수행한다.The controller 110 performs an operation of writing data to the storage 120 or reading an stored data from the storage 120.

저장부(120)는 데이터를 저장한다.The storage unit 120 stores data.

저장부(120)는 복수 개의 메모리(memory)(154)(즉, 메모리 칩(chip) 또는 셀(cell))들을 포함한다. 도 1에서 32 개의 메모리(154)들이 도시되었다.The storage unit 120 includes a plurality of memories 154 (ie, memory chips or cells). In FIG. 1 32 memories 154 are shown.

메모리(154)는, 예컨대 낸드 플레쉬 메모리(nand flash memory)와 같은, NVRAM(Non-Volatile Random Access Memory)일 수 있다. The memory 154 may be Non-Volatile Random Access Memory (NVRAM), such as, for example, a nand flash memory.

저장 장치(100)는 비휘발성(non-volatile) 저장 장치일 수 있다. 구체적으로, 저장 장치(100)는 SSD(Solid State Disk), 임베디드된 멀티미디어 카드(embedded MultiMedia Card), 범용 직렬 버스(Universal Serial Bus; USB) 메모리, 시큐어 디지털(Secure Digital; SD) 카드 또는 기타 차세대 메모리 디바이스일 수 있다.Storage device 100 may be a non-volatile storage device. Specifically, the storage device 100 may include a solid state disk (SSD), an embedded multimedia card, a universal serial bus (USB) memory, a secure digital (SD) card, or other next generation. It may be a memory device.

복수 개의 메모리(154)들은 채널 및 웨이로 구분된다. 즉, 저장 장치(100)는 채널 및 웨이가 구성된 저장 장치이다.The plurality of memories 154 are divided into channels and ways. That is, the storage device 100 is a storage device configured with channels and ways.

채널은 도 1에서 도시된 메모리(154)들의 열(column)에 대응한다. 웨이는 도 1에서 도시된 메모리(154)들의 행(row)에 대응한다.The channel corresponds to the column of the memories 154 shown in FIG. The way corresponds to the row of memories 154 shown in FIG.

도 1에서, 채널 0(130), 채널 1(132) 및 채널 2(134) 등 8 개의 채널들이 도시되었다. 또한, 도 1에서, 웨이 0(140), 웨이 1(142), 웨이 2(144) 및 웨이 3(146)의 4 개의 웨이들이 도시되었다.In FIG. 1, eight channels are shown, including channel 0 130, channel 1 132, and channel 2 134. Also, in FIG. 1, four ways are shown: Way 0 140, Way 1 142, Way 2 144, and Way 3 146.

즉, 저장 장치(100) 또는 저장부(120)는 복수 개의 채널들을 포함하고, 각 채널은 각각 복수 개의 웨이들을 포함하며, 각 웨이는 메모리를 포함한다. (또는, 저장 장치(100)(또는 저장부(120))가 복수 개의 채널들 및 복수 개의 웨이들을 포함하는 것으로 볼 수 있다.)That is, the storage device 100 or the storage unit 120 includes a plurality of channels, each channel includes a plurality of ways, and each way includes a memory. (Or, the storage device 100 (or the storage 120) may be regarded as including a plurality of channels and a plurality of ways.)

도 1에서, 하나의 채널 내(예컨대, 채널 0(150))의 하나의 웨이(예컨대, 웨이 3(146)는 1 개의 메모리(예컨대, 메모리(154))를 포함한다.In FIG. 1, one way (eg, way 3 146) within one channel (eg, channel 0 150) includes one memory (eg, memory 154).

하나 이상의 메모리들이 메모리 패키지(memory package)를 구성할 수 있다. 예컨대, 메모리 패키지 0(150)은 채널 0(130)의 웨이 0(140)의 메모리 및 채널 0(130)의 웨이 1(142)의 메모리를 포함한다. 메모리 패키지 1(152)은 채널 0(130)의 웨이 2(144)의 메모리 및 채널 0(130)의 웨이 3(146)의 메모리를 포함한다.One or more memories may constitute a memory package. For example, memory package 0 150 includes memory of way 0 140 of channel 0 130 and memory of way 1 142 of channel 0 130. Memory package 1 152 includes memory of way 2 144 of channel 0 130 and memory of way 3 146 of channel 0 130.

채널은 독립적으로 데이터를 기입(write)할 수 있는 단위이다. 각 채널에 대한 기입은 병렬적으로(즉, 중첩되어) 수행될 수 있다..A channel is a unit that can write data independently. Writing to each channel may be performed in parallel (ie, overlapping).

웨이는 명령어(command) 채널 및 데이터(data) 채널을 공유하는 하나 이상의 메모리들이라고 볼 수 있다.A way may be viewed as one or more memories that share a command channel and a data channel.

도 1에서는, 4개의 메모리들이 데이터의 기입/독출을 위한 명령어 및 데이터를 위해 하나의 채널을 공유한다. 즉, 4 개의 메모리들이 하나의 채널을 구성한다.In FIG. 1, four memories share one channel for instructions and data for writing / reading data. In other words, four memories constitute one channel.

저장 장치(100)는 인터페이스부를 더 포함할 수 있다.The storage device 100 may further include an interface unit.

인터페이스부는 저장 장치(100) 및 저장 장치(100)를 접근하는 호스트 장치(예컨대, 저장 장치(100)를 사용하는 개인용 컴퓨터)를 상호 연결한다.The interface unit interconnects the storage device 100 and a host device (eg, a personal computer using the storage device 100) that accesses the storage device 100.

저장 장치(100)는 인터페이스부를 통해 저장 장치(100)에 접근하는 호스트 장치로부터 소모 전류 허용치에 대한 정보를 수신할 수 있고, 제어부(110)는 수신된 소모 전류 허용치에 대한 정보를 사용하여 소모 전류 허용치를 인식할 수 있다.The storage device 100 may receive the information on the consumption current allowance from the host device accessing the storage device 100 through the interface unit, and the controller 110 may use the received information on the consumption current allowance to consume the current. Allowances can be recognized.

도 2는 본 발명의 일 예에 따른 채널 및 웨이에 따른 데이터 기입 절차를 설명한다.2 illustrates a data writing procedure according to channels and ways according to an embodiment of the present invention.

도 2는 2 개의 채널들(130 및 140)로 구성된 저장 장치(100)에서, 각 채널이 4 개의 웨이들을 통해 4 개의 메모리에 데이터를 기록하는 것을 나타낸다.FIG. 2 shows that in a storage device 100 composed of two channels 130 and 140, each channel writes data to four memories via four ways.

상단에서 채널 0(130)의 웨이 0(140), 웨이 1(142), 웨이 2(144) 및 웨이 3(146)을 통해 데이터가 기입되는 절차가 도시되었고, 하단에서 채널 1(140)의 웨이 0(140), 웨이 1(142), 웨이 2(144) 및 웨이 3(146)을 통해 데이터가 기입되는 절차가 도시되었다.The procedure for writing data through Way 0 140, Way 1 142, Way 2 144 and Way 3 146 of Channel 0 130 at the top is shown, and at the bottom of Channel 1 140. The procedure by which data is written via way 0 140, way 1 142, way 2 144 and way 3 146 is shown.

메모리(152)에 데이터가 기입되기 위해서는, 도시된 것처럼, "Cmd"(210), "Data"(212) 및 "Program"(214) 동작이 수행되어야한다. "Program"(214)으로 표시된 부분이 실제로 메모리에 데이터가 기입되는 구간이다.In order for data to be written to the memory 152, the operations of "Cmd" 210, "Data" 212, and "Program" 214 must be performed as shown. The portion indicated by "Program" 214 is a section in which data is actually written to the memory.

저장 장치(100) 또는 제어부(110) 내에는 채널 별로 데이터(data) 및 명령어(command)가 존재한다. 따라서, 각 채널에 대한 기입은 완벽하게 중첩되어 병렬적으로 이루어질 수 있다.In the storage device 100 or the controller 110, data and commands exist for each channel. Thus, writing to each channel can be done in perfect overlap and in parallel.

예컨대, 채널 0(130)의 웨이 0(140) 및 채널 1(132)의 웨이 0(140)는 동시에 데이터 기입을 위한 동작("Cmd"(210), "Data"(212) 및 "Program"(214))을 수행할 수 있다.For example, way 0 140 of channel 0 130 and way 0 140 of channel 1 132 simultaneously operate for writing data (“Cmd” 210, “Data” 212 and “Program”). (214)).

전술된 것처럼, 저장부(120)에 데이터가 기입될 때, 저장부 내의 복수 개의 채널들은 동시에 데이터의 일부를 분할하여 기입할 수 있다.As described above, when data is written to the storage 120, a plurality of channels in the storage may divide and write a portion of the data at the same time.

반면, 도 1에서, 채널 0(130)의 웨이들(140, 142, 144 및 146)이 수행하는 동작("Cmd"(210), "Data"(212) 및 "Program"(214))은 완벽하게 중첩되지 아니하였다. "Cmd"(210) 및 "Data(212)" 동작은 웨이들의 순서에 따라 한 순간에 한 웨이에서만 수행된다.In contrast, in FIG. 1, operations performed by the ways 140, 142, 144, and 146 of the channel 0 130 ("Cmd" 210, "Data" 212, and "Program" 214) are performed. It did not overlap perfectly. The " Cmd " 210 and " Data 212 " operations are performed on only one way at a time in the order of the ways.

즉, 한 채널 내의 복수 개의 웨이들은 순차적으로 상기 채널에게 분할된 데이터를 서로간에 재분할하여 기입한다. 이 때, 복수 개의 웨이들에 의한 기입은 부분적으로는 병렬로 수행될 수 있다.
That is, the plurality of ways in one channel sequentially rewrite the divided data into the channels to each other. At this time, writing by the plurality of ways may be partially performed in parallel.

도 3은 본 발명의 일 예에 따른 데이터를 기입하는 채널 및 웨이의 개수와 저장 장치의 소모 전력 간의 상관 관계를 도시한다.3 illustrates a correlation between the number of channels and ways of writing data and power consumption of a storage device according to an embodiment of the present invention.

도 3은 4Kbyte에서 512KByte의 데이터를 SSD에 기록하기 위해 소모되는 전류를 실측한 결과를 나타낸 것이다.Figure 3 shows the results of the measurement of the current consumed to write the data of 4Kbytes to 512KByte to the SSD.

저장 장치에 데이터를 기록할 때, 다수의 칩에 데이터를 분할저장(interleaving)하는 병렬 기록이 수행되면, 단일 메모리에 데이터가 기록될 때에 비해 기록 속도가 개선된다.When writing data to a storage device, if parallel writing to interleaving the data to a plurality of chips is performed, the writing speed is improved compared to when data is written to a single memory.

분할저장에는, 채널 간의 분할저장 방식 및 웨이 간의 분할저장 방식이 있다. 채널 간의 분할 저장 방식은 데이터의 기입을 위해 복수 개의 채널들을 사용하는 것이다. 웨이 간의 분할저장 방식은 데이터의 기입을 위해 복수 개의 웨이들을 사용하는 것이다.The divided storage includes divided storage between channels and divided storage between ways. Split storage between channels uses a plurality of channels for writing data. The partitioned storage method between ways uses a plurality of ways for writing data.

도 3에서 나타난 것과 같이, 데이터의 기입을 위해 동시에 사용되는 채널의 개수가 증가하면, 데이터 전체를 기록하기 위한 시간이 감소하지만, 저장 장치(100)의 소모 전력이 증가한다. 즉, 채널 간의 병렬 저장 방식은 속도 면에서는 우수한 결과를 도출하나, 소모 전력을 높이는 문제를 유발한다.As shown in FIG. 3, when the number of channels simultaneously used for writing data increases, the time for recording the entire data decreases, but power consumption of the storage device 100 increases. In other words, the parallel storage method between channels produces excellent results in terms of speed, but causes a problem of increasing power consumption.

전술된 것처럼, "Program"(214) 동작에 의해 데이터가 메모리에 기입되기 위해서는, 메모리로 일정 량의 전압이 인가되어야 한다. As described above, in order for data to be written to the memory by the "Program" 214 operation, a certain amount of voltage must be applied to the memory.

여러 개의 채널을 통해 동시에 데이터가 기록될 경우, 메모리의 반도체 소자에 데이터를 기록하기 위한 전력이 동시에 다수의 메모리에 인가되어야 된다. 따라서, 저장 장치(100)가 소비하는 전류가 급격하게 증가한다. 즉, 저장 장치(100)는 데이터를 기입할 때, 데이터의 기입을 위해 선택된 채널들의 개수가 더 많을수록 더 많은 전류를 소비한다.When data is simultaneously written through several channels, power for writing data to the semiconductor elements of the memory must be simultaneously applied to the plurality of memories. Thus, the current consumed by the storage device 100 increases rapidly. That is, when writing data, the larger the number of channels selected for writing data consumes more current.

저장 장치(100)의 구조가 복잡해지고, 저장 장치(100)의 속도 및 용량 향상을 위해 채널의 개수 및 웨이의 개수가 증가함에 따라, 저장 장치(100)에 데이터를 저장하기 요구되는 소모 전력이 더욱 문제시 된다.As the structure of the storage device 100 becomes complicated and the number of channels and the number of ways increases to increase the speed and capacity of the storage device 100, the power consumption required for storing data in the storage device 100 may increase. It is more problematic.

저장 장치(100)에 의해 소모되는 전류가 급격히 증가하는 경우, 소모 전력 증가 또는 발열 문제가 발생할 수 있다. 뿐만 아니라, 저장 장치(100)의 회로에 과도한 전류가 흐름으로써 전압이 불안정해질 수 있으며, 이로 인해 메모리에 정보가 정확하게 기록되지 않을 수 있다. 이러한 문제는, 신뢰성 있는 데이터 저장을 목적으로 하는 저장 장치(100)에게는 치명적일 수 있다.When the current consumed by the storage device 100 increases rapidly, power consumption may increase or heat may occur. In addition, the voltage may become unstable due to excessive current flowing in the circuit of the storage device 100, and thus information may not be correctly recorded in the memory. This problem can be fatal to the storage device 100 for the purpose of reliable data storage.

따라서, 저장 장치(100)에게 가용한 전력(즉, 소모 전류 허용치)의 내에서 전력이 소모되도록, 동시에 사용되는 채널의 개수가 제한된다면, 순간 소모 전력이 급격히 상승함으로써 문제가 발생하는 것이 방지될 수 있다.Therefore, if the number of channels used simultaneously is limited so that power is consumed within the power available to the storage device 100 (i.e., the power consumption allowance), the problem can be prevented from occurring by the sudden increase in the power consumption. Can be.

반면, 도 3에서 나타난 것과 같이, 데이터의 기입을 위해 사용되는 웨이의 개수가 증가할수록 데이터 전체를 기록하기 위한 시간이 증가한다. 즉, 웨이 간의 병렬저장 방식은 속도 면에서는 채널 강의 병렬저장 방식보다 느리지만, 소모 전력은 채널 간의 병렬저장에 비해 더 낮다는 장점을 갖는다.On the other hand, as shown in FIG. 3, as the number of ways used for writing data increases, the time for recording the entire data increases. That is, the parallel storage method between the ways is slower than the parallel storage method of channel strength in terms of speed, but the power consumption is lower than parallel storage between channels.

저장 장치(100)가 동적인 사상 방식에 의한 채널 간의 병렬저장 및 웨이 간의 병렬저장을 사용하면, 고정된 채널 간의 병렬저장 및 웨이 간의 병렬저장을 사용하는 것에 비해, 저장 장치(100)는 소모 전력의 측면 및 성능 요구 사항(즉, 데이터가 기입되는 시간)의 측면에서 이득을 얻을 수 있다.When the storage device 100 uses the parallel storage between the channels and the parallel storage between the ways by the dynamic mapping method, the storage device 100 consumes more power than the parallel storage between the fixed channels and the parallel storage between the ways. Benefits can be gained in terms of the performance and performance requirements (i.e., the time at which data is written).

저장 장치(100)가 사용할 수 있는 전력, 즉, 저장 장치(100)에게 가용한 전력(또는, 소모 전류 허용치)은 제한될 수 있다. 또한, 저장 장치(100)에게 특정한 최저 성능 허용치가 요구될 수 있다. 최저 성능 허용치는 저장 장치(100)가 특정한 크기의 데이터를 기록함에 있어 허용되는 최대 시간일 수 있다. 최저 성능 허용치는 저장 장치(100)가 특정한 크기의 데이터를 기록함에 있어 허용가능한 최대 기록 지연시간(write latency)일 수 있다. The power available to the storage device 100, that is, the power available to the storage device 100 (or the current consumption limit) may be limited. In addition, certain minimum performance tolerances may be required of the storage device 100. The lowest performance tolerance may be the maximum time allowed for storage device 100 to record data of a particular size. The lowest performance allowance may be the maximum allowable write latency for the storage device 100 to write data of a particular size.

저장 장치(100) 또는 제어부(110)는 이러한 가용한 전력(또는, 소모 전류 허용치)에 대한 정보 및 최저 성능 허용치에 대한 정보를 외부의 호스트(host)(또는, 운영체제(operating system), 응용 프로그램(application)으로부터 획득할 수 있다. 또한, 저장 장치(100) 또는 제어부(110)는 가용한 전력(또는, 소모 전류 허용치)에 대한 정보 및 최저 성능 허용치에 대한 정보를 내부적으로 결정할 수 있다.The storage device 100 or the controller 110 may provide information about the available power (or current consumption allowance) and information on the minimum performance allowance with an external host (or operating system or application). In addition, the storage device 100 or the controller 110 may internally determine information on available power (or current consumption allowance) and information on a minimum performance allowance.

가용한 전력(또는, 소모 전류 허용치)에 대한 정보는 저장 장치(100), 회로 또는 시스템 환경에 기반하여 결정될 수 있다.Information about the available power (or current consumption tolerance) may be determined based on the storage device 100, the circuit, or the system environment.

제어부(110)는 소모 전류 허용치 및 최저 성능 허용치 중 하나 이상에 기반하여, 데이터를 저장할 채널들 및 상기 데이터를 기입할 웨이들을 선택할 수 있다. 즉, 제어부(110)는 소모 전류 허용치 및 최저 성능 허용치 중 하나 이상에 기반하여, 채널 간의 병렬저장 및 웨이 간의 병렬저장을 가변적으로 선택할 수 있다.The controller 110 may select channels for storing data and ways to write the data, based on one or more of a current consumption allowance and a minimum performance allowance. That is, the controller 110 may variably select parallel storage between channels and parallel storage between ways based on at least one of a current consumption allowance and a minimum performance allowance.

제어부(110)는 저장 장치(100)에게 가용한 전력(power budget)에 기반하여 복수 개의 채널들 중 데이터를 저장할 채널들을 선택할 수 있고, 복수 개의 웨이들 중 데이터를 기입할 웨이들을 선택할 수 있다.The controller 110 may select channels to store data among the plurality of channels based on a power budget available to the storage device 100, and select ways to write data among the plurality of ways.

즉, 제어부(110)는 저장 장치(100)에게 가용한 전력에 기반하여 상기 복수 개의 채널들 중 데이터를 저장할 채널들을 선택할 수 있다. 데이터를 저장할 채널이 선택되면, 제어부(110)는 선택된 채널 내의 복수 개의 웨이들 중 데이터를 저장할 웨이들을 선택할 수 있다.That is, the controller 110 may select channels for storing data among the plurality of channels based on the power available to the storage device 100. When a channel to store data is selected, the controller 110 may select ways to store data among a plurality of ways in the selected channel.

데이터를 저장할 채널 및 웨이들이 선택되면, 제어부(110)는 선택된 채널 및 웨이로(즉, 선택된 채널 및 웨이의 메모리로) 데이터를 기입할 수 있다.
When a channel and a way to store the data are selected, the controller 110 may write data into the selected channel and the way (ie, into the memory of the selected channel and the way).

도 4는 본 발명의 일 예에 따른 채널 간의 병렬 저장 및 웨이 간의 병렬저장을 설명한다.4 illustrates parallel storage between channels and parallel storage between ways according to an embodiment of the present invention.

도 4의 네 점들(430, 432, 434 및 436)은 각각 32KByte의 페이지(page)(즉, 4KByte의 페이지 8 개)를 기록하는 방식을 나타낸다.Four points 430, 432, 434, and 436 in FIG. 4 indicate a method of recording a page of 32 KBytes (that is, eight pages of 4 KBytes).

x 축은 기록을 위해 소모되는 시간을 나타내며, y 축은 기록 중의 순간 소모 전류를 나타낸다.The x axis represents time spent for writing and the y axis represents instantaneous power consumption during recording.

도 4에서, 기록을 위한 저장 장치(100)는 8 채널로 구성된다.In Fig. 4, the storage device 100 for recording is composed of eight channels.

8 채널의 저장 장치(100)에 데이터를 기록할 경우, 8 채널 × 1 웨이(430), 4 채널 × 2 웨이(432), 2 채널 × 4 웨이(434) 및 1 채널 × 8 웨이(436)로 저장하는 방법들이 사용될 수 있다.When data is written to the 8-channel storage device 100, 8 channels × 1 way 430, 4 channels 2 ways 432, 2 channels 4 ways 434, and 1 channel 8 ways 436. Can be used.

도시된 것처럼, 8 채널이 사용될 경우의 순간 소모 전류가 가장 높다. 반면, 1 채널 8 웨이로 기록될 경우에 기록을 위한 소요 시간이 가장 길어진다.As shown, the instantaneous power consumption is highest when 8 channels are used. On the other hand, when recording in one channel 8 way, the time required for recording is the longest.

즉, 동시 기록 채널의 개수를 증가시킬수록(즉, 웨이의 개수를 감소시킬수록), 기록 시간은 단축되지만, 순간 소모 전류는 증가한다. 반대로, 동시 기록 채널의 개수를 감소시킬수록(즉, 웨이의 개수를 증가시킬수록), 순간 소모 전류가 감소하는 반면, 총 기록 시간은 증가한다.That is, as the number of simultaneous recording channels is increased (i.e., the number of ways is decreased), the writing time is shortened, but the instantaneous power consumption increases. Conversely, as the number of simultaneous write channels is reduced (ie, as the number of ways is increased), the instantaneous current consumption decreases while the total write time increases.

도 4에서, 허용 가능 전류(max tolerable current)(410) 및 성능 허용치(performance bound)(420)가 도시되었다.In FIG. 4, the maximum tolerable current 410 and the performance bound 420 are shown.

허용 가능 전류(410)는 저장 장치(100)에게 허용된 최대의 소모 전류이다. 저장 장치(100)는 상기의 소모 전류 허용치 내에서 전류를 사용해야한다. 따라서, 서모 전류 허용치에 의해 저장 장치(100)가 데이터 기입을 위해 사용할 수 있는 채널의 수가 제한된다.The allowable current 410 is the maximum current consumption allowed for the storage device 100. The storage device 100 must use a current within the current consumption limit. Thus, the thermo-current tolerance limits the number of channels that the storage device 100 can use for writing data.

즉, 소모 전류 허용치 이상의 전류를 소모하는, 8 채널 × 1 웨이 저장 방법(430)은 사용될 수 없다.That is, an eight channel by one way storage method 430 that consumes more current than the current consumption allowance cannot be used.

성능 허용치(420)는 저장 장치(100)가 데이터를 저장함에 있어서 요구되는 최저의 성능 허용치이다. 예컨대, 저장 장치(100)는 성능 허용치(420)가 나타내는 값 이하의 시간 내에 데이터 저장을 완료하여야 한다.Performance tolerance 420 is the lowest performance tolerance required for storage device 100 to store data. For example, the storage device 100 must complete data storage within a time equal to or less than the value indicated by the performance allowance 420.

도 4에 따르면, 4 웨이 보다 더 크게 웨이 간의 병렬저장을 확대하는 것은 불가하다. 즉, 성능 허용치 이상의 시간을 소요하는, 1 채널 × 8 웨이 저장 방법(436)은 사용될 수 없다.According to FIG. 4, it is not possible to extend parallel storage between ways larger than 4 ways. That is, the one channel by eight way storage method 436, which takes more than the performance allowance, cannot be used.

허용 가능 전류(410) 및 성능 허용치(420)의 조건을 만족시키는 부분이 사용가능 범위(440)이다. 저장 방법들(430, 432, 434 및 436) 중 사용가능 범위(440) 내에 있는 저장 방법들(432 및 434)이 사용가능 해(feasible solution)들이다.The portion that satisfies the conditions of the allowable current 410 and the performance tolerance 420 is the usable range 440. Storage methods 432 and 434 within usable range 440 of the storage methods 430, 432, 434 and 436 are feasible solutions.

사용가능 해들(432 및 434) 중 어떠한 방식을 사용할 것인지는 구현에 따라 선택적으로 결정될 수 있다.Which of the available solutions 432 and 434 to use may optionally be determined by implementation.

전술된 것과 같이, 제어부(110)는 소모 전류 허용치 및 최저 성능 허용치 중 하나 이상에 기반하여, 데이터를 저장할 채널들 및 데이터를 기입할 웨이들을 선택할 수 있다. 즉, 제어부(110)는 소모 전류 허용치 및 최저 성능 허용치를 동시에 고려하여 데이터를 저장할 채널들 및 데이터를 기입할 웨이들을 선택할 수 있다.As described above, the controller 110 may select channels to store data and ways to write data based on one or more of a current consumption allowance and a minimum performance allowance. That is, the controller 110 may select channels to store data and ways to write data in consideration of the consumption current allowance and the minimum performance allowance at the same time.

제어부(110)는 가용 전력에 따른 소모 전류 허용치 내의 전류를 소모하는 채널들의 최대 개수 내에서 데이터를 기입할 채널을 결정할 수 있다. 또한, 제어부(110)는 데이터의 크기 및 결정된 채널들의 개수에 기반하여 데이터를 기입할 웨이들의 개수를 결정할 수 있다. 이 때, 결정된 웨이들의 개수는 데이터를 저장하기 위해 필요한 최소한의 개수일 수 있다.The controller 110 may determine a channel to write data within a maximum number of channels consuming a current within the allowable current consumption value according to the available power. In addition, the controller 110 may determine the number of ways to write data based on the size of the data and the determined number of channels. In this case, the determined number of ways may be the minimum number necessary to store data.

반면, 제어부(110)는 최저 성능 허용치를 충족시키는 웨이들의 최대 개수 내에서 데이터를 기입할 웨이들을 결정하고, 데이터의 크기 및 결정된 웨이들의 개수에 기반하여 데이터를 기입할 채널들을 결정할 수 있다. 이 때, 결정된 채널들의 개수는 가용 전력에 따른 소모 전류 허용치 내의 전류를 소모하는 채널들의 최대 개수 이하이다. 또한, 결정된 채널들의 개수는 데이터를 저장하기 위해 필요한 최소한의 개수일 수 있다. 즉, 결정된 채널들의 개수는 데이터를 저장하기에 충분하고, 소모 전류를 최소화하는 값일 수 있다.On the other hand, the controller 110 may determine ways to write data within the maximum number of ways that satisfy the lowest performance allowance, and determine channels to write data based on the size of the data and the determined number of ways. At this time, the determined number of channels is less than or equal to the maximum number of channels consuming current within the allowable current consumption value according to available power. In addition, the determined number of channels may be the minimum number necessary for storing data. That is, the determined number of channels may be sufficient to store data and may be a value for minimizing current consumption.

예컨대, 소모 전류 허용치가 없는 경우(즉, 순간 허용가능한 최대 전류가 제한되지 않은 경우), 제어부(110)는 채널 병렬도를 최대로하여 데이터를 저장할 수 있다.For example, when there is no consumption current allowance (that is, when the maximum allowable instantaneous current is not limited), the controller 110 may store data with the maximum channel parallelism.

소모 전류 허용치가 XmA인 경우, 채널 병렬도는 X / (플래쉬 기입에 필요한 인가 전류)가 될 수 있다. 예컨대, 소모 전류 허용치가 200mA이고, 하나의 플래쉬에 단일 페이지(4KByte)를 기입하는데 소모되는 전류가 30mA이면, 최대 6 개의 채널이 동시에 가동될 수 있다.If the consumption current tolerance is XmA, the channel parallelism may be X / (the applied current required for flash writing). For example, if the current consumption allowance is 200 mA and the current consumed to write a single page (4 KByte) in one flash is 30 mA, up to six channels can be operated simultaneously.

제어부(110)에 의해, 저장 장치(100)는 소모 전류의 최대 허용치 및 최저 성능을 보장하는 데이터 기입을 수행할 수 있다. 또한, 제어부(110)에 의해 저장 장치(100)는 소모 전류 및 성능의 상관관계를 동시에 고려함으로써 전류(또는, 전력) 대비 성능 효율을 극대화하는 데이터 기입을 수행할 수 있다.
By the controller 110, the storage device 100 may perform data writing to ensure the maximum allowable value and the lowest performance of the current consumption. In addition, the storage device 100 may perform data writing by maximizing performance efficiency compared to current (or power) by simultaneously considering a correlation between power consumption and performance.

도 5는 본 발명의 일 예에 따른 병렬 저장의 구성들을 도시한다.5 illustrates configurations of parallel storage according to an example of the present invention.

메모리(512)는 4KByte의 블록으로 데이터를 저장하며, 2 개의 블록들(514 및 516)을 포함한다. (또는, 각각 4KByte를 저장하는 2 개의 메모리들이 하나의 웨이를 위한 메모리 패키지를 구성하는 것을 나타낼 수도 있다.)The memory 512 stores data in blocks of 4 KBytes, and includes two blocks 514 and 516. (Or, two memories each storing 4 KBytes may represent a memory package for one way.)

도 5의 저장부(120)는 8 개의 채널들 및 8 개의 웨이들로 구성된다.The storage unit 120 of FIG. 5 is composed of eight channels and eight ways.

저장부(120)에는 8 개의 4KByte 페이지들로 구성된 연속된 32KByte의 데이터가 저장된다.The storage unit 120 stores data of 32 KBytes consecutively composed of 8 4KByte pages.

제1 구성(510)에서, 32KByte의 데이터는 8 개의 채널 및 1 개의 웨이로 분산 저장되었다. In the first configuration 510, 32 KBytes of data were distributed and stored in eight channels and one way.

선택된 채널 및 웨이에 해당하는 메모리(518)들은 하나의 블록에 4KByte의 데이터를 저장한다.The memories 518 corresponding to the selected channel and way store 4 KByte data in one block.

제1 구성(510)은 동시 기록 채널을 늘림으로써 기입 시간을 단축시키는 구성이다. 단, 제1 구성(510)에 의해 소모되는 순간 소모 전력은 다른 구성들(520 및 560)에 비해 더 높다. 즉, 제1 구성(510)은 저장 장치(100)의 기입 성능을 극대화 시킨 배치 기법으로 볼 수 있다.The first configuration 510 shortens the writing time by increasing the simultaneous recording channel. However, the instantaneous power consumption consumed by the first configuration 510 is higher than the other configurations 520 and 560. That is, the first configuration 510 may be regarded as a layout technique that maximizes the writing performance of the storage device 100.

제2 구성(520)에서, 32KByte의 데이터는 4 개의 채널 및 2 개의 웨이로 분산 저장되었다.In the second configuration 520, 32 KBytes of data were distributed and stored in four channels and two ways.

선택된 채널 및 웨이에 해당하는 메모리(522)들은 하나의 블록에 4KByte의 데이터를 저장한다.The memories 522 corresponding to the selected channel and way store 4KByte data in one block.

제3 구성(530)에서, 32KByte의 데이터는 4 개의 채널 및 1 개의 웨이로 분산 저장되었다.In the third configuration 530, 32 KBytes of data are distributed and stored in four channels and one way.

선택된 채널 및 웨이에 해당하는 메모리(532)들은 2 개의 블록들 각각에 4KByte의 데이터를 저장한다.The memories 532 corresponding to the selected channel and way store 4Kbytes of data in each of the two blocks.

제4 구성(540)에서, 32KByte의 데이터는 2 개의 채널 및 2 개의 웨이로 분산 저장되었다.In the fourth configuration 540, 32 KBytes of data were distributed and stored in two channels and two ways.

선택된 채널 및 웨이에 해당하는 메모리(542)들은 2 개의 블록들 각각에 4KByte의 데이터를 저장한다.The memories 542 corresponding to the selected channel and way store 4 KBytes of data in each of the two blocks.

제5 구성(550)에서, 32KByte의 데이터는 1 개의 채널 및 4 개의 웨이로 분산 저장되었다.In the fifth configuration 550, 32 KBytes of data were distributed and stored in one channel and four ways.

선택된 채널 및 웨이에 해당하는 메모리(552)들은 2 개의 블록들 각각에 4KByte의 데이터를 저장한다.The memories 552 corresponding to the selected channel and way store 4 KByte data in each of the two blocks.

제6 구성(560)에서, 32KByte의 데이터는 1 개의 채널 및 8 개의 웨이로 분산 저장되었다.In the sixth configuration 560, 32 KBytes of data were distributed and stored in one channel and eight ways.

선택된 채널 및 웨이에 해당하는 메모리(562)들은 하나의 블록에 4KByte의 데이터를 저장한다.The memories 562 corresponding to the selected channel and way store 4KByte data in one block.

제6 구성(560)은 순간 소모 전류를 최소화 시킨 배치 기법이다.
The sixth configuration 560 is a placement technique that minimizes instantaneous power consumption.

도 6은 본 발명의 일 실시예에 따른 저장 장치 및 저장 장치의 제어기의 구성을 도시한다.6 illustrates a configuration of a storage device and a controller of the storage device according to an embodiment of the present invention.

저장 장치(100)가 직접 채널 간의 분할저장 방식 및 웨이 간의 분할저장 방식을 선택할 수 있지만, 경우에 따라서는, 상기 저장 장치(100)를 제어하는 호스트 등이 채널 간의 분할저장 방식 및 웨이 간의 분할저장 방식을 선택하는 것이 더 적합할 수 있다.Although the storage device 100 may directly select a split storage method between channels and a split storage method between ways, in some cases, a host controlling the storage device 100 may divide the storage method between channels and the split storage method between the channels. It may be more appropriate to choose a method.

예컨대, 저장 장치(100)가 직접 가용한 전력에 대한 정보를 획득할 수 없는 경우나, 호스트가 여러 개의 주변 장치(peripheral device)들을 시스템 전체에 가용한 전력에 맞추어 제어하는 경우가 있을 수 있다. 이러한 경우, 호스트가 내부의 특수한 제어기를 통해 저장 장치(100)의 채널 간의 분할저장 방식 및 웨이 간의 분할저장 방식을 결정하고, 결정된 방식을 저장 장치(100)로 제공하는 것이 더 바람직할 수 있다.For example, there may be a case in which the storage device 100 cannot obtain information on power available directly, or a host may control a plurality of peripheral devices according to the power available to the entire system. In this case, it may be more desirable for the host to determine a split storage method between channels of the storage device 100 and a split storage method between ways through a special controller therein, and provide the determined method to the storage device 100.

저장 장치 제어기(600)는 제어부(610) 및 인터페이스부(610)를 포함한다.The storage device controller 600 includes a controller 610 and an interface unit 610.

제어부(610)는 저장 장치(100)에게 가용한 전력에 기반하여 저장 장치(100)의 복수 개의 채널들 중 데이터를 저장할 채널들을 선택하고, 저장 장치(100) 복수 개의 웨이들 중 데이터를 기입할 웨이들을 선택한다.The controller 610 selects channels to store data among a plurality of channels of the storage device 100 based on power available to the storage device 100, and writes data among the plurality of ways of the storage device 100. Select the ways.

인터페이스부(620)는 선택된 채널들 및 선택된 웨이들에 대한 정보를 저장 장치(100)로 전송한다.The interface unit 620 transmits information about the selected channels and the selected ways to the storage device 100.

채널 간의 분할저장 방식 및 웨이 간의 분할저장 방식을 결정하기 위해, 인터페이스부(620)는 저장 장치(100)에 대한 정보, 예컨대 복수 개의 채널들 및 복수 개의 웨이들에 대한 정보를 저장 장치(100)로부터 수신할 수 있다.In order to determine a split storage method between channels and a split storage method between ways, the interface unit 620 may store information about the storage device 100, for example, information about a plurality of channels and a plurality of ways. Can be received from.

제어부(610)는 소모 전류 허용치 및 최저 성능 허용치 중 하나 이상에 기반하여, 데이터를 저장할 채널들 및 데이터를 기입할 웨이들을 선택할 수 있다.The controller 610 may select channels to store data and ways to write data based on one or more of the current consumption limit and the minimum performance allowance.

제어부(610)는 소모 전류 허용치 내의 전류를 소모하는 최대 개수만큼의 채널들을 데이터를 저장할 채널들로서 결정할 수 있고, 데이터의 크기 및 선택된 채널들의 개수에 기반하여 데이터를 기입할 웨이들의 개수를 결정할 수 있다.The controller 610 may determine the maximum number of channels consuming current within the allowable current allowance as channels to store data, and determine the number of ways to write data based on the size of the data and the number of selected channels. .

제어부(610)는 최저 성능 허용치를 충족시키는 최대 개수만큼 데이터를 기입할 웨이들의 개수를 결정할 수 있고, 데이터의 크기 및 선택된 웨이들의 개수에 기반하여 상기 데이터를 기입할 채널들의 개수를 결정할 수 있다.The controller 610 may determine the number of ways to write data by the maximum number that satisfies the lowest performance allowance, and determine the number of channels to write the data based on the size of the data and the number of selected ways.

앞서 도 1 내지 도 5를 참조하여 설명된 본 발명의 일 실시예에 따른 기술 적 내용들이 본 실시예에도 그대로 적용될 수 있다. 따라서 보다 상세한 설명은 이하 생략하기로 한다.
Technical contents according to an embodiment of the present invention described above with reference to FIGS. 1 to 5 may be applied to the present embodiment as it is. Therefore, more detailed description will be omitted below.

도 7은 본 발명의 일 실시예에 따른 SSD의 구조를 도시한다.7 illustrates a structure of an SSD according to an embodiment of the present invention.

저장 장치(100)는 SSD(700)일 수 있다.The storage device 100 may be an SSD 700.

저장 장치(100) 내의 메모리(154)는 SSD(700) 내의 플래쉬 메모리일 수 있다.The memory 154 in the storage device 100 may be flash memory in the SSD 700.

또한, 전술된 제어부(110)는 SSD(700)의 주소 변환 계층(Flash Translation Layer)(710)이거나 상기 주소 변환 계층을 포함하는 구성 요소일 수 있다.In addition, the controller 110 may be an address translation layer 710 of the SSD 700 or a component including the address translation layer.

SSD(700)는 주소 변환 계층(710) 및 저장부(120)를 포함한다.The SSD 700 includes an address translation layer 710 and a storage 120.

저장부(120) 내의 복수 개의 채널들 및 복수 개의 웨이들은 플래쉬 메모리 내의 메모리의 주소에 대응할 수 있다.The plurality of channels and the plurality of ways in the storage 120 may correspond to addresses of the memory in the flash memory.

예컨대, 데이터가 저장될 채널에 따라, 데이터의 주소 중 상위 n 비트가 결정될 수 있다. 또한, 데이터가 저장될 웨이에 따라, 데이터의 주소 중 다음 m 비트가 결정될 수 있다. 데이터의 주소 중 n 및 m 비트를 제외한 나머지 비트들은 채널 및 웨이에 의해 결정되는 플레쉬 메모리 칩 내에서의 주소를 나타낼 수 있다.For example, according to a channel in which data is to be stored, the upper n bits of the address of the data may be determined. In addition, according to the way in which the data is to be stored, the next m bits of the address of the data may be determined. The remaining bits except for the n and m bits of the address of the data may represent an address within the flash memory chip determined by the channel and the way.

따라서, FTL(710)이 특정 데이터를 저장하기 위해 채널 및 웨이를 결정한다는 것은, FTL(710)이 데이터가 저장될 SSD(700)의 내부 주소를 결정한다는 것을 의미할 수 있다.Thus, determining the channel and way for the FTL 710 to store specific data may mean that the FTL 710 determines the internal address of the SSD 700 in which the data will be stored.

또한, SSD(700)에게 가용한 전력은, SSD(700)에게 가용한 에너지 중 하나로 볼 수 있다.In addition, the power available to the SSD 700 may be regarded as one of the energy available to the SSD 700.

따라서, FTL(710)는 SSD(700)에게 가용한 에너지에 기반하여 데이터가 저장될 주소를 결정할 수 있다.Accordingly, the FTL 710 may determine an address where data is to be stored based on the energy available to the SSD 700.

또한, FTL(710)는 가용한 에너지에 기반하여 복수 개의 채널들 중 데이터를 저장할 채널들을 선택할 수 있고, 상기 복수 개의 웨이들 중 데이터를 기입할 웨이들을 선택할 수 있다. FTL(710)은 선택된 채널들 및 선택된 웨이들에 데이터가 분할 기입되도록 주소를 결정할 수 있다.In addition, the FTL 710 may select channels to store data among a plurality of channels based on available energy, and select ways to write data among the plurality of ways. The FTL 710 may determine an address such that data is divided and written into selected channels and selected ways.

이러한 FTL(710)의 사상 기법은 소모 전류 및 성능의 상관관계를 동시에 고려하는 것으로서, SSD(700)의 에너지 소모 효율을 극대화한다. 또한, FTL(710)은 소모 전류 허용치를 넘지 않는 SSD 주소 사상(mapping) 기법을 제공한다. 따라서, SSD(700)의 자료 기록에 있어서 신뢰성이 보장된다.The mapping technique of the FTL 710 simultaneously considers a correlation between power consumption and performance, thereby maximizing the energy consumption efficiency of the SSD 700. In addition, the FTL 710 provides an SSD address mapping technique that does not exceed the current consumption limit. Therefore, reliability is ensured in data recording of the SSD 700.

앞서 도 1 내지 도 6을 참조하여 설명된 본 발명의 일 실시예에 따른 기술 적 내용들이 본 실시예에도 그대로 적용될 수 있다. 따라서 보다 상세한 설명은 이하 생략하기로 한다.
Technical contents according to an embodiment of the present invention described above with reference to FIGS. 1 to 6 may be applied to the present embodiment as it is. Therefore, more detailed description will be omitted below.

도 8은 본 발명의 일 실시예에 따른 저장 장치에 데이터를 저장하는 방법을 설명한다.8 illustrates a method of storing data in a storage device according to an embodiment of the present invention.

하기의 단계들(S810 내지 S830)은, 전술된 저장 장치(100) 및 저장 장치 제어기(600)에 의해 전부 또는 일부가 수행될 수 있다.The following steps S810 to S830 may be performed in whole or in part by the storage device 100 and the storage controller 600 described above.

저장 장치(100)는 복수 개의 채널들을 포함한다. 각 채널은 복수 개의 웨이들을 포함한다. 각 웨이는 메모리를 포함한다.The storage device 100 includes a plurality of channels. Each channel includes a plurality of ways. Each way contains a memory.

단계(S810)에서, 저장 장치(100)에게 제공될 수 있는 가용 전력에 대한 정보가 획득된다.In operation S810, information on available power that may be provided to the storage device 100 is obtained.

단계(S820)에서, 가용 전력에 기반하여 복수 개의 채널들 중 데이터를 저장할 채널들이 선택되고, 복수 개의 웨이들 중 데이터를 기입할 웨이들이 선택된다.In operation S820, channels for storing data are selected among the plurality of channels based on available power, and ways for writing data among the plurality of ways are selected.

단계(S830)에서, 선택된 채널들 내의 선택된 웨이들의 메모리에 상기 데이터가 분할하여 기입된다.In step S830, the data is divided and written in the memory of the selected ways in the selected channels.

저장 장치(100)는 데이터를 기입할 때 선택된 채널들의 개수가 더 많을 수록 더 많은 전류를 소비한다.The storage device 100 consumes more current as the number of selected channels increases when writing data.

데이터는 상기 복수 개의 채널들로 동시에 분할하여 전송될 수 있고, 복수 개의 채널들 각각으로 분할되어 전송된 데이터는 재분할되어 복수 개의 웨이들 각각으로 순차적으로 전송될 수 있다.Data may be divided and transmitted simultaneously into the plurality of channels, and data divided and transmitted into each of the plurality of channels may be repartitioned and sequentially transmitted to each of the plurality of ways.

데이터를 저장할 채널들 및 데이터를 기입할 웨이들은 소모 전류 허용치 및 최저 성능 허용치 중 하나 이상에 기반하여 선택될 수 있다.Channels to store data and ways to write data may be selected based on one or more of a current consumption allowance and a lowest performance allowance.

데이터를 기입할 채널들은 가용 전력에 따른 소모 전류 허용치 내의 전류를 소모하는 채널들의 최대 개수 내에서 선택될 수 있다. 이 때, 데이터를 기입할 웨이들은 데이터의 크기 및 결정된 채널들의 개수에 기반하여 결정될 수 있다.Channels to write data may be selected within the maximum number of channels consuming current within the current consumption tolerance according to available power. At this time, the ways to write data may be determined based on the size of the data and the number of channels determined.

데이터를 기입할 웨이들은 최저 성능 허용치를 충족시키는 웨이들의 최대 개수 내에서 결정될 수 있다. 이 때, 데이터를 기입할 채널들은 데이터의 크기 및 결정된 웨이들의 개수에 기반하여 결정될 수 있다. 단, 결정된 채널들의 개수는 가용 전력에 따른 소모 전류 허용치 내의 전류를 소모하는 채널들의 최대 개수 이하이다.Ways to write data may be determined within the maximum number of ways that meet the lowest performance tolerance. At this time, the channels to write data may be determined based on the size of the data and the number of determined ways. However, the determined number of channels is less than or equal to the maximum number of channels consuming current within the current consumption allowance according to available power.

앞서 도 1 내지 도 7을 참조하여 설명된 본 발명의 일 실시예에 따른 기술 적 내용들이 본 실시예에도 그대로 적용될 수 있다. 따라서 보다 상세한 설명은 이하 생략하기로 한다.
Technical contents according to an embodiment of the present invention described above with reference to FIGS. 1 to 7 may be applied to the present embodiment as it is. Therefore, more detailed description will be omitted below.

본 발명의 일 실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.Method according to an embodiment of the present invention is implemented in the form of program instructions that can be executed by various computer means may be recorded on a computer readable medium. The computer readable medium may include program instructions, data files, data structures, etc. alone or in combination. The program instructions recorded on the medium may be those specially designed and constructed for the present invention or may be available to those skilled in the art of computer software. Examples of computer-readable recording media include magnetic media such as hard disks, floppy disks, and magnetic tape, optical media such as CD-ROMs, DVDs, and magnetic disks, such as floppy disks. Magneto-optical media, and hardware devices specifically configured to store and execute program instructions, such as ROM, RAM, flash memory, and the like. Examples of program instructions include not only machine code generated by a compiler, but also high-level language code that can be executed by a computer using an interpreter or the like. The hardware device described above may be configured to operate as one or more software modules to perform the operations of the present invention, and vice versa.

이상과 같이 본 발명은 비록 한정된 실시예와 도면에 의해 설명되었으나, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상의 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다.As described above, the present invention has been described by way of limited embodiments and drawings, but the present invention is not limited to the above embodiments, and those skilled in the art to which the present invention pertains various modifications and variations from such descriptions. This is possible.

그러므로, 본 발명의 범위는 설명된 실시예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.Therefore, the scope of the present invention should not be limited to the described embodiments, but should be determined by the equivalents of the claims, as well as the claims.

100: 저장 장치
600: 저장 장치 제어기
700: SSD
100: Storage device
600: storage device controller
700: SSD

Claims (22)

저장 장치에 있어서,
복수 개의 채널들 - 각 채널은 복수 개의 웨이들을 포함함, 각 웨이는 메모리를 포함함 -; 및
제어부;
를 포함하고,
상기 제어부는 상기 저장 장치에게 가용한 전력에 기반하여 상기 복수 개의 채널들 중 데이터를 저장할 채널들을 선택하고, 상기 복수 개의 웨이들 중 데이터를 기입할 웨이들을 선택하고,
상기 복수 개의 채널들은 동시에 상기 데이터를 서로간에 분할하여 기입하고, 상기 각 채널에 포함되는 상기 복수 개의 웨이들은 순차적으로 상기 분할된 데이터를 서로간에 재분할하여 기입하는, 저장 장치.
In the storage device,
A plurality of channels, each channel comprising a plurality of ways, each way comprising a memory; And
A control unit;
Lt; / RTI >
The controller selects channels to store data from among the plurality of channels based on power available to the storage device, selects ways to write data among the plurality of ways,
And the plurality of channels simultaneously divides and writes the data to each other, and the plurality of ways included in each channel sequentially rewrite the divided data to each other and write.
제1항에 있어서,
상기 저장 장치 및 상기 메모리는 비휘발성인, 저장 장치.
The method of claim 1,
The storage device and the memory are non-volatile.
삭제delete 제1항에 있어서,
상기 저장 장치는 상기 데이터를 기입할 때 상기 선택된 채널들에 대한 동시 기록을 위해 상기 선택된 채널들의 개수가 더 많을 수록 더 많은 전류를 소비하는, 저장 장치.
The method of claim 1,
The storage device consumes more current as the number of the selected channels increases for simultaneous writing to the selected channels when writing the data.
제1항에 있어서,
호스트 장치로부터 소모 전류 허용치에 대한 정보를 수신하는 인터페이스부
를 더 포함하고,
상기 제어부는 상기 소모 전류 허용치에 대한 정보에 기반하여 상기 소모 전류 허용치를 인식하는, 저장 장치.
The method of claim 1,
Interface unit for receiving information on the current consumption allowance from the host device
Further comprising:
The control unit recognizes the consumption current allowance based on the information on the consumption current allowance.
제1항에 있어서,
상기 제어부는 소모 전류 허용치 및 최저 성능 허용치 중 하나 이상에 기반하여, 상기 데이터를 저장할 채널들 및 상기 데이터를 기입할 웨이들을 선택하는, 저장 장치.
The method of claim 1,
And the controller selects channels to store the data and ways to write the data based on one or more of a current consumption allowance and a minimum performance allowance.
제1항에 있어서,
상기 제어부는 상기 가용 전력에 따른 소모 전류 허용치 내의 전류를 소모하는 채널들의 최대 개수 내에서 상기 데이터를 기입할 채널을 결정하고, 상기 데이터의 크기 및 상기 결정된 채널들의 개수에 기반하여 상기 데이터를 기입할 웨이들의 개수를 결정하는, 저장 장치.
The method of claim 1,
The controller determines a channel to write the data within a maximum number of channels consuming current within the allowable current consumption value according to the available power, and writes the data based on the size of the data and the determined number of channels. The storage device determines the number of ways.
제1항에 있어서,
상기 제어부는 최저 성능 허용치를 충족시키는 웨이들의 최대 개수 내에서 상기 데이터를 기입할 웨이들을 결정하고, 상기 데이터의 크기 및 상기 결정된 웨이들의 개수에 기반하여 상기 데이터를 기입할 채널들을 결정하며, 상기 결정된 채널들의 개수는 상기 가용 전력에 따른 소모 전류 허용치 내의 전류를 소모하는 채널들의 최대 개수 이하인, 저장 장치.
The method of claim 1,
The controller determines ways to write the data within the maximum number of ways that meet the lowest performance tolerance, and determines channels to write the data based on the size of the data and the determined number of ways. Wherein the number of channels is less than or equal to the maximum number of channels consuming current within the current consumption tolerance according to the available power.
저장 장치를 제어하는 제어기에 있어서 - 상기 저장 장치는 복수 개의 채널들을 포함하고, 각 채널은 복수 개의 웨이들을 포함하고, 각 웨이는 메모리를 포함함 -,
상기 저장 장치에게 가용한 전력에 기반하여 상기 복수 개의 채널들 중 데이터를 저장할 채널들을 선택하고, 상기 복수 개의 웨이들 중 데이터를 기입할 웨이들을 선택하는 제어부; 및
상기 선택된 채널들 및 상기 선택된 웨이들에 대한 정보를 상기 저장 장치로 전송하는 인터페이스부
를 포함하고,
상기 제어부는 소모 전류 허용치 내의 전류를 소모하는 최대 개수만큼의 채널들을 상기 데이터를 저장할 채널들로서 결정하고, 상기 데이터의 크기 및 상기 선택된 채널들의 개수에 기반하여 상기 데이터를 기입할 웨이들의 개수를 결정하는, 저장 장치 제어기.
A controller for controlling a storage device, the storage device comprising a plurality of channels, each channel comprising a plurality of ways, each way comprising a memory,
A controller configured to select channels to store data among the plurality of channels based on power available to the storage device and to select ways to write data among the plurality of ways; And
Interface unit for transmitting the information about the selected channels and the selected way to the storage device
Lt; / RTI >
The controller determines the maximum number of channels consuming the current within the allowable current allowance as channels to store the data, and determines the number of ways to write the data based on the size of the data and the number of the selected channels. , Storage controller.
제9항에 있어서,
상기 인터페이스부는 상기 복수 개의 채널들 및 상기 복수 개의 웨이들에 대한 정보를 상기 저장 장치로부터 수신하는, 저장 장치 제어기.
10. The method of claim 9,
And the interface unit receives information about the plurality of channels and the plurality of ways from the storage device.
삭제delete 삭제delete 삭제delete SSD에 있어서,
복수 개의 채널들 - 각 채널은 복수 개의 웨이들을 포함함, 각 웨이는 메모리를 포함함, 메모리들 각각은 채널 및 웨이에 따라 주소가 할당됨 -; 및
주소 변환 계층;
를 포함하고,
상기 주소 변환 계층은 상기 SSD에게 가용한 에너지에 기반하여 데이터가 저장될 상기 주소를 결정하고,
상기 복수 개의 채널들은 동시에 상기 데이터를 서로간에 분할하여 기입하고, 상기 각 채널에 포함되는 상기 복수 개의 웨이들은 순차적으로 상기 분할된 데이터를 서로간에 재분할하여 기입하는, SSD.
In SSD,
A plurality of channels, each channel comprising a plurality of ways, each way comprising a memory, each of the memories being assigned an address according to the channel and the way; And
Address translation layer;
Lt; / RTI >
The address translation layer determines the address where data is to be stored based on the energy available to the SSD,
And the plurality of channels simultaneously divides and writes the data to each other, and the plurality of ways included in each channel sequentially rewrite the divided data to each other.
제14항에 있어서,
상기 주소 변환 계층은 상기 가용한 에너지에 기반하여 상기 복수 개의 채널들 중 데이터를 저장할 채널들을 선택하고, 상기 복수 개의 웨이들 중 데이터를 기입할 웨이들을 선택하며, 상기 주소 변환 계층은 상기 선택된 채널들 및 상기 선택된 웨이들에 상기 데이터가 분할 기입되도록 상기 주소를 결정하는, SSD.
15. The method of claim 14,
The address translation layer selects channels to store data among the plurality of channels based on the available energy, selects ways to write data among the plurality of ways, and the address translation layer selects the selected channels. And determine the address such that the data is divided and written to the selected ways.
저장 장치에 데이터를 저장하는 방법에 있어서 - 저장 장치는 복수 개의 채널들을 포함함, 각 채널은 복수 개의 웨이들을 포함함, 각 웨이는 메모리를 포함함 -,
상기 저장 장치에게 제공될 수 있는 가용 전력에 대한 정보가 획득되는 단계;
상기 가용 전력에 기반하여 상기 복수 개의 채널들 중 데이터를 저장할 채널들을 선택하고, 상기 복수 개의 웨이들 중 데이터를 기입할 웨이들을 선택하는 단계; 및
상기 선택된 채널들 내의 상기 선택된 웨이들의 메모리에 상기 데이터를 분할하여 기입하는 단계
를 포함하는, 데이터 저장 방법.
A method of storing data in a storage device, the storage device comprising a plurality of channels, each channel comprising a plurality of ways, each way comprising a memory,
Obtaining information about available power that may be provided to the storage device;
Selecting channels to store data among the plurality of channels based on the available power, and selecting ways to write data among the plurality of ways; And
Dividing and writing the data into the memory of the selected ways in the selected channels
Comprising a data storage method.
제16항에 있어서,
상기 저장 장치 및 상기 메모리는 비휘발성인, 데이터 저장 방법.
17. The method of claim 16,
And the storage device and the memory are nonvolatile.
제16항에 있어서,
상기 선택된 채널들 내의 상기 선택된 웨이들에 상기 데이터를 분할하여 기입하는 단계는,
상기 데이터를 상기 복수 개의 채널들로 동시에 분할하여 전송하는 단계; 및
상기 복수 개의 채널들 각각으로 상기 분할되어 전송된 데이터를 재분할 하여 상기 복수 개의 웨이들 각각으로 순차적으로 전송하는 단계
를 포함하는, 데이터 저장 방법.
17. The method of claim 16,
Dividing and writing the data into the selected ways in the selected channels,
Simultaneously dividing and transmitting the data into the plurality of channels; And
Subdividing the divided and transmitted data into each of the plurality of channels and sequentially transmitting the divided data to each of the plurality of ways
Comprising a data storage method.
제16항에 있어서,
상기 저장 장치는 상기 데이터를 기입할 때 상기 선택된 채널들의 개수가 더 많을 수록 더 많은 전류를 소비하는, 데이터 저장 방법.
17. The method of claim 16,
And the storage device consumes more current as the number of the selected channels increases when writing the data.
제16항에 있어서,
상기 가용 전력에 기반하여 상기 복수 개의 채널들 중 데이터를 저장할 채널들 및 상기 복수 개의 웨이들 중 데이터를 기입할 웨이들을 선택하는 단계는,
소모 전류 허용치 및 최저 성능 허용치 중 하나 이상에 기반하여, 상기 데이터를 저장할 채널들 및 상기 데이터를 기입할 웨이들을 선택하는 단계
를 포함하는, 데이터 저장 방법.
17. The method of claim 16,
Selecting channels of the plurality of channels to store data and ways of writing the data of the plurality of ways based on the available power,
Selecting channels to store the data and ways to write the data based on one or more of a current consumption tolerance and a lowest performance tolerance
Comprising a data storage method.
제16항에 있어서,
상기 가용 전력에 기반하여 상기 복수 개의 채널들 중 데이터를 저장할 채널들 및 상기 복수 개의 웨이들 중 데이터를 기입할 웨이들을 선택하는 단계는,
상기 가용 전력에 따른 소모 전류 허용치 내의 전류를 소모하는 채널들의 최대 개수 내에서 상기 데이터를 기입할 채널들을 결정하는 단계; 및
상기 데이터의 크기 및 상기 결정된 채널들의 개수에 기반하여 상기 데이터를 기입할 웨이들을 결정하는 단계;
를 포함하는, 데이터 저장 방법.
17. The method of claim 16,
Selecting channels of the plurality of channels to store data and ways of writing the data of the plurality of ways based on the available power,
Determining channels for writing the data within a maximum number of channels consuming current within a current consumption allowance according to the available power; And
Determining ways to write the data based on the size of the data and the determined number of channels;
Comprising a data storage method.
제16항에 있어서,
상기 가용 전력에 기반하여 상기 복수 개의 채널들 중 데이터를 저장할 채널들 및 상기 복수 개의 웨이들 중 데이터를 기입할 웨이들을 선택하는 단계는,
최저 성능 허용치를 충족시키는 웨이들의 최대 개수 내에서 상기 데이터를 기입할 웨이들을 결정하는 단계; 및
상기 데이터의 크기 및 상기 결정된 웨이들의 개수에 기반하여 상기 데이터를 기입할 채널들을 결정하는 단계
를 포함하고, 상기 결정된 채널들의 개수는 상기 가용 전력에 따른 소모 전류 허용치 내의 전류를 소모하는 채널들의 최대 개수 이하인, 데이터 저장 방법.
17. The method of claim 16,
Selecting channels of the plurality of channels to store data and ways of writing the data of the plurality of ways based on the available power,
Determining ways to write the data within the maximum number of ways that meet a lowest performance tolerance; And
Determining channels for writing the data based on the size of the data and the determined number of ways
And the determined number of channels is less than or equal to the maximum number of channels consuming current within the current consumption tolerance according to the available power.
KR1020100136503A 2010-12-28 2010-12-28 Method and apparatus for multi-channel data storing based on power consumption KR101280792B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020100136503A KR101280792B1 (en) 2010-12-28 2010-12-28 Method and apparatus for multi-channel data storing based on power consumption

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020100136503A KR101280792B1 (en) 2010-12-28 2010-12-28 Method and apparatus for multi-channel data storing based on power consumption

Publications (2)

Publication Number Publication Date
KR20120074612A KR20120074612A (en) 2012-07-06
KR101280792B1 true KR101280792B1 (en) 2013-07-17

Family

ID=46708707

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020100136503A KR101280792B1 (en) 2010-12-28 2010-12-28 Method and apparatus for multi-channel data storing based on power consumption

Country Status (1)

Country Link
KR (1) KR101280792B1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10331366B2 (en) 2015-04-17 2019-06-25 Samsung Electronics Co., Ltd. Method of operating data storage device and method of operating system including the same
US11922037B2 (en) 2021-11-02 2024-03-05 Samsung Electronics Co., Ltd. Controller, storage device and operation method of storage device

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105096993B (en) * 2015-09-21 2017-11-07 北京联想核芯科技有限公司 Solid state hard disc, electronic equipment and information processing method
KR102572357B1 (en) * 2016-02-03 2023-08-29 삼성전자주식회사 Raid-6 data storage device and data processing system having the same

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20100087809A (en) * 2009-01-29 2010-08-06 주식회사 하이닉스반도체 Non volatile memory device and operating method thereof

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20100087809A (en) * 2009-01-29 2010-08-06 주식회사 하이닉스반도체 Non volatile memory device and operating method thereof

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Jinha Park et al., "Power Modeling of Solid State Disk for Dynamic Power Management Polity Design in Embedded Systems", LNCS Vol. 5860, pp 24-35, 2009. *
Jinha Park et al., "Power Modeling of Solid State Disk for Dynamic Power Management Polity Design in Embedded Systems", LNCS Vol. 5860, pp 24-35, 2009.*

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10331366B2 (en) 2015-04-17 2019-06-25 Samsung Electronics Co., Ltd. Method of operating data storage device and method of operating system including the same
US11922037B2 (en) 2021-11-02 2024-03-05 Samsung Electronics Co., Ltd. Controller, storage device and operation method of storage device

Also Published As

Publication number Publication date
KR20120074612A (en) 2012-07-06

Similar Documents

Publication Publication Date Title
EP2345037B1 (en) Translation layer in a solid state storage device
US8606987B2 (en) Data writing method for flash memory and controller using the same
US8606988B2 (en) Flash memory control circuit for interleavingly transmitting data into flash memories, flash memory storage system thereof, and data transfer method thereof
US8589639B2 (en) Memory management unit and memory management method for controlling a nonvolatile memory and a volatile memory
JP5823875B2 (en) Solid memory formatting
US8473760B2 (en) Memory system and server system
US20100161885A1 (en) Semiconductor storage device and storage controlling method
US20090235013A1 (en) Mass Storage Device Having Both Xip Function and Storage Function
CN107402716B (en) Data writing method, memory control circuit unit and memory storage device
JP2012521033A (en) DRAM buffer management apparatus and method
US20100217920A1 (en) Memory system and address allocating method of flash translation layer thereof
US9123443B2 (en) Memory device, memory management device, and memory management method
US10776024B2 (en) Solid state drive and data accessing method thereof
KR20100094857A (en) Data storing device and power management method thereof
US20090204748A1 (en) Multi-channel flash memory system and access method
CN111444115B (en) Storage device and operation method thereof
KR101280792B1 (en) Method and apparatus for multi-channel data storing based on power consumption
US8954662B2 (en) SSD controller, and method for operating an SSD controller
JP2009175877A (en) Semiconductor memory
US11537303B1 (en) Dissimilar write prioritization in ZNS devices
US11593023B2 (en) Memory controller and method of operating the same
US20150254011A1 (en) Memory system, memory controller and control method of non-volatile memory
KR20100095938A (en) Flash memory device
KR20220052161A (en) Memory device and operating method thereof
CN107239224B (en) Data protection method, memory control circuit unit and memory storage device

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20160418

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20170403

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20190415

Year of fee payment: 7