IP Library Granted Patent US 10,338,819
Granted Patent B2
US 10,338,819 · App. 14/844,988 · Granted Jul 2, 2019

Controller transmitting output commands and method of operating the same

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 10,338,819
App. No.
14/844,988
Granted
Jul 2, 2019
Kind
B2
Abstract

A controller includes a host command sensor suitable for generating a target ratio between first typed host commands and second typed host commands; an output command generator suitable for generating first and second typed output commands respectively corresponding to the first and second typed host commands; and an arbiter suitable for sequentially transmitting the first and second typed output commands from the output command queue to a channel, and generating a channel ratio between first and second typed output commands transmitted from the output command queue to the channel. The arbiter transmits one of the first and second typed output commands from the output command queue to the channel by comparing the channel ratio with the target ratio.

Claims (64)

1. A controller comprising:

a host command receiver suitable for receiving first and second typed host commands from a host, the first typed host commands having a higher priority than the second type host commands;

a host command sensor suitable for counting numbers of first and second typed host commands received by the host command receiver, and generating a target ratio which is a ratio between the numbers of first and second typed host commands;

an output command generator suitable for generating first and second typed output commands respectively corresponding to the first and second typed host commands;

an output command queue suitable for enqueueing the first and second typed output commands; and

an arbiter suitable for transmitting the first and second typed output commands from the output command queue to a channel, counting numbers of first and second typed output commands transmitted from the output command queue to the channel, and generating a channel ratio which is a ratio between the numbers of first and second typed output commands,

wherein the arbiter selects a next output command to be transmitted from the output command queue to the channel among the first typed output commands corresponding to the first typed host commands having a higher priority than the second type host commands, and the second typed output commands corresponding to the second typed host commands, based on a result of a comparison of the channel ratio with the target ratio.

2. The controller of claim 1 , wherein the arbiter transmits the first typed output command from the output command queue to the channel when a proportion of the first typed output command of the channel ratio is lower than a proportion of the first typed host command of the target ratio.

3. The controller of claim 1 , wherein the arbiter transmits the second typed output command from the output command queue to the channel when a proportion of the second typed output command of the channel ratio is lower than a proportion of the second typed host command of the target ratio.

4. The controller of claim 1 , wherein the arbiter transmits one of the first and second typed output commands from the output command queue to the channel such that the difference between the target ratio and the channel ratio decreases.

5. The controller of claim 1 ,

wherein the channel is connected to one or more semiconductor memory devices, and

wherein the first typed output command corresponds to reading with respect to the semiconductor memory devices, and the second typed output command corresponds to programming with respect to the semiconductor memory devices.

6. The controller of claim 1 , wherein the arbiter includes:

an output command selection unit suitable for sequentially transmitting the first and second typed output commands from the output command queue to the channel;

an output command sensing unit suitable for generating the channel ratio by monitoring output commands transmitted from the output command queue to the channel; and

a type selection unit suitable for selecting one of the first and second typed output commands by comparing the channel ratio with the target ratio,

wherein the output command selection unit transmits one of the first and second typed output commands from the output command queue to the channel based on the selection of the type selection unit.

7. The controller of claim 6 , wherein the type selection unit selects the first typed output command when a proportion of the first typed output command of the channel ratio is lower than a proportion of the first typed host command of the target ratio.

8. The controller of claim 6 , wherein the type selection unit selects the second typed output command when a proportion of the second typed output command of the channel ratio is lower than a proportion of the second typed host command of the target ratio.

9. The controller of claim 6 , wherein the output command sensing unit includes:

a sensing queue; and

a queue control unit suitable for enqueueing the output commands, which are transmitted from the output command queue to the channel, to the sensing queue, and dequeueing one of the output commands enqueued in the sensing queue when a number of output commands enqueued in the sensing queue is greater than a predetermined number,

wherein the queue control unit increases a first count value when the enqueued output command is the first typed output command, increases a second count value when the enqueued output command is the second typed output command, decreases the first count value when the dequeued output command is the first typed output command, and decreases the second count value when the dequeued output command is the second typed output command.

10. The controller of claim 9 , wherein the queue control unit generates the channel ratio based on the first and second count values.

11. The controller of claim 6 , wherein the output command selection unit includes:

a hysteresis block suitable for generating hysteresis type information based on the selection of the type selection unit; and

an output command selector suitable for transmitting one of the first and second typed output commands from the output command queue to the channel according to the hysteresis type information,

wherein the hysteresis block increases a first hysteresis count when the first typed output command is transmitted from the output command queue to the channel, and increases a second hysteresis count when the second typed output command is transmitted from the output command queue to the channel, and

wherein the hysteresis block generates the hysteresis type information representing one of the first and second typed output commands selected by the type selection unit when each of the first and second hysteresis counts is less than or equal to a critical value, generates the hysteresis type information representing the second typed output command when the first hysteresis count is greater than the critical value, and generates the hysteresis type information representing the first typed output command when the second hysteresis count is greater than the critical value.

12. The controller of claim 11 ,

wherein, when one of the first and second hysteresis counts becomes greater than the critical value, the hysteresis block increases a first reset count when the first typed output command is transmitted from the output command queue to the channel, and increases a second reset count when the second typed output command is transmitted from the output command queue to the channel, and

wherein the hysteresis block resets the first and second hysteresis counts when one of the first and second reset counts reaches a reference value.

13. A controller comprising:

a host command receiver suitable for receiving various typed host commands from a host, the various typed host commands having different priorities from each other;

a host command sensor suitable for counting a total number of the various typed host commands received by the host command receiver and a number of each typed host commands for the received various typed host commands, and generating a target ratio which is a ratio of the number of each typed host commands to the total number of the various typed host commands;

an output command queue suitable for enqueueing various typed output commands respectively corresponding to the various typed host commands; and

an arbiter suitable for transmitting the various typed output commands from the output command queue to a channel, counting a total number of the various typed output commands transmitted from the output command queue to the channel and a number of each typed output commands for the transmitted various typed output commands and generating a channel ratio which is a ratio of the number of each typed output commands to the total number of the various typed output commands,

wherein the arbiter selects a next output command to be transmitted from the output command queue to the channel among the various typed output commands corresponding to the various typed host commands having different priorities from each other, based on a result of a comparison of the channel ratio with the target ratio.

14. The controller of claim 13 , wherein the arbiter transmits a first typed output command from the output command queue to the channel when a proportion of the first typed output command of the channel ratio is lower than a proportion of the first typed host command of the target ratio.

15. The controller of claim 13 , wherein the arbiter transmits one of the various typed output commands from the output command queue to the channel such that the difference between the target ratio and the channel ratio decreases.

16. The controller of claim 13 ,

wherein the channel is connected to one or more semiconductor memory devices, and

wherein the various typed output commands include a first typed output command corresponding to reading with respect to the semiconductor memory devices, and a second typed output command corresponding to programming with respect to the semiconductor memory devices.

17. The controller of claim 13 , wherein the arbiter includes:

an output command selection unit suitable for sequentially transmitting the various typed output commands from the output command queue to the channel;

an output command sensing unit suitable for generating the channel ratio by monitoring each typed output commands transmitted from the output command queue to the channel; and

a type selection unit suitable for selecting one of the various typed output commands by comparing the channel ratio with the target ratio,

wherein the output command selection unit transmits one of the various typed output commands from the output command queue to the channel based on the selection of the type selection unit.

18. The controller of claim 17 , wherein the type selection unit selects a first typed output command when a proportion of the first typed output command of the channel ratio is lower than a proportion of a first typed host command of the target ratio.

19. The controller of claim 17 , wherein the output command selection unit includes:

a hysteresis block suitable for generating hysteresis type information based on the selection of the type selection unit; and

an output command selector suitable for transmitting one of the various typed output commands from the output command queue to the channel according to the hysteresis type information,

wherein the hysteresis block increases each of plural hysteresis counts respectively corresponding to the various typed output commands when each typed output command is transmitted from the output command queue to the channel, and

wherein the hysteresis block generates the hysteresis type information representing one of the various typed output commands selected by the type selection unit when each of the plural hysteresis counts is less than or equal to a critical value, and generates the hysteresis type information representing a second typed output command when one of the plural hysteresis counts corresponding to a first typed output command is greater than the critical value.

20. A method of operating a controller, the method comprising:

receiving various typed host commands from a host;

counting a total number of the various typed host commands and a number of each typed host commands for the various typed host commands, the various typed host commands having different priorities from each other;

generating a target ratio which is a ratio of the number of each typed host commands to the total number of the various typed host commands;

enqueueing various typed output commands respectively corresponding to the various typed host commands;

transmitting the various typed output commands from an output command queue to a channel;

counting a total number of the various typed output commands transmitted from the output command queue to the channel and a number of each typed output commands for the transmitted various typed output commands;

generating a channel ratio which is a ratio of the counted number of each typed output command to the total number of the various typed output commands transmitted from the output command queue to the channel; and

selecting a next output command to be transmitted from the output command queue to the channel among the various typed output commands corresponding to the various typed host commands having different priorities from each other, based on a result of a comparison of the channel ratio with the target ratio.

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 Sep 3, 2015
From: KIM, DO HUN; KIM, HYOUN JU
To: SK HYNIX INC.
Reel/Frame 036543/0554 →