IP Library Granted Patent US 11,567,667
Granted Patent B2
US 11,567,667 · App. 16/920,111 · Granted Jan 31, 2023

Apparatus and method for improving input/output throughput of memory system

Inventor: Jeen Park (Gyeonggi-do, KR)
Assignee: SK hynix Inc.
G06F3/0613G06F3/0629G06F3/0653G06F3/0656G06F3/0659G06F3/0683
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,567,667
App. No.
16/920,111
Granted
Jan 31, 2023
Kind
B2
Abstract

Disclosed is a memory system including a plurality of memory dies configured to store data in various storage modes; and a controller coupled with the plurality of memory dies via a plurality of channels and configured to perform a correlation operation on multiple read requests among a plurality of read requests received from a host so that the plurality of memory dies output plural pieces of data corresponding to the plurality of read requests via the plurality of channels in an interleaving way, wherein the controller is configured to determine whether to perform the correlation operation based on the number of read requests, and perform the correlation operation on the multiple read requests which are related to the same storage mode and different channels.

Claims (66)

1. A memory system comprising:

a plurality of memory dies configured to store data in various storage modes; and

a controller coupled with the plurality of memory dies via a plurality of channels and configured to perform a correlation operation on multiple read requests among a plurality of read requests received from a host so that the plurality of memory dies output plural pieces of data corresponding to the plurality of read requests via the plurality of channels in an interleaving way,

wherein the controller is configured to determine whether to perform the correlation operation based on a number of read requests, and perform the correlation operation on the multiple read requests which are related to the same storage mode and different channels.

2. The memory system of claim 1 , wherein the controller performs the correlation operation when the number of read requests is greater than or equal to a threshold value,

wherein the threshold value is greater than a number of channels and less than twice the number of channels.

3. The memory system of claim 2 , wherein the controller performs the correlation operation on a first group of read requests for receiving map data and transfers the correlated first group of read requests to corresponding channels among the plurality of channels, and receives the map data from the plurality of channels in the interleaving way.

4. The memory system of claim 3 , wherein the controller performs the correlation operation on a second group of read requests for receiving request data based on the received map data and transfers the correlated second group of read requests to corresponding channels, and receives the request data from the plurality of channels in the interleaving way.

5. The memory system of claim 1 ,

wherein the controller performs the correlation operation on a first group of read requests for receiving map data from the memory dies and a second group of read requests for receiving request data from the memory dies according to the read request received from the host.

6. The memory system of claim 5 , further comprising an output buffer configured to store data to be outputted to the host,

wherein the controller is configured to perform the correlation operation when a number of pieces of data stored in the output buffer is greater than a set value.

7. The memory system of claim 6 , wherein the output buffer includes a queue for outputting data stored therein according to an input sequence of the stored data, and

the controller determines the set value, based on a first data input/output speed between the host and the memory system and a second data input/output speed between the controller and the plurality of memory dies.

8. The memory system of claim 1 , wherein the controller is configured to skip the correlation operation on a first read request to a (n-1)th read request among the plurality of read requests, and perform the correlation operation on an n-th read request to a last read request among the plurality of read requests, and

wherein n is a number of channels.

9. The memory system of claim 1 , wherein the controller is configured to stop the correlation operation on remaining read requests not yet correlated when a number of remaining read requests is less than the number of memory dies.

10. The memory system of claim 1 , wherein the controller performs the correlation operation using map data for address translation.

11. The memory system of claim 10 , further comprising:

a memory configured to store the map data;

an input buffer configured to store the plurality of read requests; and

an output buffer configured to store data to be outputted to the host.

12. The memory system of claim 11 , wherein the controller includes:

buffer control circuitry configured to monitor states of the input buffer and the output buffer to determine whether to perform the correlation operation;

correlation circuitry configured to proceed, stop or skip the correlation operation on the plurality of read requests based on the number of read requests received, and to transfer a correlated read request earlier than an uncorrelated read request among the plurality of read requests; and

operation control circuitry configured to perform the address translation on the plurality of read requests according to a transferred sequence of the plurality of read requests, and to transfer the plurality of read requests to the plurality of memory dies via the plurality of channels.

13. The memory system of claim 1 , wherein the plurality of memory dies store data in a single-level cell (SLC) mode, a multi-level cell (MLC) mode, a triple-level cell (TLC) mode or a quad-level cell (QLC) mode.

14. An operating method of a memory system, the operating method comprising:

receiving a plurality of read requests from a host;

determining whether to perform a correlation operation on the plurality of read requests based on a number of read requests;

selectively performing the correlation operation on the plurality of read requests based on a result of the determining operation and transferring the correlated read requests to a plurality of memory dies through a plurality of channels;

receiving data corresponding to the correlated read requests from the plurality of memory dies via the plurality of channels in an interleaving way; and

outputting the received data to the host,

wherein the correlated read requests include multiple read requests which are related to the same storage mode and different channels among the plurality of read requests.

15. The operating method of claim 14 , wherein the determining of whether to perform the correlation operation comprises performing the correlation operation when the number of read requests is greater than or equal to a threshold value,

wherein the threshold value is greater than a number of channels and less than twice the number of channels.

16. The operating method of claim 14 , wherein the performing of the correlation operation includes:

performing a first correlation operation on a first group of read requests for receiving map data from the plurality of memory dies;

transferring the correlated first group of read requests to corresponding channels among the plurality of channels;

receiving the map data from corresponding memory dies among the plurality of memory dies in the interleaving way;

performing a second correlation operation on a second group of read requests for receiving request data from the plurality of memory dies, based on the received map data; and

transferring the correlated second group of read requests to corresponding channels among the plurality channels, and receiving the request data from corresponding memory dies among the plurality of memory dies in the interleaving way.

17. The operating method of claim 14 , wherein the first correlation operation is performed when a number of pieces of data stored in the output buffer, to be outputted to the host, is greater than a set value.

18. The operating method of claim 17 , wherein the set value is determined based on a first data input/output speed between the host and the memory system and a second data input/output speed between the controller and the plurality of memory dies.

19. The operating method of claim 14 , wherein the performing the correlation operation includes:

skipping the correlation operation when the number of read requests received is less than the number of memory dies.

20. The operating method of claim 14 , wherein the performing the correlation operation includes:

skipping the correlation operation on a first read request to a (n-1)th read request among the plurality of read requests; and

performing the correlation operation on a n-th read request to a last read request among the plurality of read requests,

wherein n is a number of channels.

21. The operating method of claim 14 , wherein the performing the correlation operation further includes:

stopping the correlation operation on remaining read requests not yet correlated when a number of remaining read requests is less than the number of memory dies.

22. The operating method of claim 14 , wherein the performing the correlation operation includes:

proceeding, stopping or skipping the correlation operation to the plurality of read requests based on the number of read requests;

transferring a correlated read request earlier than an uncorrelated read request among the plurality of read requests; and

storing a correlation rate of the correlation operation to determine at least one threshold used as a reference for determining whether to proceed, stop or skip the correlation operation based on the correlation rate, a number of channels and the number of memory dies.

23. The operating method of claim 14 , wherein the plurality of memory dies store data in a single-level cell (SLC) mode, a multi-level cell (MLC) mode, a triple-level cell (TLC) mode or a quad-level cell (QLC) mode.

24. A memory system comprising:

a plurality of memory dies including multiple storage blocks;

a controller; and

a plurality of channels coupled between the controller and the plurality of memory dies,

wherein the controller is suitable for:

receiving a plurality of read requests from a host;

determining whether to perform a correlation operation on at least some of the plurality of read requests based on a number of read requests and an order in which the read requests are received;

when it is determined that the correlation operation is to be performed, performing the correlation operation on selected read requests, among the plurality of read requests, to generate correlated read requests; and

transferring the correlated read requests to the same storage block among the multiple storage blocks through different channels.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 7, 2024
From: SK HYNIX INC.
To: MIMIRIP LLC
Reel/Frame 067335/0246 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 2, 2020
From: PARK, JEEN
To: SK HYNIX INC.
Reel/Frame 053122/0216 →