IP Library › Granted Patent US 12,216,599
Granted Patent B2
US 12,216,599 · App. 17/567,609 · Granted Feb 4, 2025

Peripheral component interconnect express (PCIe) device method for delaying command operations based on generated throughput analysis information

Inventors: Yong Tae Jeon (Icheon, KR); Ji Woon Yang (Icheon, KR); Sang Hyun Yoon (Icheon, KR); Se Hyeon Han (Icheon, KR)
Assignee: SK hynix Inc.
G06F13/28G06F13/4027G06F13/4221G06F2213/0024G06F2213/0026G06F2213/2806
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,216,599
App. No.
17/567,609
Granted
Feb 4, 2025
Kind
B2
Abstract

Provided are a Peripheral Component Interconnect Express (PCIe) device and a method of operating the same. The PCIe device may include a performance analyzer, a delay time information generato and a command fetcher. The performance analyzer may measure throughputs of a plurality of functions, and generate throughput analysis information indicating a comparison result between the throughputs of the plurality of functions and throughput limits corresponding to the plurality of functions. The delay time information generator may generate a delay time for delaying a command fetch operation for each of the plurality of functions based on the throughput analysis information. The command fetcher may fetch a target command from a host based on a delay time of a function corresponding to the target command.

Claims (23)

1. A Peripheral Component Interconnect Express (PCIe) device, comprising:

a performance analyzer configured to measure throughputs of a plurality of functions, and generate throughput analysis information indicating a comparison result between the throughputs of the plurality of functions and throughput limits corresponding to the plurality of functions;

a delay time information generator configured to generate a delay time for delaying a command fetch operation for each of the plurality of functions based on the throughput analysis information; and

a command fetcher configured to fetch a target command from a host based on a delay time of a function corresponding to the target command.

2. The PCIe device according to claim 1 , the performance analyzer comprises:

a throughput calculator calculates a throughput of each of the plurality of functions based on occupation rates of the plurality of functions for a data path shared between the plurality of functions; and

a throughput analysis information generator configured to generate the throughput analysis information for each of the plurality of functions.

3. The PCIe device according to claim 2 , wherein the throughput calculator calculates the occupation rates of the plurality of functions based on a number of transaction layer packets of each function processed through the data path per unit time.

4. The PCIe device according to claim 1 , wherein the PCIe device further comprises a command lookup table storage configured to store command-related information on the target command to be fetched from the host and the delay time of the function corresponding to the target command.

5. The PCIe device according to claim 4 , wherein the command fetcher delays the command fetch operation for the target command when the delay time of the function has not elapsed from a time point at which the command-related information is stored.

6. The PCIe device according to claim 1 , wherein, for each of the plurality of functions, the throughput analysis information includes at least one of information indicating whether a throughput exceeds a throughput limit, an excess ratio of the throughput to the throughput limit, a residual ratio of the throughput to the throughput limit, information about whether each of the plurality of functions is in an idle state, and information about whether the throughput is lower than a minimum performance threshold value set for each of the plurality of functions.

7. The PCIe device according to claim 6 , wherein the delay time information generator is configured to increase the delay time of the function based on the excess ratio when the throughput exceeds the throughput limit.

8. The PCIe device according to claim 6 , wherein the delay time information generator is configured to decrease the delay time of the function based on the residual ratio when the throughput is within the throughput limit, and

wherein the function has delay times higher than an initial value, among the plurality of functions.

9. The PCIe device according to claim 6 , wherein the delay time information generator sets a delay time of a function that is in an idle state and a delay time of a function, for which the throughput is lower than the minimum performance threshold value, among the plurality of functions, to an initial value.

10. The PCIe device according to claim 1 , wherein the throughput includes a read throughput corresponding to a read operation and a write throughput corresponding to a write operation of each of the plurality of functions,

wherein the throughput analysis information includes read throughput analysis information corresponding to the read operation and write throughput analysis information corresponding to the write operation, and

wherein the delay time includes a read delay time corresponding to the read operation and a write delay time corresponding to the write operation.

11. The PCIe device according to claim 1 , the PCIe device further comprises a traffic class controller configured to allocate traffic class values to transaction layer packets received from the plurality of functions based on the throughputs of the plurality of functions.

12. The PCIe device according to claim 11 , wherein the traffic class controller is configured to, whenever a ranking of the throughputs of the plurality of functions varies, reallocate the traffic class values of the transaction layer packets based on the varied ranking.

13. The PCIe device according to claim 11 , wherein the traffic class controller is configured to allocate a default value as initial values for traffic classes of the transaction layer packets received from the plurality of functions.

14. The PCIe device according to claim 11 , wherein the traffic class controller is configured to allocate a default value as a traffic class value of a transaction layer packet received from a function for which a throughput is greater than a threshold value, among the plurality of functions.

15. The PCIe device according to claim 11 , wherein the traffic class controller is configured to allocate a default value as a traffic class value of a transaction layer packet received from an interrupted function, among the plurality of functions.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 4, 2022
From: JEON, YONG TAE; YANG, JI WOON; YOON, SANG HYUN; HAN, SE HYEON
To: SK HYNIX INC.
Reel/Frame 058645/0486 →
Priority Claims (3)
KR 10-2021-0035522 · Mar 18, 2021 · national
KR 10-2021-0037503 · Mar 23, 2021 · national
KR 10-2021-0037512 · Mar 23, 2021 · national
Continuity (1)
Related Publication 20220300442A1 · Sep 22, 2022
References Cited (55)
US 7852757B1 · Puranik · 2010 [cited by applicant]
US 8199759B2 · Singhal et al. · 2012 [cited by applicant]
US 9996484B1 · Davis et al. · 2018 [cited by applicant]
US 10176126B1 · Banerjee et al. · 2019 [cited by applicant]
US 11741039B2 · Jeon · 2023 [cited by examiner]
US 20060168384A1 · Radhakrishnan et al. · 2006 [cited by applicant]
US 20060242332A1 · Johnsen et al. · 2006 [cited by applicant]
US 20060259656A1 · Sullivan · 2006 [cited by applicant]
US 20070220193A1 · Ikeda et al. · 2007 [cited by applicant]
US 20080301605A1 · Ando et al. · 2008 [cited by applicant]
US 20090049256A1 · Hughes et al. · 2009 [cited by applicant]
US 20090103434A1 · Madsen et al. · 2009 [cited by applicant]
US 20100250785A1 · Shin et al. · 2010 [cited by applicant]
US 20110134915A1 · Srinivasan · 2011 [cited by applicant]
US 20110289242A1 · Srinivasan et al. · 2011 [cited by applicant]
US 20120005300A1 · Muppalla · 2012 [cited by applicant]
US 20120072679A1 · Biswas et al. · 2012 [cited by applicant]
US 20140237156A1 · Regula et al. · 2014 [cited by applicant]
US 20140281053A1 · Suzuki et al. · 2014 [cited by applicant]
US 20140281099A1 · Avez et al. · 2014 [cited by applicant]
US 20160162436A1 · Raghavan et al. · 2016 [cited by applicant]
US 20170123730A1 · Losh · 2017 [cited by applicant]
US 20180293101A1 · Park et al. · 2018 [cited by applicant]
US 20190058675A1 · Schubert et al. · 2019 [cited by applicant]
US 20190113957A1 · Chiu et al. · 2019 [cited by applicant]
US 20190146684A1 · Benisty et al. · 2019 [cited by applicant]
US 20190179784A1 · Tsuji et al. · 2019 [cited by applicant]
US 20190354300A1 · Benisty et al. · 2019 [cited by applicant]
US 20200065028A1 · Keil et al. · 2020 [cited by applicant]
US 20200293499A1 · Kohli et al. · 2020 [cited by applicant]
US 20200304426A1 · Zhao et al. · 2020 [cited by applicant]
US 20210075732A1 · Singh et al. · 2021 [cited by applicant]
US 20210224210A1 · Ouyang et al. · 2021 [cited by applicant]
US 20220124051A1 · Brewer et al. · 2022 [cited by applicant]
JP 2007065847A · 2007 [cited by applicant]
JP 2015503154A · 2015 [cited by applicant]
JP 2019505924A · 2019 [cited by applicant]
KR 1020040029010A · 2004 [cited by applicant]
KR 1020160075312A · 2012 [cited by applicant]
KR 101414079B1 · 2014 [cited by applicant]
KR 1020160016557A · 2016 [cited by applicant]
KR 1020180019567A · 2018 [cited by applicant]
KR 1020190032716A · 2019 [cited by applicant]
KR 1020200016810A · 2020 [cited by applicant]
KR 1020200073592A · 2020 [cited by applicant]
KR 102238652B1 · 2021 [cited by applicant]
Office Action dated Sep. 6, 2022 for U.S. Appl. No. 17/467,054. [cited by applicant]
Office Action dated Nov. 9, 2022 for U.S. Appl. No. 17/467,070. [cited by applicant]
Office Action dated Jun. 27, 2022 for U.S. Appl. No. 17/467,070. [cited by applicant]
1 Office Action dated Jan. 12, 2023 for U.S. Appl. No. 17/467,078. [cited by applicant]
Office Action dated Feb. 21, 2023 for U.S. Appl. No. 17/467,054. [cited by applicant]
Notice of Allowance dated Sep. 7, 2023 regarding U.S. Appl. No. 17/467,078. [cited by applicant]
Office Action dated Mar. 27, 2023 for U.S. Appl. No. 17/467,070. [cited by applicant]
1 Notice of Allowance dated Feb. 9, 2024, for U.S. Appl. No. 17/467,070. [cited by applicant]
Office Action dated Oct. 18, 2023 for U.S. Appl. No. 17/467,070. [cited by applicant]