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 PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/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
아래의 실시예들은 소모 전력에 기반하여 데이터를 기록하는 방법 및 장치에 관한 것이다.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
저장 장치(100)는 제어부(110) 및 저장부(120)를 포함한다.The
제어부(110)는 데이터를 저장부(120)로 기입(write)하는 동작 또는 저장부(120)로부터 저장된 데이터를 독출(read)하는 동작을 수행한다.The
저장부(120)는 데이터를 저장한다.The
저장부(120)는 복수 개의 메모리(memory)(154)(즉, 메모리 칩(chip) 또는 셀(cell))들을 포함한다. 도 1에서 32 개의 메모리(154)들이 도시되었다.The
메모리(154)는, 예컨대 낸드 플레쉬 메모리(nand flash memory)와 같은, NVRAM(Non-Volatile Random Access Memory)일 수 있다. The
저장 장치(100)는 비휘발성(non-volatile) 저장 장치일 수 있다. 구체적으로, 저장 장치(100)는 SSD(Solid State Disk), 임베디드된 멀티미디어 카드(embedded MultiMedia Card), 범용 직렬 버스(Universal Serial Bus; USB) 메모리, 시큐어 디지털(Secure Digital; SD) 카드 또는 기타 차세대 메모리 디바이스일 수 있다.
복수 개의 메모리(154)들은 채널 및 웨이로 구분된다. 즉, 저장 장치(100)는 채널 및 웨이가 구성된 저장 장치이다.The plurality of
채널은 도 1에서 도시된 메모리(154)들의 열(column)에 대응한다. 웨이는 도 1에서 도시된 메모리(154)들의 행(row)에 대응한다.The channel corresponds to the column of the
도 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
즉, 저장 장치(100) 또는 저장부(120)는 복수 개의 채널들을 포함하고, 각 채널은 각각 복수 개의 웨이들을 포함하며, 각 웨이는 메모리를 포함한다. (또는, 저장 장치(100)(또는 저장부(120))가 복수 개의 채널들 및 복수 개의 웨이들을 포함하는 것으로 볼 수 있다.)That is, the
도 1에서, 하나의 채널 내(예컨대, 채널 0(150))의 하나의 웨이(예컨대, 웨이 3(146)는 1 개의 메모리(예컨대, 메모리(154))를 포함한다.In FIG. 1, one way (eg, way 3 146) within one channel (eg,
하나 이상의 메모리들이 메모리 패키지(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,
채널은 독립적으로 데이터를 기입(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
인터페이스부는 저장 장치(100) 및 저장 장치(100)를 접근하는 호스트 장치(예컨대, 저장 장치(100)를 사용하는 개인용 컴퓨터)를 상호 연결한다.The interface unit interconnects the
저장 장치(100)는 인터페이스부를 통해 저장 장치(100)에 접근하는 호스트 장치로부터 소모 전류 허용치에 대한 정보를 수신할 수 있고, 제어부(110)는 수신된 소모 전류 허용치에 대한 정보를 사용하여 소모 전류 허용치를 인식할 수 있다.The
도 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
상단에서 채널 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
메모리(152)에 데이터가 기입되기 위해서는, 도시된 것처럼, "Cmd"(210), "Data"(212) 및 "Program"(214) 동작이 수행되어야한다. "Program"(214)으로 표시된 부분이 실제로 메모리에 데이터가 기입되는 구간이다.In order for data to be written to the
저장 장치(100) 또는 제어부(110) 내에는 채널 별로 데이터(data) 및 명령어(command)가 존재한다. 따라서, 각 채널에 대한 기입은 완벽하게 중첩되어 병렬적으로 이루어질 수 있다.In the
예컨대, 채널 0(130)의 웨이 0(140) 및 채널 1(132)의 웨이 0(140)는 동시에 데이터 기입을 위한 동작("Cmd"(210), "Data"(212) 및 "Program"(214))을 수행할 수 있다.For example,
전술된 것처럼, 저장부(120)에 데이터가 기입될 때, 저장부 내의 복수 개의 채널들은 동시에 데이터의 일부를 분할하여 기입할 수 있다.As described above, when data is written to the
반면, 도 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
즉, 한 채널 내의 복수 개의 웨이들은 순차적으로 상기 채널에게 분할된 데이터를 서로간에 재분할하여 기입한다. 이 때, 복수 개의 웨이들에 의한 기입은 부분적으로는 병렬로 수행될 수 있다.
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
전술된 것처럼, "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
저장 장치(100)의 구조가 복잡해지고, 저장 장치(100)의 속도 및 용량 향상을 위해 채널의 개수 및 웨이의 개수가 증가함에 따라, 저장 장치(100)에 데이터를 저장하기 요구되는 소모 전력이 더욱 문제시 된다.As the structure of the
저장 장치(100)에 의해 소모되는 전류가 급격히 증가하는 경우, 소모 전력 증가 또는 발열 문제가 발생할 수 있다. 뿐만 아니라, 저장 장치(100)의 회로에 과도한 전류가 흐름으로써 전압이 불안정해질 수 있으며, 이로 인해 메모리에 정보가 정확하게 기록되지 않을 수 있다. 이러한 문제는, 신뢰성 있는 데이터 저장을 목적으로 하는 저장 장치(100)에게는 치명적일 수 있다.When the current consumed by the
따라서, 저장 장치(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
저장 장치(100)가 사용할 수 있는 전력, 즉, 저장 장치(100)에게 가용한 전력(또는, 소모 전류 허용치)은 제한될 수 있다. 또한, 저장 장치(100)에게 특정한 최저 성능 허용치가 요구될 수 있다. 최저 성능 허용치는 저장 장치(100)가 특정한 크기의 데이터를 기록함에 있어 허용되는 최대 시간일 수 있다. 최저 성능 허용치는 저장 장치(100)가 특정한 크기의 데이터를 기록함에 있어 허용가능한 최대 기록 지연시간(write latency)일 수 있다. The power available to the
저장 장치(100) 또는 제어부(110)는 이러한 가용한 전력(또는, 소모 전류 허용치)에 대한 정보 및 최저 성능 허용치에 대한 정보를 외부의 호스트(host)(또는, 운영체제(operating system), 응용 프로그램(application)으로부터 획득할 수 있다. 또한, 저장 장치(100) 또는 제어부(110)는 가용한 전력(또는, 소모 전류 허용치)에 대한 정보 및 최저 성능 허용치에 대한 정보를 내부적으로 결정할 수 있다.The
가용한 전력(또는, 소모 전류 허용치)에 대한 정보는 저장 장치(100), 회로 또는 시스템 환경에 기반하여 결정될 수 있다.Information about the available power (or current consumption tolerance) may be determined based on the
제어부(110)는 소모 전류 허용치 및 최저 성능 허용치 중 하나 이상에 기반하여, 데이터를 저장할 채널들 및 상기 데이터를 기입할 웨이들을 선택할 수 있다. 즉, 제어부(110)는 소모 전류 허용치 및 최저 성능 허용치 중 하나 이상에 기반하여, 채널 간의 병렬저장 및 웨이 간의 병렬저장을 가변적으로 선택할 수 있다.The
제어부(110)는 저장 장치(100)에게 가용한 전력(power budget)에 기반하여 복수 개의 채널들 중 데이터를 저장할 채널들을 선택할 수 있고, 복수 개의 웨이들 중 데이터를 기입할 웨이들을 선택할 수 있다.The
즉, 제어부(110)는 저장 장치(100)에게 가용한 전력에 기반하여 상기 복수 개의 채널들 중 데이터를 저장할 채널들을 선택할 수 있다. 데이터를 저장할 채널이 선택되면, 제어부(110)는 선택된 채널 내의 복수 개의 웨이들 중 데이터를 저장할 웨이들을 선택할 수 있다.That is, the
데이터를 저장할 채널 및 웨이들이 선택되면, 제어부(110)는 선택된 채널 및 웨이로(즉, 선택된 채널 및 웨이의 메모리로) 데이터를 기입할 수 있다.
When a channel and a way to store the data are selected, the
도 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
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
8 채널의 저장 장치(100)에 데이터를 기록할 경우, 8 채널 × 1 웨이(430), 4 채널 × 2 웨이(432), 2 채널 × 4 웨이(434) 및 1 채널 × 8 웨이(436)로 저장하는 방법들이 사용될 수 있다.When data is written to the 8-
도시된 것처럼, 8 채널이 사용될 경우의 순간 소모 전류가 가장 높다. 반면, 1 채널 8 웨이로 기록될 경우에 기록을 위한 소요 시간이 가장 길어진다.As shown, the instantaneous power consumption is highest when 8 channels are used. On the other hand, when recording in one
즉, 동시 기록 채널의 개수를 증가시킬수록(즉, 웨이의 개수를 감소시킬수록), 기록 시간은 단축되지만, 순간 소모 전류는 증가한다. 반대로, 동시 기록 채널의 개수를 감소시킬수록(즉, 웨이의 개수를 증가시킬수록), 순간 소모 전류가 감소하는 반면, 총 기록 시간은 증가한다.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
즉, 소모 전류 허용치 이상의 전류를 소모하는, 8 채널 × 1 웨이 저장 방법(430)은 사용될 수 없다.That is, an eight channel by one
성능 허용치(420)는 저장 장치(100)가 데이터를 저장함에 있어서 요구되는 최저의 성능 허용치이다. 예컨대, 저장 장치(100)는 성능 허용치(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
허용 가능 전류(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
사용가능 해들(432 및 434) 중 어떠한 방식을 사용할 것인지는 구현에 따라 선택적으로 결정될 수 있다.Which of the
전술된 것과 같이, 제어부(110)는 소모 전류 허용치 및 최저 성능 허용치 중 하나 이상에 기반하여, 데이터를 저장할 채널들 및 데이터를 기입할 웨이들을 선택할 수 있다. 즉, 제어부(110)는 소모 전류 허용치 및 최저 성능 허용치를 동시에 고려하여 데이터를 저장할 채널들 및 데이터를 기입할 웨이들을 선택할 수 있다.As described above, the
제어부(110)는 가용 전력에 따른 소모 전류 허용치 내의 전류를 소모하는 채널들의 최대 개수 내에서 데이터를 기입할 채널을 결정할 수 있다. 또한, 제어부(110)는 데이터의 크기 및 결정된 채널들의 개수에 기반하여 데이터를 기입할 웨이들의 개수를 결정할 수 있다. 이 때, 결정된 웨이들의 개수는 데이터를 저장하기 위해 필요한 최소한의 개수일 수 있다.The
반면, 제어부(110)는 최저 성능 허용치를 충족시키는 웨이들의 최대 개수 내에서 데이터를 기입할 웨이들을 결정하고, 데이터의 크기 및 결정된 웨이들의 개수에 기반하여 데이터를 기입할 채널들을 결정할 수 있다. 이 때, 결정된 채널들의 개수는 가용 전력에 따른 소모 전류 허용치 내의 전류를 소모하는 채널들의 최대 개수 이하이다. 또한, 결정된 채널들의 개수는 데이터를 저장하기 위해 필요한 최소한의 개수일 수 있다. 즉, 결정된 채널들의 개수는 데이터를 저장하기에 충분하고, 소모 전류를 최소화하는 값일 수 있다.On the other hand, the
예컨대, 소모 전류 허용치가 없는 경우(즉, 순간 허용가능한 최대 전류가 제한되지 않은 경우), 제어부(110)는 채널 병렬도를 최대로하여 데이터를 저장할 수 있다.For example, when there is no consumption current allowance (that is, when the maximum allowable instantaneous current is not limited), the
소모 전류 허용치가 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
도 5는 본 발명의 일 예에 따른 병렬 저장의 구성들을 도시한다.5 illustrates configurations of parallel storage according to an example of the present invention.
메모리(512)는 4KByte의 블록으로 데이터를 저장하며, 2 개의 블록들(514 및 516)을 포함한다. (또는, 각각 4KByte를 저장하는 2 개의 메모리들이 하나의 웨이를 위한 메모리 패키지를 구성하는 것을 나타낼 수도 있다.)The
도 5의 저장부(120)는 8 개의 채널들 및 8 개의 웨이들로 구성된다.The
저장부(120)에는 8 개의 4KByte 페이지들로 구성된 연속된 32KByte의 데이터가 저장된다.The
제1 구성(510)에서, 32KByte의 데이터는 8 개의 채널 및 1 개의 웨이로 분산 저장되었다. In the
선택된 채널 및 웨이에 해당하는 메모리(518)들은 하나의 블록에 4KByte의 데이터를 저장한다.The
제1 구성(510)은 동시 기록 채널을 늘림으로써 기입 시간을 단축시키는 구성이다. 단, 제1 구성(510)에 의해 소모되는 순간 소모 전력은 다른 구성들(520 및 560)에 비해 더 높다. 즉, 제1 구성(510)은 저장 장치(100)의 기입 성능을 극대화 시킨 배치 기법으로 볼 수 있다.The
제2 구성(520)에서, 32KByte의 데이터는 4 개의 채널 및 2 개의 웨이로 분산 저장되었다.In the
선택된 채널 및 웨이에 해당하는 메모리(522)들은 하나의 블록에 4KByte의 데이터를 저장한다.The
제3 구성(530)에서, 32KByte의 데이터는 4 개의 채널 및 1 개의 웨이로 분산 저장되었다.In the
선택된 채널 및 웨이에 해당하는 메모리(532)들은 2 개의 블록들 각각에 4KByte의 데이터를 저장한다.The
제4 구성(540)에서, 32KByte의 데이터는 2 개의 채널 및 2 개의 웨이로 분산 저장되었다.In the
선택된 채널 및 웨이에 해당하는 메모리(542)들은 2 개의 블록들 각각에 4KByte의 데이터를 저장한다.The
제5 구성(550)에서, 32KByte의 데이터는 1 개의 채널 및 4 개의 웨이로 분산 저장되었다.In the
선택된 채널 및 웨이에 해당하는 메모리(552)들은 2 개의 블록들 각각에 4KByte의 데이터를 저장한다.The
제6 구성(560)에서, 32KByte의 데이터는 1 개의 채널 및 8 개의 웨이로 분산 저장되었다.In the
선택된 채널 및 웨이에 해당하는 메모리(562)들은 하나의 블록에 4KByte의 데이터를 저장한다.The
제6 구성(560)은 순간 소모 전류를 최소화 시킨 배치 기법이다.
The
도 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
예컨대, 저장 장치(100)가 직접 가용한 전력에 대한 정보를 획득할 수 없는 경우나, 호스트가 여러 개의 주변 장치(peripheral device)들을 시스템 전체에 가용한 전력에 맞추어 제어하는 경우가 있을 수 있다. 이러한 경우, 호스트가 내부의 특수한 제어기를 통해 저장 장치(100)의 채널 간의 분할저장 방식 및 웨이 간의 분할저장 방식을 결정하고, 결정된 방식을 저장 장치(100)로 제공하는 것이 더 바람직할 수 있다.For example, there may be a case in which the
저장 장치 제어기(600)는 제어부(610) 및 인터페이스부(610)를 포함한다.The
제어부(610)는 저장 장치(100)에게 가용한 전력에 기반하여 저장 장치(100)의 복수 개의 채널들 중 데이터를 저장할 채널들을 선택하고, 저장 장치(100) 복수 개의 웨이들 중 데이터를 기입할 웨이들을 선택한다.The
인터페이스부(620)는 선택된 채널들 및 선택된 웨이들에 대한 정보를 저장 장치(100)로 전송한다.The
채널 간의 분할저장 방식 및 웨이 간의 분할저장 방식을 결정하기 위해, 인터페이스부(620)는 저장 장치(100)에 대한 정보, 예컨대 복수 개의 채널들 및 복수 개의 웨이들에 대한 정보를 저장 장치(100)로부터 수신할 수 있다.In order to determine a split storage method between channels and a split storage method between ways, the
제어부(610)는 소모 전류 허용치 및 최저 성능 허용치 중 하나 이상에 기반하여, 데이터를 저장할 채널들 및 데이터를 기입할 웨이들을 선택할 수 있다.The
제어부(610)는 소모 전류 허용치 내의 전류를 소모하는 최대 개수만큼의 채널들을 데이터를 저장할 채널들로서 결정할 수 있고, 데이터의 크기 및 선택된 채널들의 개수에 기반하여 데이터를 기입할 웨이들의 개수를 결정할 수 있다.The
제어부(610)는 최저 성능 허용치를 충족시키는 최대 개수만큼 데이터를 기입할 웨이들의 개수를 결정할 수 있고, 데이터의 크기 및 선택된 웨이들의 개수에 기반하여 상기 데이터를 기입할 채널들의 개수를 결정할 수 있다.The
앞서 도 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
저장 장치(100) 내의 메모리(154)는 SSD(700) 내의 플래쉬 메모리일 수 있다.The
또한, 전술된 제어부(110)는 SSD(700)의 주소 변환 계층(Flash Translation Layer)(710)이거나 상기 주소 변환 계층을 포함하는 구성 요소일 수 있다.In addition, the
SSD(700)는 주소 변환 계층(710) 및 저장부(120)를 포함한다.The
저장부(120) 내의 복수 개의 채널들 및 복수 개의 웨이들은 플래쉬 메모리 내의 메모리의 주소에 대응할 수 있다.The plurality of channels and the plurality of ways in the
예컨대, 데이터가 저장될 채널에 따라, 데이터의 주소 중 상위 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
또한, SSD(700)에게 가용한 전력은, SSD(700)에게 가용한 에너지 중 하나로 볼 수 있다.In addition, the power available to the
따라서, FTL(710)는 SSD(700)에게 가용한 에너지에 기반하여 데이터가 저장될 주소를 결정할 수 있다.Accordingly, the
또한, FTL(710)는 가용한 에너지에 기반하여 복수 개의 채널들 중 데이터를 저장할 채널들을 선택할 수 있고, 상기 복수 개의 웨이들 중 데이터를 기입할 웨이들을 선택할 수 있다. FTL(710)은 선택된 채널들 및 선택된 웨이들에 데이터가 분할 기입되도록 주소를 결정할 수 있다.In addition, the
이러한 FTL(710)의 사상 기법은 소모 전류 및 성능의 상관관계를 동시에 고려하는 것으로서, SSD(700)의 에너지 소모 효율을 극대화한다. 또한, FTL(710)은 소모 전류 허용치를 넘지 않는 SSD 주소 사상(mapping) 기법을 제공한다. 따라서, SSD(700)의 자료 기록에 있어서 신뢰성이 보장된다.The mapping technique of the
앞서 도 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
저장 장치(100)는 복수 개의 채널들을 포함한다. 각 채널은 복수 개의 웨이들을 포함한다. 각 웨이는 메모리를 포함한다.The
단계(S810)에서, 저장 장치(100)에게 제공될 수 있는 가용 전력에 대한 정보가 획득된다.In operation S810, information on available power that may be provided to the
단계(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
데이터는 상기 복수 개의 채널들로 동시에 분할하여 전송될 수 있고, 복수 개의 채널들 각각으로 분할되어 전송된 데이터는 재분할되어 복수 개의 웨이들 각각으로 순차적으로 전송될 수 있다.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: SSD100: 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.
상기 저장 장치 및 상기 메모리는 비휘발성인, 저장 장치.The method of claim 1,
The storage device and the memory are non-volatile.
상기 저장 장치는 상기 데이터를 기입할 때 상기 선택된 채널들에 대한 동시 기록을 위해 상기 선택된 채널들의 개수가 더 많을 수록 더 많은 전류를 소비하는, 저장 장치. 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.
호스트 장치로부터 소모 전류 허용치에 대한 정보를 수신하는 인터페이스부
를 더 포함하고,
상기 제어부는 상기 소모 전류 허용치에 대한 정보에 기반하여 상기 소모 전류 허용치를 인식하는, 저장 장치.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.
상기 제어부는 소모 전류 허용치 및 최저 성능 허용치 중 하나 이상에 기반하여, 상기 데이터를 저장할 채널들 및 상기 데이터를 기입할 웨이들을 선택하는, 저장 장치.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.
상기 제어부는 상기 가용 전력에 따른 소모 전류 허용치 내의 전류를 소모하는 채널들의 최대 개수 내에서 상기 데이터를 기입할 채널을 결정하고, 상기 데이터의 크기 및 상기 결정된 채널들의 개수에 기반하여 상기 데이터를 기입할 웨이들의 개수를 결정하는, 저장 장치.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.
상기 제어부는 최저 성능 허용치를 충족시키는 웨이들의 최대 개수 내에서 상기 데이터를 기입할 웨이들을 결정하고, 상기 데이터의 크기 및 상기 결정된 웨이들의 개수에 기반하여 상기 데이터를 기입할 채널들을 결정하며, 상기 결정된 채널들의 개수는 상기 가용 전력에 따른 소모 전류 허용치 내의 전류를 소모하는 채널들의 최대 개수 이하인, 저장 장치.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.
상기 인터페이스부는 상기 복수 개의 채널들 및 상기 복수 개의 웨이들에 대한 정보를 상기 저장 장치로부터 수신하는, 저장 장치 제어기.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.
복수 개의 채널들 - 각 채널은 복수 개의 웨이들을 포함함, 각 웨이는 메모리를 포함함, 메모리들 각각은 채널 및 웨이에 따라 주소가 할당됨 -; 및
주소 변환 계층;
를 포함하고,
상기 주소 변환 계층은 상기 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.
상기 주소 변환 계층은 상기 가용한 에너지에 기반하여 상기 복수 개의 채널들 중 데이터를 저장할 채널들을 선택하고, 상기 복수 개의 웨이들 중 데이터를 기입할 웨이들을 선택하며, 상기 주소 변환 계층은 상기 선택된 채널들 및 상기 선택된 웨이들에 상기 데이터가 분할 기입되도록 상기 주소를 결정하는, 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.
상기 저장 장치 및 상기 메모리는 비휘발성인, 데이터 저장 방법.17. The method of claim 16,
And the storage device and the memory are nonvolatile.
상기 선택된 채널들 내의 상기 선택된 웨이들에 상기 데이터를 분할하여 기입하는 단계는,
상기 데이터를 상기 복수 개의 채널들로 동시에 분할하여 전송하는 단계; 및
상기 복수 개의 채널들 각각으로 상기 분할되어 전송된 데이터를 재분할 하여 상기 복수 개의 웨이들 각각으로 순차적으로 전송하는 단계
를 포함하는, 데이터 저장 방법.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.
상기 저장 장치는 상기 데이터를 기입할 때 상기 선택된 채널들의 개수가 더 많을 수록 더 많은 전류를 소비하는, 데이터 저장 방법.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.
상기 가용 전력에 기반하여 상기 복수 개의 채널들 중 데이터를 저장할 채널들 및 상기 복수 개의 웨이들 중 데이터를 기입할 웨이들을 선택하는 단계는,
소모 전류 허용치 및 최저 성능 허용치 중 하나 이상에 기반하여, 상기 데이터를 저장할 채널들 및 상기 데이터를 기입할 웨이들을 선택하는 단계
를 포함하는, 데이터 저장 방법.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.
상기 가용 전력에 기반하여 상기 복수 개의 채널들 중 데이터를 저장할 채널들 및 상기 복수 개의 웨이들 중 데이터를 기입할 웨이들을 선택하는 단계는,
상기 가용 전력에 따른 소모 전류 허용치 내의 전류를 소모하는 채널들의 최대 개수 내에서 상기 데이터를 기입할 채널들을 결정하는 단계; 및
상기 데이터의 크기 및 상기 결정된 채널들의 개수에 기반하여 상기 데이터를 기입할 웨이들을 결정하는 단계;
를 포함하는, 데이터 저장 방법.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.
상기 가용 전력에 기반하여 상기 복수 개의 채널들 중 데이터를 저장할 채널들 및 상기 복수 개의 웨이들 중 데이터를 기입할 웨이들을 선택하는 단계는,
최저 성능 허용치를 충족시키는 웨이들의 최대 개수 내에서 상기 데이터를 기입할 웨이들을 결정하는 단계; 및
상기 데이터의 크기 및 상기 결정된 웨이들의 개수에 기반하여 상기 데이터를 기입할 채널들을 결정하는 단계
를 포함하고, 상기 결정된 채널들의 개수는 상기 가용 전력에 따른 소모 전류 허용치 내의 전류를 소모하는 채널들의 최대 개수 이하인, 데이터 저장 방법.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.
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)
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)
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20100087809A (en) * | 2009-01-29 | 2010-08-06 | 주식회사 하이닉스반도체 | Non volatile memory device and operating method thereof |
-
2010
- 2010-12-28 KR KR1020100136503A patent/KR101280792B1/en active IP Right Grant
Patent Citations (1)
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)
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)
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 |