The present disclosure relates generally to memory devices, and more particularly, to apparatuses and methods for a non-deterministic memory protocol.
Memory devices are typically provided as internal, semiconductor, integrated circuits in computers or other electronic devices. There are many different types of memory including volatile and non-volatile memory. Volatile memory can require power to maintain its data and includes random-access memory (RAM), dynamic random access memory (DRAM), and synchronous dynamic random access memory (SDRAM), among others. Non-volatile memory can provide persistent data by retaining stored data when not powered and can include NAND flash memory, NOR flash memory, read only memory (ROM), Electrically Erasable Programmable ROM (EEPROM), Erasable Programmable ROM (EPROM), and resistance variable memory such as phase change random access memory (PCRAM), resistive random access memory (RRAM), and magnetoresistive random access memory (MRAM), among others.
Memory is also utilized as volatile and non-volatile data storage for a wide range of electronic applications. Non-volatile memory may be used in, for example, personal computers, portable memory sticks, digital cameras, cellular telephones, portable music players such as MP3 players, movie players, and other electronic devices. Memory cells can be arranged into arrays, with the arrays being used in memory devices.
Memory can be part of a memory module (e.g., a dual in-line memory module (DIMM)) used in computing devices. Memory modules can include volatile, such as DRAM, for example, and/or non-volatile memory, such as Flash memory or RRAM, for example. The DIMMs can be using a main memory in computing systems.
The present disclosure includes apparatuses and methods related to a non-deterministic memory protocol. An example apparatus can perform operations on the memory device based on commands received from a host according to a protocol, wherein the protocol includes non-deterministic timing of the operations. The memory device can be a non-volatile dual in-line memory module (NVDIMM) device, for example.
In one or more embodiments of the present disclosure, a protocol can be used for executing operations on a NVDIMM device. The protocol can allow a host to have direct access to the NVDIMM device, therefore a host can send commands to the NVDIMM device for the NVDIMM device to execute. The non-volatile nature of the NVDIMM device can allow the NVDIMM device to execute the commands from a host with non-deterministic timing. The protocol can be used by the host and the NVDIMM to send, receive, and execute commands. The protocol can include signals that enable non-deterministic timing of execution of the commands, returning data associated with read commands in an order that is different than an order in which the read commands were issued, and using a write buffer, cache, or similar entity when executing a write command. Also, the protocol according to embodiments of the present disclosure can be used (e.g., is compatible) with previous protocols so that a host can send commands using the protocol of the present disclosure and other previous protocols to DIMM devices on a same channel. For example, a host can send commands using the protocol according to embodiments of the present disclosure to a NVDIMM device and also send commands using previous protocols to a DDR4 SDRAM device on the same channel.
The signals included in the protocol of the present disclosure can be a read ready (R_RDY) signal, a read send (R_SEND) signal, a write credit increment (WC_INC) signal, and a read identification (RID) signal. The read ready signal can be sent from the NVDIMM device to the host to indicate that the NVDIMM device has the data associated with a read command ready to send to the host. The read send command can be sent from the host to the NVDIMM device in response to receiving a read ready command to indicate that the host is ready to receive the data associated with a read command. The read identification (RID) signal can be sent from the NVDIMM device to the host when the data associated with a read command is being transfers to the host. The RID signal can be used by the host to identify which read command is associated with the data that is being transferred to the host from the NVDIMM device. The write credit increment signal can be sent from the NVDIMM device to the host in response to completing execution of a write command or that a write in the write buffer has been consumed, which indicates the write buffer space associated with the request is available. The write increment signal can be used by the host to increment the number of available write commands that can be sent to the NVDIMM device. For example, when each time the host sends a write command to an NVDIMM device the host decrements the number of available write commands that can be sent to the NVDIMM device and when the host receives the write count increment signal from the NVDIMM device the host can increment the number of available write commands that can be sent to the NVDIMM device.
In the following detailed description of the present disclosure, reference is made to the accompanying drawings that form a part hereof, and in which is shown by way of illustration how a number of embodiments of the disclosure may be practiced. These embodiments are described in sufficient detail to enable those of ordinary skill in the art to practice the embodiments of this disclosure, and it is to be understood that other embodiments may be utilized and that process, electrical, and/or structural changes may be made without departing from the scope of the present disclosure. As used herein, the designator “N” indicates that a number of the particular feature so designated can be included with a number of embodiments of the present disclosure.
As used herein, “a number of” something can refer to one or more of such things. For example, a number of memory devices can refer to one or more of memory devices. Additionally, designators such as “N”, as used herein, particularly with respect to reference numerals in the drawings, indicates that a number of the particular feature so designated can be included with a number of embodiments of the present disclosure.
The figures herein follow a numbering convention in which the first digit or digits correspond to the drawing figure number and the remaining digits identify an element or component in the drawing. Similar elements or components between different figures may be identified by the use of similar digits. As will be appreciated, elements shown in the various embodiments herein can be added, exchanged, and/or eliminated so as to provide a number of additional embodiments of the present disclosure. In addition, the proportion and the relative scale of the elements provided in the figures are intended to illustrate various embodiments of the present disclosure and are not to be used in a limiting sense.
As illustrated in
Host 102 includes a host controller 108 to communicate with memory systems 104-1 . . . 104-N. The host controller 108 can send commands to the DIMMs 110-1, . . . , 110-X, 110-Y via channels 112-1 . . . 112-N. The host controller 108 can communicate with the DIMMs 110-1, . . . , 110-X, 110-Y and/or the controller 114 on each of the DIMMs 110-1, . . . , 110-X, 110-Y to read, write, and erase data, among other operations. A physical host interface can provide an interface for passing control, address, data, and other signals between the memory systems 104-1 . . . 104-N and host 102 having compatible receptors for the physical host interface. The signals can be communicated between 102 and DIMMs 110-1, . . . , 110-X, 110-Y on a number of buses, such as a data bus and/or an address bus, for example, via channels 112-1 . . . 112-N.
The host controller 108 and/or controller 114 on a DIMM can include control circuitry, e.g., hardware, firmware, and/or software. In one or more embodiments, the host controller 108 and/or controller 114 can be an application specific integrated circuit (ASIC) coupled to a printed circuit board including a physical interface. Also, each DIMM 110-1, . . . , 110-X, 110-Y can include a buffer 116 of volatile and/or non-volatile memory. Buffer 116 can be used to buffer data that is used during execution of read commands and/or write commands. The buffer 116 can be split into a write buffer and a read buffer. The amount of space that is dedicated to the write buffer and the amount of space dedicated to the read buffer can be controlled by the host controller 108. The host can control the amount of space in the buffer 116 dedicated to the write buffer and the read buffer based on the type of commands that are being sent to a particular DIMM. In a number of embodiments, the DIMM can have a fixed write buffer size and/or a fixed read buffer size.
The DIMMs 110-1, . . . , 110-X, 110-Y can provide main memory for the memory system or could be used as additional memory or storage throughout the memory system. Each DIMM 110-1, . . . , 110-X, 110-Y can include one or more arrays of memory cells, e.g., non-volatile memory cells. The arrays can be flash arrays with a NAND architecture, for example. Embodiments are not limited to a particular type of memory device. For instance, the memory device can include RAM, ROM, DRAM, SDRAM, PCRAM, RRAM, and flash memory, among others.
The embodiment of
In a number of embodiments, when sending an activate command that is linked and/or is immediately followed by a read command or a write command there may additional redundant bits among the activate command and the read or write command that can be repurposed for additional addressing of the commands. Due to non-volatile memory often having more capacity than DRAM, it may be desirable to have additional addressing of the commands. The bits in the read or write commands that are redundant to bits in the activate command can be used to provide additional row (page) addressing and/or additional column addressing for the read or write commands.
In
In
In a number of embodiments, a read send signal can be pulsed from low to high to low to indicate that the host is ready to receive data. The pulsed read send signal can be timed by the host to coordinate with other signals sent to DIMMs on a common channel, which are typically captured with a clock edge, where some of the DIMMs may or may not be using the protocol of the present disclosure.
In response to receiving read command 244-2, a read ready indicator 228 can be sent to the host by toggling the read ready signal from high to low to indicate that the data associated with read command 244-2 is ready to be sent to the host. The host can detect the read ready indicator 228 by detecting the change in the read ready signal from high to low. In response to receiving the read ready indicator 228, the host can send a read send indicator 230 to the NVDIMM controller to indicate that the host is ready to receive the data associated with the read command 224-2. The read send indicator 230 can include toggling the read send signal from high to low, which is detected by the NVDIMM controller. The NVDIMM controller can, in response to receiving the read send indicator 230, send the data 246-2 associated with write command on the DQ+ECC pins 224. The data 246-2 is sent after a read data transfer time period (tsend) 250-2. Also, a read identification (RID) signal 248-2 is sent to the host on the RID pins 226 when the data 246-2 sent to the host. The RID signal 248-2 is used to identify the read command associated with the data 246-2 that is sent to the host. In a number of embodiments, since the NVDIMM can execute the read commands in any order, data 246-2 and RID signal 248-2 can be sent to the host first in response to the toggling of the read ready command from low to high and data 246-1 and RID signal 248-1 can be sent from the host later in response to the toggling of the read ready command from high to low.
In
In response to receiving read command 244-2, the NVDIMM can inspect the buffer and/or cache of the NVDIMM and in the non-volatile memory of the NVDIMM to locate the data associated with the read commands 244-1 and 244-2. The data associated with read command 244-1 was a “read miss” and was located in the non-volatile memory of the NVDIMM. Due to the read command 244-2 being a “read miss”, the NVDIMM controller was not able to send the read ready command as soon as a “read hit” command. After a time period due to locating the data associated with read command 244-2, a read ready indicator 228 can be sent to the host by toggling the read ready signal from high to low to indicate that the data associated with read command 244-2 is ready to be sent to the host. The NVDIMM can wait to send the read ready command until the data associated with the read command is ready to be sent to the host because the read ready command can be sent without regard to timing parameters. The host can detect the read ready indicator 228 by detecting the change in the read ready signal from high to low. In response to receiving the read ready indicator 228, the host can send a read send indicator 230 to the NVDIMM controller to indicate that the host is ready to receive the data associated with the read command 224-2. The read send indicator 230 can include toggling the read send signal from high to low, which is detected by the NVDIMM controller. The NVDIMM controller can, in response to receiving the read send indicator 230, send the data 246-2 associated with write command on the DQ+ECC pins 224. The data 246-2 is sent after a read data, transfer time period (tsend) 250-2. Also, a read identification (RID) signal 248-2 is sent to the host on the RID pins 226 when the data 246-2 sent to the host. The RID signal 248-2 is used to identify the read command associated with the data 246-2 that is sent to the host. In a number of embodiments, priority (e.g., a priority bit can be enabled) can be included in a read command, which indicates to the NVDIMM that the read command should be executed with priority. The NVDIMM can send data associated with a read command with a priority bit enabled before sending data associated with other read commands. In a number of embodiments, since the NVDIMM can execute the read commands in any order, data 246-2 and RID signal 248-2 can be sent to the host first in response to the toggling of the read ready command from low to high and data 246-1 and RID signal 248-1 can be sent from the host later in response to the toggling of the read ready command from high to low.
In
A write credit increment (WC_INC) indicator 332 can be used to indicate that write data associated with a write command has been written to a NVDIMM. The write credit increment indicator 332 can be sent from the NVDIMM to the host in response to the NVDIMM retiring the write command from the write buffer and writing data associated with a write command to cache and/or non-volatile memory of the NVDIMM. In embodiments wherein the write credit increment signal is sent from the NVDIMM to the host in response to the NVDIMM writing data associated with a write command to non-volatile memory of the NVDIMM, the write credit increment signal can be used to indicate to the host persistence of the data (e.g., the data is stored in non-volatile memory). In embodiments where the write credit increment command indicates persistence of the data, write commands are executed by the NVDIMM in the order in which the write commands are received by the NVDIMM. Also, the write credit increment signal can be used a write buffer release signal.
In embodiments where the write credit increment command is sent from the NVDIMM to the host in response to the NVDIMM retiring the write command from the write buffer, the write credit increment command does not indicate to the host persistence of the data (e.g., the data is stored in non-volatile memory), while write commands can be executed by the NVDIMM in an order that is different than the order in which the write commands are received by the NVDIMM. For example, the data associated with write command are stored in the buffer and then written to the non-volatile memory of the NVDIMM in an order and time as determined by the NVDIMM controller.
In a number of embodiments, write identification (WID) signal can be sent from the NVDIMM to the host when the write credit increment signal is sent to the host. The WID signal can be used to identify which write commands have complete execution and can be sent of a number of WID pins. The WID signal can be used with a write credit increment signal that indicates persistence of the data to allow the NVDIMM to execute write commands in an order that is different that the order in which the write commands are received.
The number of outstanding write commands that the host can issue can be dependent on the size of the write buffer on the NVDIMM. The size of the write buffer on the NVDIMM can be controlled by the host. The host and the NVDIMM controller can track the number of outstanding write commands that the host can issue. When there are no outstanding write commands issued by the host, the write count is at its maximum. Each time a write command is sent by the host to NVDIMM the host decrements the write counter on the host and each time a write command is received by the NVDIMM from the host the NVDIMM decrements the write counter on the NVDIMM.
In a number of embodiments, two write credit increment signals can be used to keep track of the number of outstanding write commands that the host can issue. For example, a WC_INCv signal can be toggled in response a write command being retired (e.g., released) from the write buffer and a WC_INCnv signal can be toggled in response to a persistent write being completed in non-volatile memory. The WC_INCv and WC_INCNV signals can be sent on different pins. The WC_INCv signals associated with write commands being retired from the write buffer (e.g., the space in the write buffer for the data associated with the write command is free) can be sent to the host in an order that is different than the order in which the host sent the write commands. The WC_INCnv signals associated with persistent writes being completed in non-volatile memory can be sent to the host in the order in which the host sent the write commands.
In
In
Also, once the controller has the data associated with write command 444-2 ready to send back to the host, the NVDIMM controller can send a read ready command to the host. A read ready indicator 428 can be sent to the host by toggling the read ready signal from high to low to indicate that the data 446-3 associated with read command 444-2 is ready to be sent to the host. The host can detect the read ready indicator 428 by detecting the change in the read ready signal from high to low. In response to receiving the read ready indicator 428, the host can send a read send indicator 230 to the NVDIMM controller to indicate that the host is ready to receive the data 446-3 associated with the read command 424-2. The read send indicator 430 can include toggling the read send signal from high to low, which is detected by the NVDIMM controller. The NVDIMM controller can, in response to receiving the read send indicator 430, send the data 446-3 associated with read command 444-2 on the DQ+ECC pins 424. The data 446-2 is sent after a read data transfer time period (tsend) 250-2. Also, a read identification (RID) signal 248-2 is sent to the host on the RID pins 226 when the data 246-2 sent to the host. The RID signal 248-2 is used to identify the read command associated with the data 246-2 that is sent to the host.
In
In a number of embodiments, a number of read and write commands can be sent to a NVDIMM. The number of read and write commands can be executed in an order and with a timing that is controlled by the NVDIMM and the host.
Although specific embodiments have been illustrated and described herein, those of ordinary skill in the art will appreciate that an arrangement calculated to achieve the same results can be substituted for the specific embodiments shown. This disclosure is intended to cover adaptations or variations of various embodiments of the present disclosure. It is to be understood that the above description has been made in an illustrative fashion, and not a restrictive one. Combination of the above embodiments, and other embodiments not specifically described herein will be apparent to those of skill in the art upon reviewing the above description. The scope of the various embodiments of the present disclosure includes other applications in which the above structures and methods are used. Therefore, the scope of various embodiments of the present disclosure should be determined with reference to the appended claims, along with the full range of equivalents to which such claims are entitled.
In the foregoing Detailed Description, various features are grouped together in a single embodiment for the purpose of streamlining the disclosure. This method of disclosure is not to be interpreted as reflecting an intention that the disclosed embodiments of the present disclosure have to use more features than are expressly recited in each claim. Rather, as the following claims reflect, inventive subject matter lies in less than all features of a single disclosed embodiment. Thus, the following claims are hereby incorporated into the Detailed Description, with each claim standing on its own as a separate embodiment.
This application is a Continuation of U.S. application Ser. No. 17/893,118, filed on Aug. 22, 2022, now issued as U.S. Pat. No. 11,740,797 on Aug. 29, 2023, which is a Continuation of U.S. application Ser. No. 17/212,390, filed on Mar. 25, 2021, now issued as U.S. Pat. No. 11,422,705 on Aug. 23, 2022, which is a Continuation of U.S. application Ser. No. 16/723,589, filed on Dec. 20, 2019, now issued as U.S. Pat. No. 10,963,164 on Mar. 30, 2021, which is a Continuation of U.S. application Ser. No. 16/115,004, filed on Aug. 28, 2018, now issued as U.S. Pat. No. 10,678,441 on Jun. 9, 2020, which is a Continuation of U.S. application Ser. No. 15/157,213, filed on May 17, 2016, now issued as U.S. Pat. No. 10,152,237 on Dec. 11, 2018, which claims benefit of U.S. Provisional Application No. 62/332,370, filed on May 5, 2016, the contents of which are incorporated herein by reference.
Number | Name | Date | Kind |
---|---|---|---|
5140682 | Okura et al. | Aug 1992 | A |
5452311 | Wells et al. | Sep 1995 | A |
5561823 | Anderson | Oct 1996 | A |
5574944 | Stager | Nov 1996 | A |
5590345 | Barker et al. | Dec 1996 | A |
5774683 | Gulick | Jun 1998 | A |
5915265 | Crocker et al. | Jun 1999 | A |
5937423 | Robinson | Aug 1999 | A |
6370614 | Teoman et al. | Apr 2002 | B1 |
6370619 | Ho et al. | Apr 2002 | B1 |
7480754 | Priborsky et al. | Jan 2009 | B2 |
7711889 | Kudo et al. | May 2010 | B2 |
7870351 | Resnick | Jan 2011 | B2 |
7904644 | Pinvidic et al. | Mar 2011 | B1 |
7924521 | Hudiono et al. | Apr 2011 | B1 |
7983107 | Moshayedi et al. | Jul 2011 | B2 |
8719492 | Asnaashari | May 2014 | B1 |
8769192 | Yeh | Jul 2014 | B2 |
8874831 | Lee et al. | Oct 2014 | B2 |
9104583 | Ambroladze et al. | Aug 2015 | B2 |
9128634 | Kang et al. | Sep 2015 | B1 |
20010049770 | Cai et al. | Dec 2001 | A1 |
20020062459 | Lasserre et al. | May 2002 | A1 |
20020138692 | Gerhart | Sep 2002 | A1 |
20030033461 | Malik et al. | Feb 2003 | A1 |
20030110322 | Wolrich et al. | Jun 2003 | A1 |
20040148482 | Grundy et al. | Jul 2004 | A1 |
20040205296 | Bearden | Oct 2004 | A1 |
20040260908 | Malik et al. | Dec 2004 | A1 |
20050160320 | Elez | Jul 2005 | A1 |
20050273549 | Roohparvar | Dec 2005 | A1 |
20060015683 | Ashmore et al. | Jan 2006 | A1 |
20060242332 | Johnsen et al. | Oct 2006 | A1 |
20070002612 | Chang et al. | Jan 2007 | A1 |
20070233990 | Kuczynski et al. | Oct 2007 | A1 |
20080028131 | Kudo | Jan 2008 | A1 |
20080082750 | Okin | Apr 2008 | A1 |
20080082751 | Okin et al. | Apr 2008 | A1 |
20080082766 | Okin | Apr 2008 | A1 |
20080162735 | Voigt et al. | Jul 2008 | A1 |
20080162855 | Thomas | Jul 2008 | A1 |
20080189452 | Merry et al. | Aug 2008 | A1 |
20080195800 | Lee et al. | Aug 2008 | A1 |
20080270678 | Cornwell et al. | Oct 2008 | A1 |
20090006787 | De Souza et al. | Jan 2009 | A1 |
20090133032 | Biles et al. | May 2009 | A1 |
20090138665 | Suzuki | May 2009 | A1 |
20090164869 | Chuang | Jun 2009 | A1 |
20090210636 | Karamcheti | Aug 2009 | A1 |
20090276556 | Huang | Nov 2009 | A1 |
20100077175 | Wu et al. | Mar 2010 | A1 |
20100115142 | Lim | May 2010 | A1 |
20100250827 | Jullien et al. | Sep 2010 | A1 |
20100312950 | Hsieh | Dec 2010 | A1 |
20100318742 | Plondke et al. | Dec 2010 | A1 |
20110170346 | Nagai et al. | Jul 2011 | A1 |
20110268256 | Ootsuka | Nov 2011 | A1 |
20110320651 | Poublan et al. | Dec 2011 | A1 |
20120020161 | Haukness | Jan 2012 | A1 |
20120131253 | McKnight et al. | May 2012 | A1 |
20120159052 | Lee et al. | Jun 2012 | A1 |
20120278664 | Kazui et al. | Nov 2012 | A1 |
20130019057 | Stephens | Jan 2013 | A1 |
20130060981 | Horn et al. | Mar 2013 | A1 |
20130212319 | Hida et al. | Aug 2013 | A1 |
20130262745 | In et al. | Oct 2013 | A1 |
20130262761 | Oh | Oct 2013 | A1 |
20140032818 | Chang et al. | Jan 2014 | A1 |
20140047206 | Ochiai | Feb 2014 | A1 |
20140108714 | Lee et al. | Apr 2014 | A1 |
20140157053 | Mozak et al. | Jun 2014 | A1 |
20140229699 | Gurgi et al. | Aug 2014 | A1 |
20140237157 | Takefman et al. | Aug 2014 | A1 |
20140269088 | Pichen | Sep 2014 | A1 |
20140344512 | Nishioka | Nov 2014 | A1 |
20140351492 | Chen | Nov 2014 | A1 |
20150006794 | Kang et al. | Jan 2015 | A1 |
20150012687 | Huang et al. | Jan 2015 | A1 |
20150052318 | Walker | Feb 2015 | A1 |
20150067291 | Miyamoto et al. | Mar 2015 | A1 |
20150149735 | Nale et al. | May 2015 | A1 |
20150212738 | D'eliseo et al. | Jul 2015 | A1 |
20150234601 | Tsai et al. | Aug 2015 | A1 |
20150279463 | Berke | Oct 2015 | A1 |
20150331638 | Zaltsman et al. | Nov 2015 | A1 |
20150363106 | Lim et al. | Dec 2015 | A1 |
20150378886 | Nemazie et al. | Dec 2015 | A1 |
20160026577 | Goodwin | Jan 2016 | A1 |
20160041907 | Jung et al. | Feb 2016 | A1 |
20160070483 | Yoon et al. | Mar 2016 | A1 |
20160118121 | Kelly et al. | Apr 2016 | A1 |
20160232112 | Lee | Aug 2016 | A1 |
20160306566 | Lu et al. | Oct 2016 | A1 |
20160342487 | Ware et al. | Nov 2016 | A1 |
20160357462 | Nam | Dec 2016 | A1 |
20160357481 | Nam et al. | Dec 2016 | A1 |
20170024297 | Sogabe | Jan 2017 | A1 |
20170160929 | Ayandeh | Jun 2017 | A1 |
20170308306 | Intrater | Oct 2017 | A1 |
20170351433 | Walker et al. | Dec 2017 | A1 |
20180260329 | Galbraith et al. | Sep 2018 | A1 |
Number | Date | Country |
---|---|---|
2645263 | Oct 2013 | EP |
0561748 | Mar 1993 | JP |
201013400 | Apr 2010 | TW |
I363299 | May 2012 | TW |
201314437 | Apr 2013 | TW |
2010002753 | Jan 2010 | WO |
2013007870 | Jan 2013 | WO |
2015116468 | Aug 2015 | WO |
Entry |
---|
International Search Report and Written Opinion from international application No. PCT/US2018/014345, dated Jun. 22, 2018, 15 pp. |
International Search Report and Written Opinion from international application No. PCT/US2018/018106, dated May 28, 2018, 19 pp. |
International Search Report and Written Opinion from international application No. PCT/US2018/018124, dated Jun. 1, 2018, 14 pp. |
Decision of Rejection from related Taiwanese patent application No. 106114938, dated May 24, 2018, 6 pp. |
Office Action from Taiwanese patent application No. 106118556, dated May 11, 2018, 10 pp. |
Office Action from related Taiwanese patent application No. 106114938, dated Jan. 18, 2018, 7 pp. |
International Search Report and Written Opinion from international patent application No. PCT/US2017/034487, dated Oct. 25, 2017, 22 pp. |
International Search Report and Written Opinion from international application No. PCT/US2017/063581, dated Mar. 19, 2018, 13 pp. |
International Search Report and Written Opinion from related international application No. PCT/US2017/029780, dated Jul. 18, 2017, 11 pp. |
Office Action from Taiwanese patent application No. 107102386, dated Sep. 12, 2018, 15 pp. |
Office Action from Taiwanese patent application No. 106142145, dated Dec. 12, 2018, 16 pp. |
Office Action from Taiwanese patent application No. 107108758, dated Jan. 28, 2019, 21 pp. |
Search Report from related European patent application No. 17793026.0, dated Mar. 13, 2019, 7 pp. |
Office Action from related Chinese patent application No. 201780026941.4, dated Jul. 10, 2019, 12 pp. |
Office Action from related Taiwan patent application No. 107108757, dated Nov. 8, 2019, 13 pp. |
Office Action from related Taiwanese patent application No. 106114938, dated Nov. 28, 2019, 11 pages. |
Communication Pursuant to Article 94(3) EPC from related European patent application No. 17793026.0, dated Dec. 17, 2019, 4 pages. |
Second Office Action from related Chinese patent application No. 201780026941.4, dated Feb. 26, 2020, 15 pages. |
Office Action from related Taiwan patent application No. 106114938, dated Mar. 11, 2020, 12 pages. |
Search Report from related European patent application No. 20198808.6, dated Feb. 3, 2021, 7 pages. |
Number | Date | Country | |
---|---|---|---|
20240126439 A1 | Apr 2024 | US |
Number | Date | Country | |
---|---|---|---|
62332370 | May 2016 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 17893118 | Aug 2022 | US |
Child | 18238323 | US | |
Parent | 17212390 | Mar 2021 | US |
Child | 17893118 | US | |
Parent | 16723589 | Dec 2019 | US |
Child | 17212390 | US | |
Parent | 16115004 | Aug 2018 | US |
Child | 16723589 | US | |
Parent | 15157213 | May 2016 | US |
Child | 16115004 | US |