Patentable/Patents/US-12572308-B2
US-12572308-B2

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

PublishedMarch 10, 2026
Assigneenot available in USPTO data we have
Inventorsnot available in USPTO data we have
Technical 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.

Patent Claims

Legal claims defining the scope of protection, as filed with the USPTO.

1

. A storage device, comprising:

2

. The storage device of, wherein

3

. The storage device of, wherein

4

. The storage device of, wherein

5

. The storage device of, wherein

6

. The storage device of, wherein

7

. The storage device of, wherein

8

. The storage device of, wherein

9

. The storage device of, wherein

10

. The storage device of, wherein

11

. The storage device of, wherein

12

. The storage device of, wherein

13

. The storage device of, wherein

14

. The storage device of, wherein

15

. The storage device of, wherein

16

. The storage device of, wherein

17

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

18

. The method of, wherein

19

. The method of, wherein

20

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

Detailed Description

Complete technical specification and implementation details from the patent document.

This application claims priority under 35 U.S.C. § 119 to Korean Patent Application No. 10-2023-0103097, filed on Aug. 7, 2023 in the Korean Intellectual Property Office, the disclosure of which is incorporated by reference herein in its entirety.

Example embodiments of the present disclosure relate to a storage system.

Semiconductor memory devices are classified into volatile memory devices, in which stored data is lost when a power supply is interrupted, such as, for example, a static random access memory (SRAM) or a dynamic random access memory (DRAM), and nonvolatile memory devices, in which stored data is retained even when a power supply is interrupted, such as, for example, a flash memory device, a phase-change RAM (PRAM), a magnetic RAM (MRAM), a resistive RAM (RRAM), or a ferroelectric RAM (FRAM).

Recently, research into multi-host storage systems has been actively conducted. A multi-host storage system may refer to a system in which a single storage medium supports a plurality of hosts or a plurality of tenants. In this case, the plurality of hosts accesses the single storage medium, resulting in an issue in which commands, requested to be processed urgently or in real time on a specific host, are not processed in a timely manner on the storage medium.

Example embodiments of the present disclosure provide a storage system that may effectively process real-time commands received from a host within a predetermined time.

According to an example embodiment, 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.

According to an example embodiment, a method of operating a storage device including a plurality of physical functions, respectively corresponding to a plurality of hosts, includes obtaining real-time information on a real-time command issued by at least one host among the plurality of hosts, determining 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.

According to an example embodiment, a storage controller that controls a nonvolatile memory device includes 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.

Embodiments of the present disclosure will be described more fully hereinafter with reference to the accompanying drawings. Like reference numerals may refer to like elements throughout the accompanying drawings.

It will be understood that the terms “first,” “second,” “third,” etc. are used herein to distinguish one element from another, and the elements are not limited by these terms. Thus, a “first” element in an example embodiment may be described as a “second” element in another example embodiment.

It should be understood that descriptions of features or aspects within each example embodiment should typically be considered as available for other similar features or aspects in other example embodiments, unless the context clearly indicates otherwise.

As used herein, the singular forms “a”, “an” and “the” are intended to include the plural forms as well, unless the context clearly indicates otherwise.

[Storage System Supporting Real-Time Processing of Commands]

is a block diagram illustrating a storage systemaccording to an example embodiment.

The storage systemaccording to an example embodiment may include a plurality of hoststo, where n is a positive integer, and a storage device. The storage devicemay be configured to support multiple hosts or multiple tenants. At least one of the plurality of hoststomay transmit a real-time command to the storage device. The storage devicemay receive the real-time command, and may process the received real-time command within a predetermined time.

In this case, the storage deviceaccording to an example embodiment may obtain real-time information corresponding to the received real-time command, and may perform function control operations, such as, for example, selection of a physical function, determination of resource distribution, or determination of fetch timing, based on the real-time information. Accordingly, the storage deviceaccording to an example embodiment may effectively process a real-time command received from a host within a predetermined time.

The plurality of hoststomay correspond to the same storage device. For example, the storage systemmay be a multi-host storage system.

According to an example embodiment, the storage systemmay be a storage system applied to an automotive system. According to an example embodiment, the storage systemmay be a storage system applied to various information processing devices such as, for example, a server, a personal computer (PC), a laptop computer, a workstation, a smartphone, a tablet PC, or the like.

Each of the plurality of hoststomay be configured to access the storage device.

According to an example embodiment, the plurality of hoststomay be computing nodes configured to operate independently from each other, respectively. For example, when the storage systemis implemented as an automotive system, each of the plurality of hoststomay be an electronic control unit (ECU) controlling at least one function, among functions such as, for example, engine management, airbag, headlight, radar cruise control, electric power steering, advanced driver assistance system (ADAS), active suspension, braking, brake light, view camera, instrument cluster, or the like.

According to an example embodiment, the plurality of hoststomay be single-core or multi-core processors included in different computing nodes (or computing systems). Alternatively, at least a portion of the plurality of hoststomay be different processors included in the same computing node (or computing system). Alternatively, the plurality of hoststomay be processors configured to process different applications.

The storage devicemay operate under the control of each of the plurality of hoststo. For example, the storage devicemay be a single storage device or a storage device configured to support multiple hosts or multiple tenants.

According to an example embodiment, the plurality of hoststoand the storage devicemay communicate with each other based on a Peripheral Component Interconnect express (PCI-express) interface or a nonvolatile memory express (NVMe) interface based on PCI-express. However, this is only an example, and example embodiments are not limited thereto. For example, according to an example embodiment, the plurality of hoststoand the storage devicemay communicate with each other based on an Ethernet interface. For example, according to an example embodiment, one of the plurality of hoststomay communicate with the storage devicebased on the PCI-express interface, and another of the plurality of hoststomay communicate with the storage devicebased on the Ethernet interface.

The storage devicemay include a storage controllerand a nonvolatile memory device. The storage controllermay store data in the nonvolatile memory deviceunder the control of each of the plurality of hoststo. Alternatively, the storage controllermay provide data, stored in the nonvolatile memory device, to the plurality of hoststounder the control of each of the plurality of hoststo

At least one of the plurality of hoststomay transmit a real-time command to the storage device. The real-time command may refer to a command requested to be processed urgently or a command requested to be processed in real time. The storage devicemay receive a real-time command and then process the received real-time command within a real-time limit. The real-time limit may be defined in various ways according to example embodiments.

According to an example embodiment, the real-time limit may be defined as the time from a time point at which a host writes a real-time command in a submission queue to a time point at which the storage devicewrites a response to the real-time command in a completion queue.

According to an example embodiment, the real-time limit may be defined as the time from a time point at which a host writes a real-time command in a submission queue to a time point at which the host take a response to the real-time command written in a completion queue.

According to an example embodiment, the real-time limit may be defined as the time from a time point at which the storage devicefetches a real-time command from a submission queue to a time point at which the storage devicewrites a response to the real-time command in a completion queue.

The storage devicemay fetch and process a real-time command until a real-time limit corresponding to the real-time command elapses, and may write a response to the real-time command in a completion queue.

The storage controlleraccording to an example embodiment may include a real-time managerthat effectively processes the real-time command transmitted from the host within the real-time limit.

The real-time managermay check whether a real-time command has been issued. The real-time managermay check whether a real-time command has been issued in various manners according to example embodiments.

According to an example embodiment, the real-time managermay periodically check whether a real-time command has been issued. According to an example embodiment, the host may transmit information on the issuance of the real-time command to the storage device, and the real-time managermay check whether the real-time command has been issued, based on the information. The host may transmit additional information, such as, for example, real-time limit and processing time, to the storage device.

When the real-time command is issued, the real-time managermay obtain real-time information corresponding to the real-time command.

According to an example embodiment, the real-time managermay selectively access a submission queue corresponding to a real-time command. The submission queue may be defined as a storage space in which a host stores a real-time command and/or real-time information to be transmitted to the storage device. The real-time managermay obtain real-time information from a submission queue corresponding to the real-time command.

According to an example embodiment, the real-time managermay selectively access a physical function corresponding to a real-time command and a submission queue corresponding to the physical function.

The real-time managermay control the storage deviceor each physical function in various manners according to example embodiments, based on the obtained real-time information.

According to an example embodiment, the real-time managermay fetch a real-time command based on the obtained real-time information. Then, the real-time managermay control a series of operations, such as, for example, a read operation or a write operation, to effectively process data of the real-time command issued by the host within the real-time limit.

According to an example embodiment, the real-time managermay perform performance control operations on the storage deviceor each physical function, such as, for example, selection of a physical function, determination of resource distribution, or determination of fetch timing, based on the obtained real-time information. Accordingly, the real-time commands may be effectively processed within the real-time limit.

As described above, the storage deviceaccording to an example embodiment may control the operation and/or performance of the storage devicebased on the real-time information. Accordingly, the storage devicemay effectively process the real-time command received from the host within the real-time limit.

is a block diagram illustrating an example of a storage controller according to an example embodiment. For example, the storage controllerofmay be the storage controllerof.

Referring to, the storage controllermay include a real-time manager, a processor, a static random access memory (SRAM), a host interface circuit, and a nonvolatile memory interface.

The real-time managermay identify whether a real-time command is issued. When a real-time command is issued, the real-time managermay obtain real-time information corresponding to the real-time command.

According to an example embodiment, the real-time managermay obtain real-time information from the host. For example, a real-time command may include a real-time information field, and the host may write real-time information, such as real-time limit or SQ time, in the real-time information field. The SQ time may refer to a time point at which a real-time command is written in the submission queue. The real-time managermay obtain real-time information through the real-time information field of the real-time command received from the host. However, this is only an example, and the host may transmit additional information, such as the issuance or processing time of the real-time command, to the storage device, separately from the real-time command.

According to an example embodiment, the real-time managermay obtain real-time information from the storage device(see). For example, each of the plurality of hoststomay have unique real-time information, and the real-time information corresponding to each host may be managed by the storage devicein the form of a table. The real-time information managed by the storage devicein the form of a table may be referred to as a real-time setting table. The real-time managermay obtain real-time information through the real-time setting table managed by the storage device.

After obtaining the real-time information, the real-time managermay control the performance of the storage deviceor each physical function to effectively process a real-time command within a real-time limit.

According to an example embodiment, the real-time managermay select one of physical functions corresponding to each host based on the real-time information. For example, the storage devicemay include a plurality of physical functions, and each of the plurality of hosts may correspond to at least one physical function. In this case, the real-time managermay preferentially select a physical function corresponding to a host which has issued the real-time command from among a plurality of physical functions.

According to an example embodiment, the real-time managermay determine resource distribution of the storage devicebased on real-time information. For example, the real-time managermay distribute a relatively large number of resources to physical functions corresponding to the host which has issued the real-time command. For example, the real-time managermay further adjust the resources, respectively distributed to the physical functions, by additionally referring to a state of a completion queue of the host which has issued the real-time command.

According to an example embodiment, the real-time managermay determine fetch timing of the real-time command based on the real-time information. For example, the shorter the real-time limit, the more the real-time managermay control each physical function to rapidly fetch the real-time command.

The processormay control the overall operation of the storage controller. For example, the processormay execute various applications (for example, a flash translation layer (FTL)) running on the storage controller.

The SRAMmay be used as, for example, a buffer memory, a working memory, or a cache memory of the storage controller.

Patent Metadata

Filing Date

Unknown

Publication Date

March 10, 2026

Inventors

Unknown

Want to explore more patents?

Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.

Citation & reuse

Analysis on this page is generated by Patentable — an AI-powered patent intelligence platform. AI-generated summaries, explanations, and analysis may be reused with attribution and a visible link back to the canonical URL below. Patent abstracts and claims are USPTO public domain.

Cite as: Patentable. “Storage device supporting real-time processing and method of operating the same” (US-12572308-B2). https://patentable.app/patents/US-12572308-B2

© 2026 Patentable. All rights reserved.

Patentable is a research and drafting-assistant tool, not a law firm, and does not provide legal advice. Documents we generate are drafts for review by a licensed patent attorney.

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