IP Library Granted Patent US 11,645,010
Granted Patent B2
US 11,645,010 · App. 17/363,549 · Granted May 9, 2023

Solid state drive (SSD) memory system improving the speed of a read operation using parallel DMA data transfers

Inventor: Do Hun Kim (Gyeonggi-do, KR)
Assignee: SK hynix Inc.
G06F3/0659G06F3/0604G06F3/0656G06F3/0679G06F13/28G06F2213/28
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,645,010
App. No.
17/363,549
Granted
May 9, 2023
Kind
B2
Abstract

There are provided a memory system and an operating method thereof. The memory system includes: a memory device for storing data in a program operation, and reading stored data and temporarily store the read data in a read operation; and a controller for transmitting data to the memory device, wherein the controller includes: a flash direct memory access (DMA) for reading and outputting the data temporarily stored in the memory device in the read operation; a buffer memory for storing the data output from the flash DMA; and a host DMA for reading the data stored in the buffer memory and outputting the read data to a host, wherein a first operation of storing the data temporarily stored in the memory device in the buffer memory and a second operation of outputting the data stored in the buffer memory to the host are performed in parallel.

Claims (38)

1. A memory system comprising:

a memory device configured to perform a read operation of reading data and outputting the data in a read transmission unit; and

a controller configured to control the memory device to perform the read operation in response to a read command output from a host,

wherein the controller includes:

a buffer memory configured to temporarily store the data;

a first flash direct memory access (DMA) controller configured to divide the data into a plurality of data sub-groups each having a size smaller than the read transmission unit, to sequentially output the plurality of data sub-groups to the buffer memory, and to generate a read streaming start signal indicating that output of the data is started and a slot index indicating a position where the data is to be stored in the buffer memory;

a buffer controller configured to control the buffer memory to allocate a storage space corresponding to a size of the data in response to the read streaming start signal; and

a second DMA controller configured to sequentially transfer the plurality of data sub-groups input to the buffer memory to the host in response to the slot index;

wherein, when the second DMA controller sequentially transfers the plurality of data sub-groups to the host, some data sub-groups among the plurality of data sub-groups are stored in the buffer memory.

2. The memory system of claim 1 , wherein the first DMA controller further includes:

a flash DMA configured to divide the data into the plurality of data sub-groups, to sequentially output the plurality of data sub-groups to the buffer memory, and to generate the read streaming start signal and the slot index; and

a flash controller configured to control the flash DMA.

3. The memory system of claim 1 , wherein the second DMA controller further includes:

a host DMA configured to sequentially transfer the plurality of data sub-groups to the host; and

a host controller configured to control the host DMA.

4. The memory system of claim 1 , wherein the read transmission unit is 4 kilobytes, and

wherein the size of each of the plurality of data sub-groups is 128 bytes.

5. The memory system of claim 1 , wherein the buffer controller outputs a storage reservation signal instructing to allocate the storage space in response to the read streaming start signal to the buffer memory.

6. The memory system of claim 5 , wherein the buffer controller includes a schedule engine implemented with a Tomasulo algorithm or Scoreboard algorithm.

7. A memory system comprising:

a memory device configured to perform a program operation of storing data; and

a controller configured to control the memory device to perform the program operation in response to a program command output from a host,

wherein the controller includes:

a buffer memory configured to temporarily store the data;

a first direct memory access (DMA) controller configured to divide the data output from the host into a plurality of data sub-groups each having a size smaller than a transmission unit, to sequentially output the plurality of data sub-groups to the buffer memory, and to generate a program streaming start signal indicating that output of the data is started and a slot index indicating a position where the data is to be stored in the buffer memory;

a buffer controller configured to control the buffer memory to allocate a storage space corresponding to a size of the data in response to the program streaming start signal; and

a second DMA controller configured to sequentially transfer the plurality of data sub-groups input to the buffer memory to the memory device in response to the slot index;

wherein, when the second DMA controller sequentially transfers the plurality of data sub-groups to the memory device, some data sub-groups among the plurality of data sub-groups are stored in the buffer memory.

8. The memory system of claim 7 , wherein the first DMA controller further includes:

a host DMA configured to divide the data into the plurality of data sub-groups, to sequentially output the plurality of data sub-groups to the buffer memory, and to generate the program streaming start signal and the slot index; and

a host controller configured to control the host DMA.

9. The memory system of claim 7 , wherein the second DMA controller further includes:

a flash DMA configured to sequentially transfer the plurality of data sub-groups to the memory device; and

a flash controller configured to control the flash DMA.

10. The memory system of claim 7 , wherein the transmission unit is 4 kilobytes, and

wherein the size of each of the plurality of data sub-groups is 128 bytes.

11. The memory system of claim 7 , wherein the buffer controller outputs a storage reservation signal instructing to allocate the storage space in response to the program streaming start signal to the buffer memory.

12. The memory system of claim 11 , wherein the buffer controller includes a schedule engine implemented with a Tomasulo algorithm or Scoreboard algorithm.

Priority Claims (1)
KR 10-2018-0047974 · Apr 25, 2018 · national
Continuity (2)
Continuation 16205950 · Nov 30, 2018
Related Publication 20210326075A1 · Oct 21, 2021