This application claims the benefit of Taiwan application Serial No. 106139440, filed Nov. 15, 2017, the subject matter of which is incorporated herein by reference.
The present disclosure relates to a thermal estimation device and a thermal estimation method.
With the development of the industries such as mobile computation, high-performance computing devices, wearable devices, and automotive devices, these industries begin to apply complex chips. In addition, in order to satisfy the demand of the market, circuit board or system on chip (SoC) must be added with more functions. When more functions are to be implemented in the system, more circuit modules will be added to, thus the circuit design complexity is increased. Moreover, as the process for manufacturing the chip improves, more circuit modules can be accommodated in a smaller chip area, so that the power consumption per unit area greatly increases. The caused thermal effect will affect the yield efficiency of the chip, thus the thermal effects have become a major issue in the design of semiconductors and systems.
With the enhancement of the complexity of the chip system design, it has become an inevitable trend to shorten the development time of the system hardware and software by using the Electronic System Level (ESL) design. If thermal issues can be taken into consideration during the design stage of Electronic System Level, then it can estimate various solutions for cooling during the design stage of the system architecture to avoid overheating problems after the chip is fabricated and the efficiency of solving the thermal issue is enhanced. Therefore, how to provide a temperature estimation method and device, which are supportable for the system-level, for the designer to efficiently adjust the optimization of the chip design according to the temperature has become a design consideration.
An embodiment of a thermal estimation device includes a temperature model generator, a temperature gradient calculator, and a thermal sensing analyzer. The temperature model generator generates a temperature model based on an initial power consumption, an initial area and an initial coordination of a circuit module, in which the temperature model is configured for describing a relation of the initial power consumption, the initial area and the initial coordination of the circuit module corresponding to a chip system temperature The temperature gradient calculator substitutes at least one of a testing area, a testing power or a testing coordinate of the circuit module into the temperature model for correspondingly estimating an temperature estimation function. The thermal sensing analyzer differentiates the temperature estimation function.
When an absolute value of a differential result of the temperature estimation function resulted from a constant is closest to zero or is zero, outputting the constant as an optimized parameter.
An embodiment of a thermal estimation method includes: generating a temperature model based on an initial power consumption, an initial area and an initial coordination of a circuit module, in which the temperature model is configured for describing a relation of the initial power consumption, the initial area and the initial coordination of the circuit module corresponding to a chip system temperature; substituting at least one of a testing area, a testing power or a testing coordinate of the circuit module into the temperature model for correspondingly estimating an temperature estimation function; and differentiating the temperature estimation function, wherein when an absolute value of a differential result of the temperature estimation function resulted from a constant is closest to zero or is zero, outputting the constant as an optimized parameter.
Reference is made to
In an embodiment, the thermal estimation method in
In operation 210, the temperature model generator 10 is configured for generating a temperature model according to an initial power consumption, an initial area and an initial coordination of a circuit module BK1, in which the temperature model is configured for describing a relation of the initial power consumption, the initial area and the initial coordination of the circuit module BK1 corresponding to a chip system temperature.
In an embodiment, the temperature model generator 10 will firstly generate the formula of the chip system temperature corresponding to the area, power consumption, and the coordinate of the circuit module BK1: Tem=f(P, A, Lx, Ly), in which the character ‘Tem’ represents the chip system temperature, the character ‘P’ represents the power consumption, the character ‘f’ represents the temperature function, the character ‘A’ represents the area, the character ‘Lx’ represents the X coordinate of the circuit module BK1, and the character ‘Ly’ represents the Y coordinate of the circuit module BK1. At this time, the area, the power consumption, and the coordinate may exist in form of variable(s).
In operation 220, the temperature gradient calculator 20 is configured for substituting at least one of a testing area, a testing power consumption or a testing coordinate of the circuit module BK1 in a form of variable into the temperature model for correspondingly estimating a temperature estimation function. For example, to seek for the optimized power consumption, the power consumption P retains and the values of the area and the coordinate are substituted into the formula so that Tem=f(P) is obtained.
Next, the temperature gradient calculator 20 generates the gradient function according to the user's desired specification for the temperature. The concept of the establishment of the temperature estimation function is to obtain the quadratic form of the difference of the chip system temperature (Tem) and the target temperature. Its purpose is to establish the measurement of the absolute value (the quadratic form) of the difference of the chip system temperature and the target temperature. If it is able to find a value for the variable of the temperature estimation function that enables the quadratic form of the difference of the temperature to be smaller, it means that the gap between each temperature and the target temperature is smaller, i.e., more close to the target temperature, then the value is the optimized design parameter for the variable.
Reference is made to
In an embodiment, the temperature model generator 10 determines at least one grid occupied by the circuit module BK0 (e.g., the grids I1-I4) among the grids of the chip CH (i.e., each square cut originally from the chip CH) according to the initial coordinate of the circuit module BK0.
As shown in
Since the power consumption is generated while the circuit module BK0 works, the power consumption has influence on the temperature variance in all grids of the chip CH. Therefore, the temperature model generator 10 is able to calculate the temperature estimation function generated by the circuit module BK0 on an observation point O. The calculation of the temperature estimation function is described in detail as below.
In an embodiment, the temperature model generator 10 is able to calculate that a quarter of the initial area of each grid I1-I4 is occupied by the circuit module BK0 (In practical, the temperature model utilizes the bell curve while calculating the area. The present embodiment is an example for easy illustration, and the embodiment of the bell curve will be described afterwards). Next, the total power consumption of the circuit module BK0 is multiplied by the proportion of the overlapping area between each grid and the circuit module BK0 to the initial area of the circuit module BK0, so as to obtain the initial power consumption of the circuit module BK0 distributed on each grid I1-I4 is P/4. In other words, the initial power consumption that the circuit module BK0 consumes on each grid I1-I14 all is P/4.
In an embodiment, the temperature model generator 10 calculates the distance between the observation point O and the center of each grid I1-I4 occupied by the circuit module BK0, and calculates the rate of temperature rise of each grid I1-I4 to the observation point O according to the distance. For example, the coordinates (5, 5), (7, 5), (7, 7), and (5, 7) of the centers NA-ND of the grids I1-I4 of the circuit module BK0 are substituted into a rate of temperature rise model, respectively, the rate of temperature rise model is:
Tx=−a*ln(
in which Tx is the rate of temperature rise of which the grid contributes to the observation point (e.g., the observation point O). In an embodiment,
TA=−100×ln[√{square root over ((5−1)2+(5−1)2)}]+300=126.8
TB=−100×ln[√{square root over ((7−1)2+(5−1)2)}]+300=102.4
TC=−100×ln[√{square root over ((7−1)2+(7−1)2)}]+300=86.2
TD=−100×ln[√{square root over ((5−1)2+(7−1)2)}]+300=102.4
Next, the temperature model generator 10 multiplies the rate of temperature rise TA, TB, TC, TD of each grid I1-I4 to the observation point O by the initial power consumption occupied by each gird I1-I4 itself (represented by PA, PB, PC, PD, respectively, and all is P/4), so as to obtain a grid temperature estimation function of each grid I1-I4 itself. Then, the temperature model generator 10 adds up the grid temperature estimation function of each grid I1-I4, so as to calculate a temperature estimation function generated by the circuit module BK0 to the observation point O. In the present embodiment, the temperature estimation function is represented as below:
TAPA+TBPB+TCPC+TDPD=PW/4(126.8+102.4+86.2+102.4)=104.45×PW
Therefore, the temperature estimation function generated by the circuit module BK0 to the observation point O is calculated on the condition that the power consumption is P while the circuit module BK0 works.
However, the present disclosure is not limited thereto. In some embodiments, the range of the circuit module BK0 still covers at least a portion of each grid I1-I4. Even four vertices NA-ND of the circuit module BK0 are not located at the centers of the grids I1-I4, it still be able to utilize the aforementioned coordinates of the centers of the grids I1-I4 to calculate.
Next, the reference is made to
In some embodiments, as shown in
In an embodiment, as shown in
In the aspect of calculating the overlapping area, the calculation is that the overlapping length between the circuit module BK1 and each grid in the x direction is multiplied by the overlapping length between the circuit module BK1 and each grid in the y direction. In order to functionalized the calculation, the percentage of the horizontal distance or the vertical distance between the circuit module BK1 and the center of each grid and the overlapping length in the horizontal direction or in the vertical direction is shown in
As shown in
In an embodiment, the grid I10 partially overlaps with the circuit module BK3, and the center of the grid I10 is represented by the character Q. It is supposed that the center Q of the grid I10 is within the range of the width r of the circuit module BK3 and the distance from the central axis LT to it is d. In the present example, the distance d is less than a half of the difference between the width r and the width w of the grid (r/2−w/2). The calculation for the percentage of the overlap is viewed as (1−2d2/r2. Therefore, when the width r is 10 and the distance d is 3, the percentage of the overlap is 1−2d2/r2=82%.
In another embodiment, the grid I11 partially overlaps with the circuit module BK3, and the center of the grid I11 is represented by the character Q. It is supposed that the center Q of the grid I10 is out of the range of the width r of the circuit module BK3 and the distance from the central axis LT to it is d. In the present example, the distance d is between a half of the difference between the width r and the width w of the grid (r/2−w/2) and a half of the sum of the width r and the width w of the grid (r/2+w/2). The calculation for the percentage of the overlap is viewed as 2(r−d)2/r2. Therefore, when the width r is 10 and the distance d is 5, the percentage of the overlap is 2(r−d)2/r2=50%.
In yet another example, the grid I12 does not overlap with the circuit module BK3, and the center of the grid I12 is represented by the character Q. It is supposed that the center Q of the grid I12 is out of the range of the width r of the circuit module BK3 and the distance from the central axis LT to it is d. In the present example, the distance d is greater than a half of the sum of the width r and the width w of the grid (r/2+w/2). The calculation for the percentage of the overlap is viewed as 2(r−d)2/r2, the percentage of the overlap is set as 0. Therefore, the percentage of the overlap is 0%.
Since the embodiment of the present disclosure is to use a differentiable relation formula for associating the coordinate of the circuit module with the temperature, the parameter of the chip design is able to be adjusted. In an embodiment, the functional relationship shown in
In an embodiment, the temperature model generator 10 calculates the overlapping area between each circuit module (e.g., the circuit module BK3) and each grid (e.g., the grids I10-I12) by using the bell-shaped function, in which the bell-shaped function is configured for describing the overlapping rate of the horizontal distance or the vertical distance. The overlapping area between each grid I10-I12 and the circuit module BK3 is able to be obtained by multiplying the grid area of each grid I10-I12 by the horizontal overlapping rate and the vertical overlapping rate, and the bell-shaped function is differentiable. The horizontal overlapping rate multiplied by the vertical overlapping rate is equal to the area overlapping rate.
In
The method for calculating the percentage of the overlap is able to be obtained from the aforementioned embodiment in
Reference is made to
By the aforementioned method, since the power consumption of each grid has been obtained, the temperature estimation function can be obtained by adding up the influence of the power consumption of each grid on the temperature of all the grids of the chip.
For example, the total power consumption on the grid I8 is multiplied by the rate of temperature rise corresponding to the grid I8 to the observation point O to obtain the temperature estimation function caused by the total power consumption of the grid I8 to the observation point O.
It can be seen from the aforementioned description that, in an embodiment of the present disclosure, the temperature model is able to be established by first converting the power consumption, the area and the coordinate position described in the unit of the circuit module into the power consumption, the area and the coordinate position described in the unit of the grid. Finally, taking each grid as the unit, the final temperature model is established according to the distance between the grid of the observation point and the grid of the heat source and a relation formula about the heat source in the grid of the heat source having influence on the grid of the observation point. Accordingly, the temperature model generator 10 generates a temperature model able to estimate the influence of the area, the power consumption, and the coordinate of each circuit module on the chip system temperature, in which the temperature model is an operation formula with differentiability. After the temperature model is established, operation 220 is performed.
In an embodiment, the circuit module described in operation 220 may refer to a circuit module (such as BK0 shown in
In operation 230, the thermal sensing analyzer 30 is configured for differentiating the temperature estimation function. When the absolute value of the differential result of the temperature estimation function resulted from a constant is closest to zero or zero, outputting the constant as an optimized parameter. In an embodiment, the thermal sensing analyzer 30 outputs the optimized parameter so that at least one of the power consumption, the area, or the layout of the circuit module in a chip is able to be adjusted according to the optimization parameter.
Reference is made to
In the embodiment shown in
In the present example, for the grid I13, the overlapping distance (length) d in the x direction is 5.75−5=0.75, the grid width w is 2, the side length √{square root over (A)} is 4. Since the distance d complies with the following formula: d<(r−w)/2, according to the bell-shaped function curve shown in
P/A*w*[1−2(Sx−5)2/r)]*w*2[1−2(Sy−3)2/r]
The temperature estimation function TGA caused by the grid I13 to the grid O (1, 1) is:
P/A*w*[1−2(Sx−5)2/r)]*w*2[1−2(Sy−3)2/r]*[−100*ln √{square root over ((5−1)2+(3−1)2)}×+300]
In the present example, for the grid I14, the overlapping distance (length) d in the x direction is 5.75−5=0.75, the grid width w is 2, the side length √{square root over (A)} is 4. Since the overlapping distance (length) d complies with the following formula: d<(r−w)/2, according to the bell-shaped function curve shown in
P/A*w*[1−2(5−Sx)2/r2)]*w*2[r−(5−Sy)]2/r2
The temperature estimation function TGB caused by the grid I14 to the grid O (1, 1) is:
P/A*w*[1−2(5−Sx)2/r2)]*w*2[r−(5−Sy)]2/r2*[−100*ln √{square root over ((5−1)2+(5−1)2)}+300]
In the present example, for the grid I15, the overlapping distance (length) d in the x direction is 7−5.75=1.25, the grid width w is 2, the side length √{square root over (A)} is 4. Since the overlapping distance (length) d complies with the following formula: (r−w)/2<d<(r+w)/2, according to the bell-shaped function curve shown in
P/A*w*2[(r−(7−Sx)]2/r2*w*2[(r−2(7−Sy)]2/r2
The temperature estimation function TGC caused by the grid I15 to the grid O (1, 1) is:
P/A*w*2[(r−(7−Sx)]2/r2*w*2[(r−2(7−Sy)]2/r2*[−100*ln √{square root over ((7−1)2+(5−1)2)}+30]
In the present example, for the grid I16, the overlapping distance (length) d in the x direction is 7−5.75=1.25, the grid width w is 2, the side length √{square root over (A)} is 4. Since the overlapping distance (length) d complies with the following formula: (r−w)/2<d<(r+w)/2, according to the bell-shaped function curve shown in
P/A*w*2[(r−(7−Sx)]2/r2*w*[(1−2(Sy−3)2/r2]
The temperature estimation function TGD caused by the grid I16 to the grid O (1, 1) is:
P/A*w*2[(r−(7−Sx)]2/r2*w*[(1−2(Sy−3)2/r2]*[−100*ln √{square root over ((7−1)2+(3−1)2)}+300]
According to the aforementioned calculation method, the temperature gradient calculator 20 calculates the temperature estimation functions TGA, TGB, TGC and TGD, and the temperature estimation function Ttotal caused by the circuit module BKn to the grid point O is the sum of the temperature estimation functions TGA, TGB, TGC and TGD. In the mathematical expression, the temperature estimation function Ttotal is represented by: Ttotal(P, A, Sx, Sy)=TGA, TGB, TGC, TGD.
In an embodiment, it is supposed on the condition that the power consumption of the circuit module BKn and the coordinate are unvaried, the optimal area size of the circuit module BKn is desired to obtained so that the rate of temperature rise caused by the circuit module BKn to the grid O is minimized, it represents that the optimal value of the area A to be obtained enables the value of the temperature estimation function Ttotal (A) to be minimized. The variable only includes the area A, the power consumption P, the x coordinate Sx and the y coordinate Sy are unvaried. It is assumed that the power consumption P is 100, the x coordinate Sx is 5.75, the y coordinate Sy is 3.75. After the information is substituted into the temperature estimation function Ttotal, it is able to obtain the side length r is √{square root over (A)}, the grid width w is 2, and the temperature estimation function Ttotal finally becomes the function containing only the area A. The mathematical formula is:
Ttotal=m0+m1*A−2+m2*A−1.5+m3*A−1+m4*A−0.5m5*A0.5+m6*A+m7*A1.5+m8*A2,
in which the characters m0-m8 are coefficients of each variable, for example, the coefficient of the power consumption P is 404.45 PW. The power of the area A totally includes eight cases, and it is presented in the mathematical formula by:
A−2, A−1.5, A−1, A−0.5, A−0.5, A1, A1.5, A2
Next, the thermal sensing analyzer 30 differentiates the temperature estimation function Ttotal by the area A to obtain:
To seek for the value A of the area for this differential formula to make the differential value is 0 or is the minimum absolute value, then this value A of the area is the optimal value.
On the aforementioned condition of the single variable including the area A, it is able to realize how to design the area of the circuit module BKn so that the circuit module BKn has the smallest influence on the chip temperature. Moreover, the aforementioned method is able to be applied in the power consumption P, the x coordinate Sx, and the y coordinate Sy, too. As long as retaining the variable desired to be optimized in the temperature estimation function Ttotal and substituting the other variables in the form of values into the temperature estimation function Ttotal, so that the variable retained in the temperature estimation function Ttotal is only the variable desired to be optimized. Next, differentiating the temperature estimation function Ttotal by this variable to obtain the value of the variable that enables the differential value to be 0 or the minimum absolute value, and this value is optimal for this variable.
In an embodiment, it is also able to calculate a plurality of variables to find the optimal values of the plurality of variables, thereby adjusting the chip design. For example, by setting the coordinate position and the area of the circuit module can find the optimal value for power consumption.
In an embodiment, the temperature model generator 10 utilizes a heat mirroring method for compensating for a boundary temperature of the chip.
Reference is made to
The embodiments of the present disclosure may be able to support the system-level chip layout. The embodiments of the present disclosure may further take the effect of the temperature into the consideration while designing the chip layout, and the virtual result is generated by substituting the preset or known parameter into the temperature model so as to obtain the optimized parameter. The chip design is adjusted according to the optimized parameter to prevent the chip from overheating. Moreover, the heat source mirroring method is applied in the present disclosure for compensating for the boundary temperature of the chip, so as to enhance the precision of the estimation of the temperature. The embodiments of the present disclosure are adapted for assisting to adjust the power consumption, the area, and/or the layout of circuit module in a chip, so that the behavior of the chip system temperature complies with the demand of the designer.
Although the present disclosure has been described in considerable detail with reference to certain embodiments thereof, other embodiments are possible. Therefore, the scope of the appended claims should not be limited to the description of the embodiments contained herein.
Number | Date | Country | Kind |
---|---|---|---|
106139440 A | Nov 2017 | TW | national |
Number | Name | Date | Kind |
---|---|---|---|
8286111 | Chandra et al. | Oct 2012 | B2 |
8527918 | Cheng | Sep 2013 | B2 |
8826208 | Saha et al. | Sep 2014 | B1 |
8898608 | Chuang et al. | Nov 2014 | B1 |
9323870 | Chandra | Apr 2016 | B2 |
20070252633 | Frankel | Nov 2007 | A1 |
20090019411 | Chandra | Jan 2009 | A1 |
20090024969 | Chandra | Jan 2009 | A1 |
20090199140 | Kariat et al. | Aug 2009 | A1 |
20090299543 | Cox | Dec 2009 | A1 |
20100235799 | Rice et al. | Sep 2010 | A1 |
20130167103 | Burrell et al. | Jun 2013 | A1 |
20130286595 | Lisk et al. | Oct 2013 | A1 |
20150103866 | Samadi | Apr 2015 | A1 |
20190147135 | Chang | May 2019 | A1 |
Number | Date | Country |
---|---|---|
101360983 | Feb 2009 | CN |
103180853 | Jun 2013 | CN |
103714384 | Apr 2014 | CN |
103793561 | May 2014 | CN |
103984828 | Aug 2014 | CN |
104021260 | Sep 2014 | CN |
105740495 | Jul 2016 | CN |
106294922 | Jan 2017 | CN |
106599428 | Apr 2017 | CN |
2016-183899 | Oct 2016 | JP |
I371683 | Sep 2012 | TW |
20166268 | Jul 2016 | TW |
Entry |
---|
Han, Yongkui, et al., “Temperature Aware Floorplanning,” Second Workshop on Temperature-Aware Computer Systems (TACS-2), held in conjuction with ISCA-32, Jun. 2005, 9 pgs. Madison, WI. |
Hung, W-L., et al., “Thermal-Aware Floorplanning Using Genetic Algorithms,” The Pennsylvania State University, Proceedings of the Sixth International Symposium on Quality Electronic Design (ISQED'05), Mar. 2005, 6 pgs., 0-7695-2301-3/05, IEEE Computer Society, University Park, PA. |
Zhou, Xiuyi, et al., “Thermal-Aware Task Scheduling for 3D Multicore Processors,” IEEE Transactions on Parallel and Distributed Systems, Jan. 2010, pp. 60-71, vol. 21, No. 1, IEEE Computer Society. |
Huang, Yong-Ruei, et al., “Thermal-Aware Router-Sharing Architecture for 3D Network-on-Chip Designs,” Graduate Institute of Electronics Engineering, National Taiwan University, 2010, pp. 1087-1090, 978-1-4244-7456-1/10, IEEE, Taipei, Taiwan. |
Thiele, Lothar, et al., “Thermal-Aware System Analysis and Software Synthesis for Embedded Multi-Processors,” Computer Engineering and Networks Laboratory, ETH Zurich, Jun. 5-10, 2011, pp. 268-273, 16.3 ACM 978-1-4503-0636-2/11/06, DAC'11, San Diego, CA. |
Zhang, H.Y., et al., “Thermal Design Considerations in System Level Testing of Electronic Devices,” Advanced Micro Devices Singapore, 11th International Conference on Electronic Packaging Technology & High Density Packaging, 2010, pp. 718-723, 978-1-4244-8142-2/10, IEEE. |
Lung, Chiao-Ling, et al., “Thermal Analysis Experiences of a Tri-Core SoC System,” National Tsing Hua University, Depts. of Computer Science and of Electrical Engineering, and Information and Communications Lab., Industrial Technology Research Institute, 2010, pp. 589-594, 978-1-4244-6878-2/10, IEEE. |
Zhan, Yong, et al., “High-Efficiency Green Function-Based Thermal Simulation Algorithms,” IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, Sep. 2007, pp. 1661-1675, vol. 26, No. 9, IEEE. |
Huang, Pei-Yu, et al., “Full-Chip Thermal Analysis for the Early Design Stage via Generalized Integral Transforms,” IEEE Transactions on Very Large Scale Integration (VLSI) Systems, May 2009, pp. 613-626, vol. 17, No. 5, IEEE. |
Asghari, Tony A., “A Transient Thermal Analysis Using a Simplified Heat Transfer Coefficient Model,” 2001 International Symposium on Advanced Packaging Materials, Northbrook, IL, pp. 366-371. |
Sabry, Mohamed-Nabil, et al., “Realistic and Efficient Simulation of Electro-Thermal Effects in VLSI Circuits,” IEEE Transactions on Very Large Scale Integration (VLSI) Systems, Sep. 1997, pp. 283-289, vol. 5, No. 3, IEEE. |
Ziabari, Amirkoushyar, et al., “Power Blurring: Fast Static and Transient Thermal Analysis Method for Packaged Integrated Circuits and Power Devices,” IEEE Transactions on Very Large Scale Integration (VLSI) Systems, Nov. 2014, pp. 2366-2379, vol. 22, No. 11, IEEE. |
Gupta, Aseem, et al., “STEFAL: A System Level Temperature- and Floorplan-Aware Leakage Power Estimator for SoCs,” 20th International Conference on VLSI Design (VLSID'07), 6 pgs., 2007, 0-7695-2762-0/07, IEEE. |
Han, Yongkui, et al., “Temperature Aware Floorplanning,” Dept. of Electrical and Computer Engineering, University of Massachusetts, Amherst, MA, 9 pgs. |
Kahng, Andrew B., et al., “Analytical Thermal Placement for VLSI Lifetime Improvement and Minimum Performance Variation,” CSE Depts., UC San Diego and UC Santa Cruz, CA, 2007, pp. 71-77, IEEE, California. |
Liu, Sean Shih-Ying, et al., “Fast Thermal Aware Placement with Accurate Thermal Analysis Based on Green Function,” IEEE Transactions on Very Large Scale Integration (VLSI) Systems, Jun. 2014, pp. 1404-1415, vol. 22, No. 6, IEEE. |
Xiao, Linfu, et al., “Fixed-outline Thermal-aware 3D Floorplanning,” Dept. of CSE, The Chinese University of Hong Kong, et al., 2010, pp. 561-567, 7A-3 978-1-4244-5767-0/10, IEEE. |
Number | Date | Country | |
---|---|---|---|
20190147135 A1 | May 2019 | US |