The disclosed embodiments relate to devices, and, in particular, to semiconductor memory devices with power-based data protection mechanism and methods for operating the same.
An apparatus (e.g., a processor, a memory system, and/or other electronic apparatus) can include one or more semiconductor circuits configured to store and/or process information. For example, the apparatus can include a memory device, such as a volatile memory device, a non-volatile memory device, or a combination device. Memory devices, such as dynamic random-access memory (DRAM), can utilize electrical energy to store and access data.
Until recently, nefarious activities (e.g., hacking, snooping, etc.) occurred at levels above the hardware layers. For example, hackers attempt to gain unauthorized access to data stored in the address via software-based methods, such as by duplicating/stealing passwords, using software tools (e.g., computer worms), etc. Newer activities are beginning to utilize lower-level (e.g., at device/component levels) interactions to gain unauthorized access to the apparatus. One such nefarious activity includes a boot attack in which the apparatus is removed from a system under certain conditions that preserve the operating state of the apparatus and/or the system. The removed device is then coupled to a nefarious system that is used to gain access to the preserved operating state and/or the corresponding information.
As described in greater detail below, the technology disclosed herein relates to an apparatus, such as memory systems, systems with memory devices, related methods, etc., for protecting data against hardware-level attacks. The apparatus (e.g., a memory device and/or a system including the memory device) can include a security mechanism (e.g., a voltage adjustment circuit) configured to adjust one or more internal processing voltages when non-operating conditions occur, such as when low environmental temperatures or other hardware-level attacking conditions are detected. The security mechanism may adjust the processing voltages to protect the operating states and/or stored data, such as by intentionally corrupting the states/data.
For illustrative purposes, one example of lower-level nefarious interactions is illustrated using
The unauthorized access to memory 114 (e.g., dual inline memory module (DIMM)) occurs by initializing the memory 114 with the first controller 112 (i.e., a normal controller circuit) and subsequently using the second controller 132 (i.e., a nefarious controller circuit) to access/control the memory 114. As such, the memory 114 can be “hot swapped” by being connected to a different set of devices (e.g., from the first module 102 to the second module 122) during operation of the memory 114. The operating states of the memory 114 can be preserved during the swap, such as by maintaining power, maintaining extremely low temperatures (e.g., below 0° C., below −40° C., etc.), and/or avoiding reinitialization of the memory 114. For example, a module freeze spray, a low temperature or a cryogenic environment (e.g., bath), and/or a switching circuit may be used to preserve the operating state of the memory 114 while swapping the DIMM across modules 102 and 122. Based on the swap, the conventional memory 114 may operate without detecting the change in the interfacing devices, and the second controller 132 may freely gain access to and control the memory 114.
To protect against such lower-level nefarious interactions, embodiments of the technology described herein may include a security mechanism configured to protect the operating states and/or stored data, such as by adjusting one or more processing voltages. For example, the security mechanism can adjust the processing voltages intentionally corrupting the corresponding operating states and/or data.
In some embodiments, the security mechanism can receive temperature readings from an existing on-die temperature sensor and/or logic. When the measured temperature reaches a threshold temperature outside of the operating range of the apparatus, the security mechanism can adjust an on-die voltage supply for a reference voltage (Vref) used to refresh data. For example, the security mechanism can drive the Vref to a low state, thereby causing all bits to be detected high. The change in data may occur based on the refresh rate (e.g., 64 ms cycles) and in less time (e.g., less than 100 ms) than required to enable/facilitate a nefarious system to access the same data. Accordingly, the security mechanism can leverage an existing process and existing circuits to protect the data against hardware-level attacks (e.g., cold boot attacks). Additionally or alternatively, the security mechanism can leverage other existing processes and/or circuits, such as by adjusting the word-line supply level, by forcing all cells to leak voltage, and/or by triggering a state machine or a separate process (e.g., built-in self test (BIST)) that alters the stored data.
The apparatus 200 may include an array of memory cells, such as memory array 250. The memory array 250 may include a plurality of banks (e.g., banks 0-15), and each bank may include a plurality of word lines (WL), a plurality of bit lines (BL), and a plurality of memory cells arranged at intersections of the word lines and the bit lines. Memory cells can include any one of a number of different memory media types, including capacitive, magnetoresistive, ferroelectric, phase change, or the like. The selection of a word line WL may be performed by a row decoder 240, and the selection of a bit line BL may be performed by a column decoder 245. Sense amplifiers (SAMP) may be provided for corresponding bit lines BL and connected to at least one respective local I/O line pair (LIOT/B), which may in turn be coupled to at least respective one main I/O line pair (MIOT/B), via transfer gates (TG), which can function as switches. The memory array 250 may also include plate lines and corresponding circuitry for managing their operation.
The apparatus 200 may employ a plurality of external terminals that include command and address terminals coupled to a command bus and an address bus to receive command signals (CMD) and address signals (ADDR), respectively. The apparatus 200 may further include a chip select terminal to receive a chip select signal (CS), clock terminals to receive clock signals CK and CKF, data clock terminals to receive data clock signals WCK and WCKF, data terminals DQ, RDQS, DBI, and DMI, power supply terminals VDD, VSS, and VDDQ.
The command terminals and address terminals may be supplied with an address signal and a bank address signal (not shown in
The command and address terminals may be supplied with command signals (CMD), address signals (ADDR), and chip select signals (CS), from a memory controller and/or a nefarious chipset. The command signals may represent various memory commands from the memory controller (e.g., including access commands, which can include read commands and write commands). The chip select signal may be used to select the apparatus 200 to respond to commands and addresses provided to the command and address terminals. When an active chip select signal is provided to the apparatus 200, the commands and addresses can be decoded and memory operations can be performed. The command signals may be provided as internal command signals ICMD to a command decoder 215 via the command/address input circuit 205. The command decoder 215 may include circuits to decode the internal command signals ICMD to generate various internal signals and commands for performing memory operations, for example, a row command signal to select a word line and a column command signal to select a bit line. The command decoder 215 may further include one or more registers for tracking various counts or values (e.g., counts of refresh commands received by the apparatus 200 or self-refresh operations performed by the apparatus 200).
Read data can be read from memory cells in the memory array 250 designated by row address (e.g., address provided with an active command) and column address (e.g., address provided with the read). The read command may be received by the command decoder 215, which can provide internal commands to input/output circuit 260 so that read data can be output from the data terminals DQ, RDQS, DBI, and DMI via read/write amplifiers 255 and the input/output circuit 260 according to the RDQS clock signals. The read data may be provided at a time defined by read latency information RL that can be programmed in the apparatus 200, for example, in a mode register (not shown in
Write data can be supplied to the data terminals DQ, DBI, and DMI according to the WCK and WCKF clock signals. The write command may be received by the command decoder 215, which can provide internal commands to the input/output circuit 260 so that the write data can be received by data receivers in the input/output circuit 260, and supplied via the input/output circuit 260 and the read/write amplifiers 255 to the memory array 250. The write data may be written in the memory cell designated by the row address and the column address. The write data may be provided to the data terminals at a time that is defined by write latency WL information. The write latency WL information can be programmed in the apparatus 200, for example, in the mode register. The write latency WL information can be defined in terms of clock cycles of the CK clock signal. For example, the write latency information WL can be a number of clock cycles of the CK signal after the write command is received by the apparatus 200 when the associated write data is received.
The power supply terminals may be supplied with power supply potentials VDD and VSS. These power supply potentials VDD and VSS can be supplied to an internal voltage generator circuit 270. The internal voltage generator circuit 270 can generate various internal potentials VPP, VOD, VARY, VPERI, and the like based on the power supply potentials VDD and VSS. The internal potential VPP can be used in the row decoder 240, the internal potentials VOD and VARY can be used in the sense amplifiers included in the memory array 250, and the internal potential VPERI can be used in many other circuit blocks.
The power supply terminal may also be supplied with power supply potential VDDQ. The power supply potential VDDQ can be supplied to the input/output circuit 260 together with the power supply potential VSS. The power supply potential VDDQ can be the same potential as the power supply potential VDD in an embodiment of the present technology. The power supply potential VDDQ can be a different potential from the power supply potential VDD in another embodiment of the present technology. However, the dedicated power supply potential VDDQ can be used for the input/output circuit 260 so that power supply noise generated by the input/output circuit 260 does not propagate to the other circuit blocks.
The clock terminals and data clock terminals may be supplied with external clock signals and complementary external clock signals. The external clock signals CK, CKF, WCK, WCKF can be supplied to a clock input circuit 220. The CK and CKF signals can be complementary, and the WCK and WCKF signals can also be complementary. Complementary clock signals can have opposite clock levels and transition between the opposite clock levels at the same time. For example, when a clock signal is at a low clock level a complementary clock signal is at a high level, and when the clock signal is at a high clock level the complementary clock signal is at a low clock level. Moreover, when the clock signal transitions from the low clock level to the high clock level the complementary clock signal transitions from the high clock level to the low clock level, and when the clock signal transitions from the high clock level to the low clock level the complementary clock signal transitions from the low clock level to the high clock level.
Input buffers included in the clock input circuit 220 can receive the external clock signals. For example, when enabled by a clock/enable signal from the command decoder 215, an input buffer can receive the clock/enable signals. The clock input circuit 220 can receive the external clock signals to generate internal clock signals ICLK. The internal clock signals ICLK can be supplied to an internal clock circuit 230. The internal clock circuit 230 can provide various phase and frequency controlled internal clock signals based on the received internal clock signals ICLK and a clock enable (not shown in
The apparatus 200 can be connected to any one of a number of electronic devices capable of utilizing memory for the temporary or persistent storage of information, or a component thereof. For example, a host device of apparatus 200 may be a computing device such as a desktop or portable computer, a server, a hand-held device (e.g., a mobile phone, a tablet, a digital reader, a digital media player), or some component thereof (e.g., a central processing unit, a co-processor, a dedicated memory controller, etc.). The host device may be a networking device (e.g., a switch, a router, etc.) or a recorder of digital images, audio and/or video, a vehicle, an appliance, a toy, or any one of a number of other products. In one embodiment, the host device may be connected directly to apparatus 200; although in other embodiments, the host device may be indirectly connected to memory device (e.g., over a networked connection or through intermediary devices).
The apparatus 200 can include a trigger sensor 292 configured to observe or measure targeted aspects of an operating environment (e.g., environmental parameters characteristic of a low-level or a hardware level attack). For example, the trigger sensor 292 can include a temperature sensor and/or logic configured to control various operational settings according to operating temperature, such as to account for temperature-based resistance changes, noise levels, signal degradations, etc. In some embodiments, the trigger sensor 292 can be configured to flag and identify when environmental or operating temperatures fall below a threshold temperature (e.g., below 0° C., below −40° C., etc.) that is outside of the operating temperature range of the memory device. The threshold temperature can be predetermined according to one or more aspects of the apparatus 200, such as the memory storage technology, circuit integrity, targeted industrial application, etc.
The apparatus 200 can include a security mechanism, such as a voltage adjustment circuit 294, configured to protect the operating state of the apparatus 200 and/or data stored/processed by the apparatus 200. In some embodiments, the voltage adjustment circuit 294 can adjust one or more voltage levels, such as by interacting with the voltage generator 270, the memory array 250, and/or other circuits described above. For example, the voltage adjustment circuit 294 can adjust a reference level (e.g., Vref) used for the data refresh and/or sense-amplifier operations. The voltage adjustment circuit 294 can adjust Vref, such as from the middle of two sense levels, to a low sense level or a high sense level. As a result, the stored information can be detected as the same value or bit level (e.g., all high when Vref is low or all low when Vref is high) during a read and/or a refresh operation. In other words, when a triggering condition is detected, the voltage adjustment circuit 294 can effectively drive/change all or a portion of the stored bits to a low state or a high state.
By adjusting Vref, the voltage adjustment circuit 294 can use the existing refresh operation to corrupt the data. Accordingly, the voltage adjustment circuit 294 can cause the data corruption within a response duration (e.g., less than 100 ms from detection of the triggering condition) that corresponds to the refresh rate (e.g., 64 ms). The resulting response duration can be less than the amount of time necessary to implement the hardware-level attack (e.g., such as to physically move the apparatus 200 from the first subsystem 110 of
In other embodiments, the voltage adjustment circuit 294 can adjust the word-line supply voltage to corrupt the read data in response to detecting the targeted condition. Other examples of the protection mechanism can include circuitry configured to force all cells to leak stored charges and/or to trigger state machines or processes (e.g., BIST) that alter the stored data.
For the example illustrated in
The voltage adjustment circuit 294 configured to update the reference voltage 308 and leverage the refresh process 320 to protect the data can use existing processes to guarantee data protection against hardware-level attacks. Since the memory device is configured to implement the refresh process 320 after a refresh delay 322 (e.g., 64 ms), the voltage adjustment circuit 294 can provide a response time 324 that is closely related to and bounded by the refresh delay. In other words, a maximum value of the response time 324 can correspond to the refresh delay 322 and any related processing durations. Since the combination of the refresh delay 322 and refresh processing durations (e.g., milliseconds) are many orders of magnitudes lower than the duration necessary to implement a hardware-level attack (e.g., seconds or minutes), the voltage adjustment circuit 294 can guarantee that the stored data 302 will be protected against such attacks.
At block 402, the apparatus can be initiated for operation. The apparatus can implement a boot process or a load process according to a predetermined set of instructions. Accordingly, the apparatus can prepare the functional circuitry (e.g., the memory array 250 of
At block 404, the apparatus can measure a temperature thereof during or as part of normal operation. The apparatus can use an on-board temperature sensor (e.g., a portion of a trigger sensor 292 of
At decision block 406, the apparatus can compare the temperature to a threshold. The threshold can correspond to a predetermined temperature that is outside of a normal operating range of the apparatus. For example, the threshold can be at or below a floor/minimum temperature (e.g., 0° C., −40° C., etc.) of the operating range. When the temperature is at or above the threshold, the apparatus can continue the normal operation including measuring/monitoring the temperature. When the temperature falls below the threshold, the apparatus can generate a protection trigger based on the comparison, as illustrated at block 408. For example, the apparatus can use a portion of the trigger sensor 292 (e.g., a logic, a comparator, or the like) to generate the trigger output 314 of
At block 410, the apparatus can implement the protection mechanism based on the trigger output. The apparatus can use a protection circuit to protect an operating state of the apparatus and/or data of the apparatus against an unauthorized access.
In some embodiments, as illustrate at block 412, the protection circuit can provide the protection by changing the data stored on the apparatus (e.g., by intentionally changing or corrupting the stored data or one or more portions thereof). The protection circuit can change the data or one or more portions thereof from the initially stored state 310 of
Additionally or alternatively, the apparatus can change data values as illustrated at block 424. The apparatus may change the data values by implementing a process that corresponds to the adjusted processing voltage. For example, the memory device can implement a data refresh operation (e.g., a regularly scheduled refresh occurring after the trigger) using the adjusted voltage reference. Accordingly, the memory device can change the stored data (e.g., the representative charge levels at the memory cells) to a predetermined state representative of a common bit value during a subsequently implemented refresh operation.
In some embodiments, the apparatus may change the data value independent of or without changing the processing voltage. For example, the apparatus can change the data values by implementing a BIST or a separate self-writing circuit to alter or replace the stored data. Accordingly, the apparatus can protect against an unauthorized system (e.g., the second subsystem 130 of
In addition to or instead of changing the data, the apparatus can implement the protection mechanism by locking the apparatus as illustrated at block 414. The apparatus can implement the lock, for example, based on implementing a self-initiated reset, disabling one or more circuits (e.g., the input/output circuit 260 of
At block 502, the method 500 can include providing a temperature sensor (e.g., a portion of the trigger sensor 292 of
At block 504, the method 500 can include providing a voltage adjustment circuit (the voltage adjustment circuit 294 of
At block 506, the method 500 can include configuring a protection circuit/logic (e.g., a portion of the trigger sensor 292, a portion of the voltage adjustment circuit 294, or the like) to protect the apparatus against an unauthorized access thereto. The protection circuit can be configured to respond to the trigger output by changing the data values and/or locking the apparatus as described above. For example, the voltage adjustment circuit 294 and/or a corresponding logic can be configured to drive the reference voltage or the wordline supply voltage to non-operating levels that would change or intentionally corrupt the stored data during a corresponding data operation (e.g., refresh operation). Also, the self-test circuit, a self-write circuit, and/or a corresponding logic can be configured to separately alter the stored charge levels and the corresponding stored data to a predetermined pattern different from the initially stored content.
In some embodiments, providing one or more circuits for the method 500 can include forming the one or more circuits, such as using semiconductor manufacturing processes. For example, one or more of the circuits/logic described above can be formed in semiconductor material/substrate by doping the semiconductor, masking/etching to form connectors and/or isolation, or the like. Also, the circuits may be formed based on mounting one or more circuit components on a circuit substrate (e.g., a printed circuit board). The provided circuits can be electrically coupled to each other, such as using wired connectors (e.g., traces, buses, wires, etc.) and/or wireless mechanisms (e.g., inductor-based coupling). The provided circuits can be further coupled to other functional circuits, such as the memory array 250 of
From the foregoing, it will be appreciated that specific embodiments of the technology have been described herein for purposes of illustration, but that various modifications may be made without deviating from the disclosure. In addition, certain aspects of the new technology described in the context of particular embodiments may also be combined or eliminated in other embodiments. Moreover, although advantages associated with certain embodiments of the new technology have been described in the context of those embodiments, other embodiments may also exhibit such advantages and not all embodiments need necessarily exhibit such advantages to fall within the scope of the technology. Accordingly, the disclosure and associated technology can encompass other embodiments not expressly shown or described herein.
In the illustrated embodiments above, the apparatuses have been described in the context of DRAM devices. Apparatuses configured in accordance with other embodiments of the present technology, however, can include other types of suitable storage media in addition to or in lieu of DRAM devices, such as, devices incorporating NAND-based or NOR-based non-volatile storage media (e.g., NAND flash), magnetic storage media, phase-change storage media, ferroelectric storage media, etc.
The term “processing” as used herein includes manipulating signals and data, such as writing or programming, reading, erasing, refreshing, adjusting or changing values, calculating results, executing instructions, assembling, transferring, and/or manipulating data structures. The term data structure includes information arranged as bits, words or code-words, blocks, files, input data, system-generated data, such as calculated or generated data, and program data. Further, the term “dynamic” as used herein describes processes, functions, actions or implementation occurring during operation, usage or deployment of a corresponding device, system or embodiment, and after or while running manufacturer's or third-party firmware. The dynamically occurring processes, functions, actions or implementations can occur after or subsequent to design, manufacture, and initial testing, setup or configuration.
The above embodiments are described in sufficient detail to enable those skilled in the art to make and use the embodiments. A person skilled in the relevant art, however, will understand that the technology may have additional embodiments and that the technology may be practiced without several of the details of the embodiments described above with reference to
Number | Name | Date | Kind |
---|---|---|---|
4972175 | MacPherson | Nov 1990 | A |
6219788 | Flavin | Apr 2001 | B1 |
6731536 | McClain | May 2004 | B1 |
6822899 | Boulos | Nov 2004 | B1 |
8458804 | Hyde | Jun 2013 | B1 |
8925098 | Hyde | Dec 2014 | B2 |
9225695 | Riera | Dec 2015 | B1 |
9858208 | Connolly | Jan 2018 | B2 |
9940457 | Healy | Apr 2018 | B2 |
9996281 | Sharon | Jun 2018 | B2 |
10037045 | Wan | Jul 2018 | B2 |
10249349 | Takizawa | Apr 2019 | B2 |
10446226 | Tortorelli | Oct 2019 | B2 |
10564900 | Achtenberg | Feb 2020 | B2 |
10692561 | Jang | Jun 2020 | B2 |
10928870 | Chang | Feb 2021 | B2 |
11017823 | Kamepalli | May 2021 | B1 |
11036413 | Sloat | Jun 2021 | B1 |
11081167 | Yabe | Aug 2021 | B1 |
11094365 | Jang | Aug 2021 | B1 |
11200939 | Rehmeyer | Dec 2021 | B1 |
11385984 | Yang | Jul 2022 | B2 |
11923019 | Jia | Mar 2024 | B2 |
20040025031 | Ooi | Feb 2004 | A1 |
20050125597 | Lovett | Jun 2005 | A1 |
20070013538 | Dalzell | Jan 2007 | A1 |
20090057767 | Takahashi | Mar 2009 | A1 |
20090187753 | Gelman | Jul 2009 | A1 |
20090327633 | Fusella | Dec 2009 | A1 |
20100169671 | Coussieu | Jul 2010 | A1 |
20100309734 | Ehrenreich | Dec 2010 | A1 |
20110280086 | Choi | Nov 2011 | A1 |
20120033502 | Eun | Feb 2012 | A1 |
20120079593 | Adams | Mar 2012 | A1 |
20120179952 | Tuyls | Jul 2012 | A1 |
20130051127 | Parris | Feb 2013 | A1 |
20130061097 | Mendel | Mar 2013 | A1 |
20130232571 | Belesiu | Sep 2013 | A1 |
20130326206 | Lueck | Dec 2013 | A1 |
20140108786 | Kreft | Apr 2014 | A1 |
20140208109 | Narendra Trivedi | Jul 2014 | A1 |
20140215613 | Kelley | Jul 2014 | A1 |
20140223120 | Franceschini | Aug 2014 | A1 |
20150161392 | Krummel | Jun 2015 | A1 |
20150228328 | Cordero | Aug 2015 | A1 |
20150356300 | Teglia | Dec 2015 | A1 |
20160118104 | Guz | Apr 2016 | A1 |
20160224412 | Healy | Aug 2016 | A1 |
20160239663 | Healy | Aug 2016 | A1 |
20160277025 | Tanamoto | Sep 2016 | A1 |
20160291891 | Cheriton | Oct 2016 | A1 |
20160379705 | Lu | Dec 2016 | A1 |
20170103236 | Homayoun, Jr. | Apr 2017 | A1 |
20170109527 | Kim | Apr 2017 | A1 |
20170255403 | Sharon | Sep 2017 | A1 |
20180013211 | Ricci | Jan 2018 | A1 |
20180090992 | Shrivastava | Mar 2018 | A1 |
20180166116 | Krilic | Jun 2018 | A1 |
20180197599 | Choi | Jul 2018 | A1 |
20180206177 | Daoura | Jul 2018 | A1 |
20180210540 | Wang | Jul 2018 | A1 |
20180349647 | Morgner | Dec 2018 | A1 |
20190056999 | Foxworth | Feb 2019 | A1 |
20190065082 | Penney | Feb 2019 | A1 |
20190068873 | Rodriguez, II | Feb 2019 | A1 |
20190227949 | Bernat | Jul 2019 | A1 |
20190325141 | Liew | Oct 2019 | A1 |
20190325142 | Trikalinou | Oct 2019 | A1 |
20200051473 | Kwon | Feb 2020 | A1 |
20200058341 | Villa | Feb 2020 | A1 |
20200089149 | Antonio | Mar 2020 | A1 |
20200104219 | Linnen | Apr 2020 | A1 |
20200147425 | Wright | May 2020 | A1 |
20200184107 | Troia | Jun 2020 | A1 |
20200194083 | Wang | Jun 2020 | A1 |
20200274422 | Murooka | Aug 2020 | A1 |
20200301764 | Thoresen | Sep 2020 | A1 |
20200310687 | Huang | Oct 2020 | A1 |
20210005229 | Hiscock | Jan 2021 | A1 |
20210005244 | Hiscock | Jan 2021 | A1 |
20210026786 | Meier | Jan 2021 | A1 |
20210090641 | Strand | Mar 2021 | A1 |
20210257039 | Prakash | Aug 2021 | A1 |
20210295919 | Shimura | Sep 2021 | A1 |
20210318822 | Sloat | Oct 2021 | A1 |
20210375354 | Partsch | Dec 2021 | A1 |
20210375357 | Li | Dec 2021 | A1 |
20220012187 | Contreras Munoz | Jan 2022 | A1 |
20220068426 | Muchherla | Mar 2022 | A1 |
20220166762 | Srour | May 2022 | A1 |
20220362498 | Veschambre | Nov 2022 | A1 |
20220412814 | G | Dec 2022 | A1 |
20230395115 | Visconti | Dec 2023 | A1 |
20230420033 | Kim | Dec 2023 | A1 |
20240012950 | Kang | Jan 2024 | A1 |
Number | Date | Country |
---|---|---|
102012022504 | Oct 2014 | BR |
2754230 | Mar 2012 | CA |
108288482 | Jul 2018 | CN |
112132998 | Dec 2020 | CN |
117216812 | Dec 2023 | CN |
117254929 | Dec 2023 | CN |
3161717 | Jul 2020 | EP |
4174701 | May 2023 | EP |
2022123479 | Aug 2022 | JP |
2016077899 | Jul 2016 | KR |
201506938 | Feb 2015 | TW |
WO-2014201059 | Dec 2014 | WO |
WO-2021155176 | Aug 2021 | WO |
Number | Date | Country | |
---|---|---|---|
20230061037 A1 | Mar 2023 | US |