IP Library Granted Patent US 12,572,308
Granted Patent B2
US 12,572,308 · App. 18/776,927 · Granted Mar 10, 2026

Storage device supporting real-time processing and method of operating the same

Inventor: Sang-Hwa Jin (Suwon-si, KR)
Assignee: SAMSUNG ELECTRONICS CO., LTD.
G06F3/0659G06F3/061G06F3/0679
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 12,572,308
App. No.
18/776,927
Granted
Mar 10, 2026
Kind
B2
Abstract

A storage device includes a nonvolatile memory device and a storage controller configured to control the nonvolatile memory device under control of a plurality of hosts. The storage controller includes a plurality of physical functions, respectively corresponding to the plurality of hosts, and a real-time manager configured to control the plurality of physical functions based on real-time information of a real-time command when the real-time command is issued from at least one host among the plurality of hosts.

Claims (79)

1 . A storage device, comprising:

a nonvolatile memory device; and

a storage controller configured to control the nonvolatile memory device under control of a plurality of hosts,

wherein

the storage controller comprises:

a plurality of physical functions respectively corresponding to the plurality of hosts; and

a real-time manager configured to control the plurality of physical functions based on real-time information of a real-time command when the real-time command is issued from at least one host among the plurality of hosts,

wherein the real-time information includes a real-time limit obtained from (i) a real-time information field in the real-time command that includes the real-time limit indicating a time from a time point at which the real-time command is written in a submission queue to a time point at which a response corresponding to the real-time command is written in a completion queue, or (ii) a real-time setting table managed by the storage device and including a plurality of real-time limits respectively matching the plurality of physical functions.

2 . The storage device of claim 1 , wherein

the real-time manager selects a physical function corresponding to a host that issued the real-time command prior to a physical function corresponding to a host that issued a general command, among the plurality of physical functions.

3 . The storage device of claim 2 , wherein

the real-time manager selects the physical function corresponding to the host that issued the real-time command, among the plurality of physical functions, based on a virtual time stamp (VTS) table, and

the VTS table comprises:

a plurality of weights respectively corresponding to the plurality of physical functions;

a plurality of VTS values, respectively corresponding to the plurality of physical functions, and set based on input/output (IO) throughput and a weight of each of the plurality of physical functions; and

a plurality of real-time flags, respectively corresponding to the plurality of physical functions, and indicating whether real-time commands of the plurality of physical functions match each other.

4 . The storage device of claim 3 , wherein

the real-time manager comprises:

a VTS manager configured to manage the VTS table; and

a command scheduler configured to select a physical function to process a command, from among the plurality of physical functions,

wherein the VTS manager enables a real-time flag of a physical function corresponding to the host that issued the real-time command, among the plurality of real-time flags of the VTS table, and

the command scheduler selects a physical function corresponding to the host that issued the real-time command, based on the enabled real-time flag, from among the plurality of physical functions.

5 . The storage device of claim 3 , wherein

the real-time manager comprises:

a VTS manager configured to manage the VTS table; and

a command scheduler configured to select a physical function to process a command, from among the plurality of physical functions,

wherein the VTS manager adjusts a weight of a physical function corresponding to the host that issued the real-time command, among the plurality of weights of the VTS table.

6 . The storage device of claim 5 , wherein

the VTS manager adjusts a weight to decrease a VTS value of a physical function corresponding to the host that issued the real-time command, among the plurality of VTS values,

wherein the command scheduler selects a physical function corresponding to a smallest VTS value, among the plurality of VTS values.

7 . The storage device of claim 1 , wherein

the real-time manager determines a number of tokens to be distributed to each of the plurality of physical functions, based on the real-time information.

8 . The storage device of claim 7 , wherein

the number of tokens distributed to a physical function corresponding to the host that issued the real-time command is larger than the number of tokens distributed to a physical function corresponding to a host that did not issue the real-time command.

9 . The storage device of claim 7 , wherein

the real-time manager adjusts the number of tokens distributed to each of the plurality of physical functions based on a state of a completion queue corresponding to each of the plurality of hosts.

10 . The storage device of claim 9 , wherein

the real-time manager deducts the number of tokens distributed to the physical function corresponding to the host that issued the real-time command when a number of responses accumulated in a completion queue of the host that issued the real-time command is larger than or equal to a reference number.

11 . The storage device of claim 1 , wherein

the real-time manager comprises:

a real-time information (RTI) checker configured to check the real-time information; and

a command scheduler configured to select a physical function to process a command, based on the real-time information, from among the plurality of physical functions,

wherein the RTI checker obtains the real-time information through the real-time information field included in the real-time command.

12 . The storage device of claim 11 , wherein

the real-time information further comprises an SQ time,

and

the SQ time indicates the time point at which the real-time command is written in the submission queue.

13 . The storage device of claim 1 , wherein

the real-time manager comprises:

a real-time information (RTI) checker configured to check the real-time information of the real-time command; and

a command scheduler configured to select a physical function to process a command, based on the real-time information, from among the plurality of physical functions,

wherein the RTI checker obtains the real-time information through the real-time setting table managed by the storage device.

14 . The storage device of claim 13 , wherein

the real-time setting table comprises:

the plurality of physical functions, respectively matching the plurality of hosts;

a plurality of automotive safety integrity level (ASIL) grades, respectively matching the plurality of physical functions; and

a plurality of real-time limits, respectively matching the plurality of physical functions,

wherein each of the plurality of real-time limits is set based on a corresponding ASIL grade, among the plurality of ASIL grades.

15 . The storage device of claim 1 , wherein

the real-time manager determines a fetch timing for the real-time command based on the real-time information.

16 . The storage device of claim 15 , wherein

the real-time manager fetches the real-time command faster as the real-time limit corresponding to the real-time command becomes shorter.

17 . A method of operating a storage device comprising a plurality of physical functions, respectively corresponding to a plurality of hosts, the method comprising:

obtaining real-time information on a real-time command issued by at least one host among the plurality of hosts;

determining a performance of a physical function corresponding to the real-time command, among the plurality of physical functions, based on the real-time information; and

fetching the real-time command and processing the fetched real-time command,

wherein the real-time information comprises a real-time limit, and the fetching is conducted faster as the real-time limit corresponding to the real-time command becomes shorter.

18 . The method of claim 17 , wherein

determining the performance of the physical function corresponding to the real-time command comprises:

selecting a physical function corresponding to a host that issued the real-time command prior to a physical function corresponding to a host that did not issue the real-time command;

distributing a larger number of tokens to the physical function corresponding to the host that issued the real-time command than to the physical function corresponding to the host that did not issue the real-time command; and

adjusting the number of tokens distributed to the physical function corresponding to the host that issued the real-time command, based on a state of a completion queue of the host that issued the real-time command.

19 . The method of claim 17 , wherein

the real-time information is obtained from one of a real-time information field included in the real-time command and a real-time setting table managed by the storage device.

20 . A storage controller that controls a nonvolatile memory device, the storage controller comprising:

a nonvolatile memory interface circuit for communicating with the nonvolatile memory device;

a plurality of physical functions, respectively corresponding to a plurality of hosts, and independently controlling the nonvolatile memory device based on a request of each of the plurality of hosts; and

a real-time manager configured to perform a performance control operation on the plurality of physical functions based on real-time information of a real-time command when the real-time command is issued from at least one host among the plurality of hosts,

wherein the real-time information includes a real-time limit obtained from (i) a real-time information field in the real-time command that includes the real-time limit indicating a time from a time point at which the real-time command is written in a submission queue to a time point at which a response corresponding to the real-time command is written in a completion queue, or (ii) a real-time setting table managed by a storage device and including a plurality of real-time limits respectively matching the plurality of physical functions.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 19, 2024
From: JIN, SANG-HWA
To: SAMSUNG ELECTRONICS CO., LTD.
Reel/Frame 068029/0737 →
Priority Claims (1)
KR 10-2023-0103097 · Aug 7, 2023 · national
Continuity (1)
Related Publication 20250053340A1 · Feb 13, 2025
References Cited (18)
US 9569242B2 · Challa et al. · 2017 [cited by applicant]
US 10979365B1 · Choquette et al. · 2021 [cited by applicant]
US 11126375B2 · Zhu et al. · 2021 [cited by applicant]
US 11237761B2 · Kou et al. · 2022 [cited by applicant]
US 11360917B2 · Kim et al. · 2022 [cited by applicant]
US 11409469B2 · Jo et al. · 2022 [cited by applicant]
US 11561735B2 · Segev et al. · 2023 [cited by applicant]
US 20210200703A1 · Simionescu · 2021 [cited by examiner]
US 20210240393A1 · Jo · 2021 [cited by examiner]
US 20220066807A1 · Kashyap et al. · 2022 [cited by applicant]
US 20220147392A1 · Choi et al. · 2022 [cited by applicant]
US 20230315295A1 · Chandrashekaraiah · 2023 [cited by examiner]
EPO Search Report dated Nov. 13, 2024 In corresponding EP Patent Application 24189410.4. [cited by applicant]
Junekyo Jhung, et al, Hardware Accelerators for Autonomous Vehicles (First Online: Mar. 16, 2023, Spinger), pp. 269-317. [cited by applicant]
Mihir Mody, et al. Single Chip Traction Inverter System using High Performance and Real-time AM263 MCU ('23, IEEE). [cited by applicant]
Jaekwon Lee, Probabilistic WCET Estimation for Weakly Hard Real-Time Systems ('23, arXiv). [cited by applicant]
Lucia Lo Bello, A Perspective on Ethernet in Automotive Communications—Current Status and Future Trends ('23, MDPI). [cited by applicant]
Youssef El Kharaz, Comparison between AUTOSAR Platforms with Functional Safety for Automotive Software Architectures ('23, arXiv). [cited by applicant]