Thermometer encoding for driving non-binary signals
By combining the thermometer encoding principle with pull-up and pull-down drivers for activation, the problem of narrow voltage tolerance in non-binary signal driving is solved, thereby expanding the voltage tolerance of the signaling scheme and improving decoding accuracy.
Patent Information
- Application Number
- CN202280060096.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2021-07-21
- Filing Date
- 2022-07-14
- Publication Date
- 2025-11-14
- Estimated Expiration
- 2042-07-14
AI Technical Summary
Existing technologies, when driving non-binary signals, suffer from driver nonlinearity, resulting in narrow voltage tolerance in the signaling scheme and affecting the decoding capability of the receiving device.
By adopting the thermometer coding principle, the nonlinear characteristics of the pull-up and pull-down drivers are combined to linearly scale the voltage. By activating different numbers of driver elements, multi-voltage driving can be achieved, compensating for the nonlinearity of individual drivers and ensuring that the voltage tolerance of the signaling scheme is wide enough.
This achieves a linear extension of voltage tolerance in non-binary signal driving, improving the decoding accuracy of the receiving device and the reliability of signaling.
Smart Images

Figure CN117941264B_ABST
Abstract
Description
[0001] Cross-reference
[0002] This patent application is the national phase application of International Patent Application No. PCT / US2022 / 073719, filed July 14, 2022, entitled "Thermometer Coding for Driving Non-Binary Signs," filed by Dimitriu et al., claiming priority to U.S. Patent Application No. 17 / 382,185, filed July 21, 2021, entitled "Thermometer Coding for Driving Non-Binary Signs," each of which is assigned to its assignee, and the entire contents of each of which are expressly incorporated herein by reference. Technical Field
[0003] The technical field relates to thermometer encoding for driving non-binary signals. Background Technology
[0004] Memory devices are widely used to store information in various electronic devices, such as computers, user devices, wireless communication devices, cameras, digital displays, and the like. Information is stored by programming memory cells within the memory device into various states. For example, a binary memory cell can be programmed into one of two supported states, typically represented by logic 1 or logic 0. In some instances, a single memory cell can support more than two states, any of which can be stored. To access the stored information, a component can read or sense at least one stored state in the memory device. To access information, a component can write or program states into the memory device.
[0005] Various types of memory devices and memory cells exist, including magnetic hard disks, random access memory (RAM), read-only memory (ROM), dynamic RAM (DRAM), synchronous dynamic DRAM (SDRAM), static RAM (SRAM), ferroelectric RAM (FeRAM), magnetic RAM (MRAM), resistive RAM (RRAM), flash memory, phase-change memory (PCM), self-selecting memory, chalcogenide memory technology, and others. Memory cells can be volatile or non-volatile. Non-volatile memory (e.g., FeRAM) can maintain its stored logic state for extended periods even without an external power supply. Volatile memory devices (e.g., DRAM) may lose their stored state when disconnected from an external power supply. Summary of the Invention
[0006] Describe an apparatus. The apparatus may include: a memory array configured to store data; and a driver coupled to the memory array and signal lines, the driver including a first driver of a first type, a second driver of the first type, and a third driver of the first type, wherein the driver is configured to transmit signaling via the signal lines associated with three or more voltages and at least partially based on the data, and wherein the driver is further configured to: drive the signal lines to a first voltage of the three or more voltages at least partially based on activating the first driver of the first type; drive the signal lines to a second voltage of the three or more voltages at least partially based on simultaneously activating the second driver of the first type with the first driver of the first type; and drive the signal lines to a third voltage of the three or more voltages at least partially based on simultaneously activating the third driver of the first type with the first driver of the first type and the second driver of the first type.
[0007] Describe a method. The method may include: identifying a first logic value indicated via a signal line based at least in part on first data stored in a memory array; driving the signal line to a first voltage representing the first logic value based at least in part on the identified first logic value, wherein driving the signal line to the first voltage includes activating a first driver of a first type; identifying a second logic value indicated via the signal line based at least in part on second data stored in the memory array; driving the signal line to a second voltage representing the second logic value based at least in part on the identified second logic value, wherein driving the signal line to the second voltage includes activating a first driver of the first type and a second driver of the first type; identifying a third logic value indicated via the signal line based at least in part on third data stored in the memory array; and driving the signal line to a third voltage representing the third logic value based at least in part on the identified third logic value, wherein driving the signal line to the third voltage includes activating a first driver of the first type, a second driver of the first type, and a third driver of the first type.
[0008] A method is described. The method may include: operating a first driver of a first type at a first voltage to determine a first strength code for driving a signal line using the first driver of the first type; operating a second driver of the first type at a second voltage, while simultaneously coupling in parallel with the first driver of the first type, to determine a second strength code for driving the signal line using the second driver of the first type; and operating a third driver of the first type at a third voltage, while simultaneously coupling in parallel with both the first driver of the first type and the second driver of the first type, to determine a third strength code for driving the signal line using the third driver of the first type. Attached Figure Description
[0009] Figure 1 This document describes an example of a system that supports thermometer encoding for driving non-binary signals, based on examples disclosed herein.
[0010] Figure 2 This document describes an example of a circuit that supports the use of thermometer encoding to drive non-binary signals, based on examples disclosed herein.
[0011] Figure 3 This section describes an example of a graph that supports the encoding of a thermometer to drive a non-binary signal, based on examples disclosed herein.
[0012] Figure 4 This document describes an example of a circuit that supports the use of thermometer encoding to drive non-binary signals, based on examples disclosed herein.
[0013] Figure 5 This document describes an example of a flowchart for supporting thermometer encoding of non-binary signals, based on examples disclosed herein.
[0014] Figure 6 A block diagram is shown illustrating a memory device that supports thermometer encoding for driving non-binary signals, based on examples disclosed herein.
[0015] Figure 7 and 8 The flowchart illustrates a method or several methods for supporting thermometer encoding to drive non-binary signals, based on examples disclosed herein. Detailed Implementation
[0016] Memory devices can be used to store data from a host device in an electronic system. In some instances, the memory device can exchange (e.g., transmit or receive) signaling with the host device (e.g., signaling representing data to be written to or read from the memory device). To generate signaling, the memory device may include drivers to drive signal lines to different voltages (e.g., target voltages), where the voltages on the signal lines may represent one or more information bits. For example, four target voltages may be used, each representing two information bits (e.g., a first voltage on the signal lines may represent two bits corresponding to logic value 00, a second voltage on the signal lines may represent two bits corresponding to logic value 01, a third voltage on the signal lines may represent two bits corresponding to logic value 10, and a fourth voltage on the signal lines may represent two bits corresponding to logic value 11). The receiver can identify the voltage on the signal line (e.g., it can identify that the voltage of the signal line is within a voltage range), and thus identify one or more information bits represented by the voltage (e.g., if the voltage of the signal line is within a first voltage range including the first voltage, then two bits corresponding to the logic value 00 can be identified; if the voltage of the signal line is within a second voltage range including the second voltage, then two bits corresponding to the logic value 01 can be identified, and so on).
[0017] A driver for a signal line may include one or more pull-down drivers and one or more pull-up drivers. (As used herein, a driver may refer to a set of pull-up drivers, a set of pull-down drivers, or any combination thereof that can be used to drive a signal line to a variety of voltages.) To drive a signal line to a target voltage, one or more pull-up drivers, one or more pull-down drivers, or any combination thereof within the driver may be activated, while one or more other pull-down drivers or pull-up drivers may be deactivated.
[0018] In some instances, a driver (e.g., a pull-up or pull-down driver) may be calibrated at a first voltage, but may also be used (e.g., in combination with one or more other pull-up or pull-down drivers) to drive a signal line to one or more other voltages. In such instances, when the driver is also used to drive a signal line to one of the other voltages, the driver may have an impedance different from its calibration impedance at the first voltage. As used herein, when the driver is activated (e.g., for driving a signal line), the driver's impedance may be referenced to the driver's output impedance. For example, a pull-up driver calibrated at a first voltage may have a first impedance when used to drive a signal line to the first voltage, but the same pull-up driver may have a second impedance when used to drive a signal line to a second voltage. This behavior may relate to the nonlinearity of the driver (e.g., the driver's output impedance may vary nonlinearly depending on the driver's output voltage). In some instances, when operating at different voltages, the impedance variation of the driver may cause the tolerance between different voltages associated with a signaling scheme to change from one voltage to another, which may alternatively be referred to as a modulation scheme (e.g., a pulse amplitude modulation (PAM) scheme). For example, in a signaling scheme using four voltages, the difference between the first and second voltages may differ from the difference between the second and third voltages, and the difference between the second and third voltages may differ from the difference between the third and fourth voltages. Such variations can affect the receiver's ability to correctly decode the signaling generated by the drivers. For example, due to the nonlinearity of one or more drivers, the tolerances (e.g., windows, differences) between some adjacent voltages in the modulation scheme may be undesirably narrow.
[0019] As described herein, the driver can operate based on thermometer coding principles. For example, a signal line driver may include a set of pull-up drivers and a set of pull-down drivers. To drive the signal line to different consecutive voltages (e.g., v0, v1, v2, v3, which may be different target voltages in ascending order), additional pull-up drivers in the group can be activated at each of the different consecutive voltages. Correspondingly, additional pull-down drivers in the group can be deactivated at each of the different consecutive voltages. For example, zero pull-up drivers and three pull-down drivers can be used to drive the signal to v0; one pull-up driver and two pull-down drivers can be used to drive the signal line to v1; two pull-up drivers and one pull-down driver can be used to drive the signal line to v2; and three pull-up drivers and zero pull-down drivers can be used to drive the signal line to v3. As more pull-up drivers are used (e.g., activated), the total drive strength of the driver (in the pull-up direction) can increase, and therefore the total output impedance of the driver (in the pull-up direction) can decrease. Accordingly, with the use of more pull-up drivers, fewer pull-down drivers can be used, and the total drive strength of the drivers in the pull-down direction can be reduced, and therefore the total output impedance of the drivers in the pull-down direction can be increased. Different target voltages can be scaled linearly (e.g., 0V, 0.167V, 0.333V, 0.5V). However, individual drivers (e.g., pull-up drivers, pull-down drivers, or both) can have different corresponding strengths (and therefore different output impedances), such that the total drive strength of the drivers (e.g., in the pull-up direction, pull-down direction, or both) can be scaled non-linearly, which can offset (e.g., compensate) the non-linearity of individual drivers when additional drivers are activated or deactivated.
[0020] For example, if a first pull-up driver is used to drive a signal line to v1 without any other first pull-up drivers, then the first pull-up driver can be calibrated to have a desired first drive strength at v1. When the first pull-up driver is used at v2 (e.g., in combination with a second pull-up driver), the nonlinearity of the first pull-up driver can cause the first pull-up driver to have a higher second drive strength at v2 (e.g., a lower output impedance at v2 than at v1). Therefore, the second pull-up driver can be calibrated to have a third drive strength at v2, where the third drive strength can compensate for (e.g., offset) the way the drive strength variation between v1 and v2 exhibited by the first pull-up driver differs from the first drive strength. Thus, the individual drive strength can change nonlinearly from one pull-up driver to the next, which compensates for (e.g., offsets) the nonlinear change in the drive strength of the individual pull-up driver from one voltage to the next.
[0021] While certain examples may be explained in the context of applying thermometer encoding or other techniques to pull-up drivers, it should be understood that the teachings herein may also be applied to pull-down drivers, either additionally or alternatively. Furthermore, while certain examples may be explained in the context of drivers contained in memory devices, it should be understood that the teachings herein may also be applied to drivers contained in any type of electronic device, either additionally or alternatively.
[0022] First, as referenced Figure 1 The features of this disclosure are described in the context of the system and the bare die. (See references...) Figures 2 to 5 Features of this disclosure are described in the context of the circuits and diagrams described herein. These and other features of this disclosure are illustrated in reference to, for example, [reference needed]. Figures 6 to 8 The device diagrams and flowcharts described herein, which relate to thermometer encoding for driving non-binary signals, are further illustrated and referenced in the device diagrams and flowcharts.
[0023] Figure 1 This describes an example of a system 100 that supports thermometer encoding for driving non-binary signals, based on examples disclosed herein. System 100 may include a host device 105, a memory device 110, and multiple channels 115 coupling the host device 105 to the memory device 110. System 100 may include one or more memory devices 110, but aspects of one or more memory devices 110 may be described in the context of a single memory device (e.g., memory device 110).
[0024] System 100 may include portions of an electronic device, such as a computing device, mobile computing device, wireless device, graphics processing device, vehicle, or other system. For example, system 100 may describe aspects of a computer, laptop computer, tablet computer, smartphone, cellular phone, wearable device, internet-connected device, vehicle controller, or the like. Memory device 110 may be a component of the system, operable to store data for use with one or more other components of system 100.
[0025] At least a portion of system 100 may be an instance of host device 105. Host device 105 may be an instance of a processor or other circuitry within a device that uses memory to perform processes (e.g., a computing device, mobile computing device, wireless device, graphics processing device, computer, laptop computer, tablet computer, smartphone, cellular phone, wearable device, internet-connected device, vehicle controller, system-on-a-chip (SoC), or some other fixed or portable electronic device, and other instances). In some instances, host device 105 may refer to the hardware, firmware, software, or a combination thereof that implements the functionality of external memory controller 120. In some instances, external memory controller 120 may be referred to as a host or host device 105.
[0026] Memory device 110 may be a separate device or component operable to provide physical memory address / space that can be used or referenced by system 100. In some instances, memory device 110 may be configurable to work with one or more different types of host devices. Signaling between host device 105 and memory device 110 may be operable to support one or more of the following: modulation schemes used to modulate signals; various pin configurations used to transmit signals; various physical package dimensions for host device 105 and memory device 110; clock signaling and synchronization between host device 105 and memory device 110; timing conventions; or other factors.
[0027] Memory device 110 may be operable to store data of components of host device 105. In some instances, memory device 110 may act as an auxiliary or subordinate device to host device 105 (e.g., responding to and executing commands provided by host device 105 via external memory controller 120). Such commands may include one or more of write commands for write operations, read commands for read operations, refresh commands for refresh operations, or other commands.
[0028] Memory device 110 may include a device memory controller 155 and one or more memory dies 160 (e.g., memory chips) to support a desired or specified capacity for data storage. Each memory die 160 (e.g., memory die 160-a, memory die 160-b, memory die 160-N) may include a local memory controller 165 (e.g., local memory controller 165-a, local memory controller 165-b, local memory controller 165-N) and a memory array 170 (e.g., memory array 170-a, memory array 170-b, memory array 170-N). Memory array 170 may be a collection of memory cells (e.g., one or more grids, one or more memory banks, one or more dies, one or more segments), wherein each memory cell is operable to store at least one data bit. Memory device 110 including two or more memory dies 160 may be referred to as a multi-die memory or multi-die package or multi-chip memory or multi-chip package.
[0029] The device memory controller 155 may include circuitry, logic, or components operable to control the operation of the memory device 110. The device memory controller 155 may include hardware, firmware, or instructions enabling the memory device 110 to perform various operations, and may be operable to receive, transmit, or execute commands, data, or control information related to components of the memory device 110. The device memory controller 155 may be operable to communicate with one or more of an external memory controller 120, one or more memory dies 160, or a processor 125. In some instances, the device memory controller 155 may be used in conjunction with a local memory controller 165 of the memory die 160 to control the operation of the memory device 110 described herein.
[0030] Local memory controller 165 (e.g., local to memory die 160) may include circuitry, logic, or components operable to control the operation of memory die 160. In some instances, local memory controller 165 may be operable to communicate with device memory controller 155 (e.g., to receive or transmit data or commands, or both). In some instances, memory device 110 may not include device memory controller 155, and local memory controller 165 or external memory controller 120 may perform the various functions described herein. Thus, local memory controller 165 may be operable to communicate with device memory controller 155, communicate with other local memory controllers 165, or communicate directly with external memory controller 120 or processor 125, or combinations thereof. Examples of components that may be included in device memory controller 155 or local memory controller 165 or both may include a receiver for receiving signals (e.g., from external memory controller 120), a transmitter for transmitting signals (e.g., to external memory controller 120), a decoder for decoding or demodulating received signals, an encoder for encoding or modulating signals to be transmitted, or various other circuitry or controllers operable to support the described operation of device memory controller 155 or local memory controller 165 or both.
[0031] External memory controller 120 may be operable to enable communication of one or more of the information, data, or commands between a component of system 100 or host device 105 (e.g., processor 125) and memory device 110. External memory controller 120 may translate or interpret the communication exchanged between components of host device 105 and memory device 110. In some instances, external memory controller 120 or other components of system 100 or host device 105, or the functionality described herein, may be implemented by processor 125. For example, external memory controller 120 may be hardware, firmware, or software, or a combination thereof, implemented by processor 125 or other components of system 100 or host device 105. Although external memory controller 120 is depicted as external to memory device 110, in some instances, external memory controller 120 or the functionality described herein may be implemented by one or more components of memory device 110 (e.g., device memory controller 155, local memory controller 165), or vice versa.
[0032] Components of host device 105 may exchange information with memory device 110 using one or more channels 115. Channel 115 may be operable to support communication between external memory controller 120 and memory device 110. Each channel 115 may be an example of a transmission medium carrying information between host device 105 and memory device. Each channel 115 may include one or more signal paths or transmission media (e.g., conductors) between terminals associated with components of system 100. Signal paths may be examples of conductive paths operable to carry signals. For example, channel 115 may include a first terminal comprising one or more pins or pads at host device 105 and one or more pins or pads at memory device 110. Pins may be examples of conductive input or output points of devices of system 100, and pins may be operable to serve as part of a channel. Signal paths may be examples of signal lines as described herein.
[0033] Some channels 115 (and associated signal paths and terminals) may be dedicated to conveying one or more types of information. For example, channel 115 may include one or more command and address (CA) channels 186, one or more clock signal (CK) channels 188, one or more data (DQ) channels 190, one or more other channels 192, or combinations thereof. In some instances, single data rate (SDR) signaling or double data rate (DDR) signaling may be used to convey signaling through channel 115. In SDR signaling, one modulation symbol (e.g., signal level) of the signal may be registered for each clock cycle (e.g., on the rising or falling edge of the clock signal). In DDR signaling, two modulation symbols (e.g., signal levels) of the signal may be registered for each clock cycle (e.g., on both the rising and falling edges of the clock signal).
[0034] Signals transmitted through channel 115 may be modulated using one or more different modulation schemes. In some instances, a binary symbol (or binary level) modulation scheme may be used to modulate signals transmitted between host device 105 and memory device 110. The binary symbol modulation scheme may be an example of an M-ary modulation scheme, where M equals 2. Each symbol of the binary symbol modulation scheme is operable to represent a digital data bit (e.g., a symbol may represent logic 1 or logic 0). Examples of binary symbol modulation schemes include (but are not limited to) non-return-to-zero (NRZ), single-pole coding, bipolar coding, Manchester coding, pulse amplitude modulation (PAM) with two symbols (e.g., PAM2), and / or others.
[0035] In some instances, non-binary (or multi-level) modulation schemes may be used to modulate signals transmitted between host device 105 and memory device 110. The non-binary modulation scheme may be an example of an M-ary modulation scheme, where M is greater than or equal to 3. Each symbol of the non-binary modulation scheme is operable to represent more than one digital data bit (e.g., the symbol may represent logic 00, logic 01, logic 10, or logic 11). Examples of non-binary modulation schemes include (but are not limited to) PAM3, PAM4, PAM5, etc., Quadrature Amplitude Modulation (QAM), Quadrature Phase Shift Keying (QPSK), and / or others. A non-binary signal (e.g., a PAM3 signal or a PAM4 signal) may be a signal modulated using a modulation scheme containing at least three levels to encode more than one information bit. Non-binary modulation schemes and symbols may alternatively be referred to as non-binary, multi-bit, multi-level, multi-symbol, or higher-order modulation schemes and symbols. The voltage of a signal line may be an example of a non-binary symbol, where three or more target (e.g., candidate) voltage levels are associated with the modulation scheme. For example, when using four target voltage levels, the voltage of the signal line can be an instance of the PAM4 symbol.
[0036] Memory device 110 (or host device 105) may include any number of drivers, each configured to drive a corresponding signal line (e.g., as included in channel 115). For example, memory die 160 may include such drivers. In some cases, drivers may be configured to drive corresponding signal lines to three or more voltages according to a non-binary modulation scheme (e.g., representing data read from or written to memory array 170). For example, a driver may include a set of pull-up drivers. In some instances, the set of pull-up drivers may include a first pull-up driver, a second pull-up driver, and a third pull-up driver. In some instances, the first pull-up driver may be calibrated at a first voltage among the three or more voltages, and the driver may activate the first pull-up driver to drive the signal line to the first voltage. In some instances, the second pull-up driver may be calibrated at a second voltage among the three or more voltages, and the driver may simultaneously activate both the first and second pull-up drivers to drive the signal line to the second voltage. In some cases, the third pull-up driver can be calibrated at a third voltage among three or more voltages, and the driver can simultaneously activate the first, second, and third pull-up drivers to drive the signal line to the third voltage. In such instances, the pull-up drivers can have different corresponding strengths (e.g., output impedances) that differ from each other in a non-linear manner (e.g., the corresponding strength can increase at a non-linear rate from one pull-up driver to the next). For example, the difference between the first strength of the first pull-up driver and the second strength of the second pull-up driver may be different from the difference between the second and third strengths of the third pull-up driver.
[0037] Figure 2 This document describes example circuits and voltage diagrams for supporting thermometer encoding of non-binary signals, based on examples disclosed herein. For example, Figure 2 Includes circuit diagrams 201, 202, 203, 204, and 205, and voltage diagram 206. Circuit diagrams 201, 202, 203, and 204 each illustrate the same driver 250, which can be configured to drive signal line 210 to a set of different target voltages, and an example target voltage is illustrated in voltage diagram 206. Driver 250 may be included, for example, in reference... Figure 1 The memory device 110 described herein (e.g., may be included in memory die 160). Signal lines 210 may be included, for example, in reference to... Figure 1 The described channel 115 or an instance of channel 115. Circuit diagram 205 indicates components that may be included in pull-up driver 215 or pull-down driver 225 within driver 250.
[0038] Signal line 210 may be associated with termination impedance 240. Driver 250 may be configured to impedance match termination impedance 240. Termination impedance 240 may be located at the end of the signal line opposite to driver 250 (e.g., termination impedance 240 may be included in a receiving device, or may be coupled to signal line 210 at a location along signal line 210 between driver 250 and the receiving device). In some instances, termination impedance 240 may represent the effective impedance of signal line 210 as viewed from the perspective of driver 250.
[0039] Voltage diagram 206 illustrates a first voltage 230-a (which may be referred to as V0), a second voltage 230-b (which may be referred to as V1), a third voltage 230-c (which may be referred to as V2), and a fourth voltage 230-d (which may be referred to as V3). V0, V1, V2, and V3 may be examples of target voltages according to a signaling scheme, such as the target voltage according to the PAM4 signaling scheme. In some instances, V0 may be equal to the lower voltage source or reference voltage, which may be referred to as VSS. Voltage diagram 206 also illustrates voltage VDDQ 230-e, which may be the upper voltage source or reference voltage. When VSS and V0 are 0V, for example, V3 may be equal to half (three-sixths) of VDDQ, V2 may be equal to one-third (two-sixths) of VDDQ, and V1 may be equal to one-sixth of VDDQ. Therefore, the voltage tolerance 235-a between V0 and V1 can be equal to one-sixth of VDDQ, the voltage tolerance 235-b between V1 and V2 can also be equal to one-sixth of VDDQ, and the voltage tolerance 235-c between V2 and V3 can also be equal to one-sixth of VDDQ.
[0040] It should be understood that any specific numerical examples described herein are provided for clarification only and do not limit the claims. Similarly, it should be understood that any particular quantities described herein (e.g., the quantity of pull-up driver 215, the quantity of pull-down driver 225) are provided for clarification only and do not limit the claims.
[0041] Driver 250 may include a set of pull-up drivers 215 and a set of pull-down drivers 225. Circuit diagram 201 illustrates the operation of driver 250 when it drives signal line 210 to V0, circuit diagram 202 illustrates the operation of driver 250 when it drives signal line 210 to V1, circuit diagram 203 illustrates the operation of driver 250 when it drives signal line 210 to V2, and circuit diagram 204 illustrates the operation of driver 250 when it drives signal line 210 to V3. Driver 250 can drive signal lines to different voltages (e.g., the voltages in voltage diagram 206) to represent data stored in a memory device (e.g., within a memory array of the memory device).
[0042] Each pull-down driver 225 can be coupled to signal line 210 and a lower voltage source or reference (VSS), the voltage of which can be equal to V0. When active, each pull-down driver 225 can be configured to couple signal line 210 to VSS with a certain amount of impedance. Conversely, each pull-up driver 215 can be coupled to an upper voltage source or reference VDDQ. And when active, each pull-up driver 215 can be configured to couple signal line 210 to VDDQ with a certain amount of impedance. For example, the upper terminal of each pull-up driver 215 (as described) can be coupled to VDDQ, and the lower terminal of each pull-down driver 225 (as described) can be coupled to VSS. Figure 2 In the example described herein, termination impedance 240 is coupled to VSS; however, it should be understood that in other examples, termination impedance 240 may be coupled to VDDQ.
[0043] When driver 250 operates as shown in circuit diagram 201 (where both pull-down drivers 225 are activated and all pull-up drivers 215 are deactivated), driver 250 can drive signal line 210 to V0 because the impedance between signal line 210 and VDDQ can be very large (e.g., practically infinite), while the impedance between signal line 210 and VSS can be relatively small. The two pull-down drivers 225 can be configured such that when activated in parallel as shown in circuit diagram 201, the combined impedance of the two pull-down drivers 225 is equal to the impedance of termination impedance 240.
[0044] When driver 250 operates as shown in circuit diagram 202 (where the first pull-down driver 225-a is activated, the first pull-up driver 215-a is activated, and all other pull-down drivers 225 and pull-up drivers 215 are deactivated), driver 250 can drive signal line 210 to V1 because the impedance between signal line 210 and VDDQ can be four times greater than the impedance between signal line 210 and VSS, thus creating a voltage divider with a ratio of one-sixth. Furthermore, the first pull-down driver 225-a and the first pull-up driver 215-a can be configured such that when activated as shown in circuit diagram 202, the combined impedance of the first pull-down driver 225-a and the first pull-up driver 215-a (considered to be in parallel) is equal to the impedance of termination impedance 240.
[0045] When driver 250 operates as shown in circuit diagram 203 (where the second pull-down driver 225-b is activated, the first pull-up driver 215-a and the second pull-up driver 215-b are activated, and all other pull-down drivers 225 and pull-up drivers 215 are deactivated), driver 250 can drive signal line 210 to V2 because the impedance between signal line 210 and VDDQ can be twice as large as the impedance between signal line 210 and VSS, thus creating a voltage divider with a one-third ratio. Furthermore, the second pull-down driver 225-b, the first pull-up driver 215-a, and the second pull-up driver 215-b can be configured such that when activated as shown in circuit diagram 203, the combined impedance of the second pull-down driver 225-b, the first pull-up driver 215-a, and the second pull-up driver 215-b (considered to be in parallel) is equal to the impedance of termination impedance 240.
[0046] When driver 250 operates as shown in circuit diagram 204 (where both pull-down drivers 225 are deactivated and all pull-up drivers 215 are activated), driver 250 can drive signal line 210 to V3 because the impedance between signal line 210 and VDDQ is equal to the impedance between signal line 210 and VSS, thus creating a voltage divider with a 50 / 50 ratio. Furthermore, the first pull-up driver 215-a, the second pull-up driver 215-b, and the third pull-up driver 215-c can be configured such that when activated in parallel as shown in circuit diagram 204, the combined impedance of the first pull-up driver 215-a, the second pull-up driver 215-b, and the third pull-up driver 215-c is equal to the impedance of termination impedance 240.
[0047] Each pull-up driver 215 and pull-down driver 225 may include a corresponding number of driver elements 260, which may alternatively be referred to as driver legs. The circuit diagram 205, illustrated as a second pull-down driver 225-b, may represent driver elements 260 that may be included in any of the pull-up drivers 215 or pull-down drivers 225. Each driver element 260 may include one or more transistors, one or more resistive components, or any combination thereof. Figure 2 The resistors shown in each pull-up driver 215, pull-down driver 225, and driver element 260 may be represented by a notation of the impedance (e.g., output impedance) of the pull-up driver 215, pull-down driver 225, or driver element 260, and each pull-up driver 215, pull-down driver 225, or driver element 260 may include one or more additional or alternative elements. Each driver element 260 may be operable to, when driver element 260 is activated (e.g., when the pull-up driver 215 or pull-down driver 225 including driver element 260 is activated), connect the first terminal of driver element 260 (e.g., as shown in the image). Figure 2The upper terminal described herein) and the second terminal of the driver element 260 (e.g., as shown in the diagram) Figure 2 The lower terminal described herein is coupled, and when the driver element 260 is deactivated (e.g., when the pull-up driver 215 or pull-down driver 225 containing the driver element 260 is deactivated), the first terminal of the driver element 260 is decoupled from the second terminal of the driver element 260.
[0048] Pull-up driver 215 or pull-down driver 225 may contain any number of driver elements 260, which may be coupled in parallel with each other. The more driver elements 260 contained in pull-up driver 215 or pull-down driver 225, the greater the strength that pull-up driver 215 or pull-down driver 225 can have when activated (e.g., a lower output impedance). The strength of each individual driver element 260 may be non-linear with respect to voltage (e.g., the output impedance of driver element 260 may vary non-linearly with respect to the voltage difference between the first and second terminals of driver element 260). Due to the non-linear behavior of each constituent driver element 260, the strength of each pull-up driver 215 or pull-down driver 225 may also be non-linear with respect to voltage (e.g., the total impedance of pull-up driver 215 or pull-down driver 225 may vary non-linearly with respect to the output voltage of pull-up driver 215 or pull-down driver 225, which may be based on or otherwise correspond to the voltage difference between the first and second terminals of constituent driver element 260).
[0049] Furthermore, in some cases, the number of driver elements 260 activated when the corresponding pull-up driver 215 or pull-down driver 225 is activated can be controlled by a code, which may be referred to as the strength code of the pull-up driver 215 or pull-down driver 225. That is, when the pull-up driver 215 or pull-down driver 225 is activated, a configurable number of driver elements 260 within the pull-up driver 215 or pull-down driver 225 can be activated (e.g., in some cases, only a subset of the driver elements 260 within the pull-up driver 215 or pull-down driver 225 can be activated). For example, when the pull-up driver 215 or pull-down driver 225 is activated using a first strength code, a first number of driver elements 260 can be activated, and when the pull-up driver 215 or pull-down driver 225 is activated using a second strength code, a second number of driver elements 260 can be activated.
[0050] exist Figure 2 In the example illustrated, pull-down driver 225 can be configured to operate according to a binary encoding scheme. For example, in Figure 2In this example, there are two pull-down drivers 225, with the first pull-down driver 225-a corresponding to the most significant bit (MSB) of the binary code and the second pull-down driver 225-b corresponding to the least significant bit of the binary code. The binary encoding scheme can be alternatively referred to as the MSB / LSB encoding scheme. The binary code can correspond to the logic value of the bit represented by the target voltage to which the signal line 210 is driven by the driver 250. For example, V0 can represent two bits corresponding to the logic value (and therefore the binary code) 00, V1 can represent two bits corresponding to the logic value (and therefore the binary code) 01, V2 can represent two bits corresponding to the logic value (and therefore the binary code) 10, and V3 can represent two bits corresponding to the logic value (and therefore the binary code) 11. The first pull-down driver 225-a can be activated or deactivated based on the logic value of the MSB (e.g., as shown in the example). Figure 2 The valid low-level mode shown in the example means that it is active when MSB is 0 and deactivated when MSB is 1. The second pull-down driver 225-b can be activated or deactivated based on the logic value of the LSB (e.g., as shown in the example). Figure 2 The valid low-level mode shown in the example means that it is active when the LSB is 0 and deactivated when the LSB is 1.
[0051] In some instances, the first pull-down driver 225-a may be configured to nominally have twice the drive strength of the second pull-down driver 225-b when activated, and therefore half the impedance of the second pull-down driver 225-b. The first pull-down driver 225-a may be limited to having twice the nominal drive strength of the second pull-down driver 225-b because, for example, in a binary numbering system, the MSB weight may be twice the LSB weight. Therefore, the first pull-down driver 225-a may contain twice the number of driver elements 260 as the second pull-down driver 225-b (e.g., activating the first pull-down driver 225-a may involve activating twice the number of driver elements 260 as activating the second pull-down driver 225-b).
[0052] For a set of drivers operating according to a binary encoding scheme (e.g., a set of pull-up drivers 215 or a set of pull-down drivers 225), for example Figure 2In one example, a set of pull-down drivers 225, the total number of activated driver elements 260 can vary linearly (e.g., scaled) across different target voltages of the modulation scheme. For example, when driver 250 drives signal line 210 to V3 as shown in circuit diagram 204, both the first pull-down driver 225-a and the second pull-down driver 225-b can be deactivated, and therefore the total number of activated pull-down driver elements 260 included in driver 250 can be zero. When driver 250 drives signal line 210 to V2 as shown in circuit diagram 203, the first pull-down driver 225-a can be deactivated, and the second pull-down driver 225-b can be activated, and therefore the total number of activated pull-down driver elements 260 included in driver 250 can be X (where X represents the number of pull-down driver elements 260 included in the second pull-down driver 225-b, for example, configured to be activated when the second pull-down driver 225-b is activated). When driver 250 drives signal line 210 to V1 as shown in circuit diagram 202, the first pull-down driver 225-a can be activated, and the second pull-down driver 225-b can be deactivated. Therefore, the total number of activated pull-down driver elements 260 included in driver 250 can be 2X (where 2X represents the number of pull-down driver elements 260 included in the first pull-down driver 225-a, for example, configured to activate when the first pull-down driver 225-a is activated). And when driver 250 drives signal line 210 to V0 as shown in circuit diagram 201, both the first pull-down driver 225-a and the second pull-down driver 225-b can be activated. Therefore, the total number of activated pull-down driver elements 260 included in driver 250 can be 3X. Therefore, for a set of drivers operating according to a binary encoding scheme, the total number of activated pull-down driver elements 260 can vary linearly (e.g., scaled) across different target voltages of the modulation scheme, for example, in a linear sequence of 0, X, 2X, 3X.
[0053] The pull-up driver 215 can be configured to operate according to a thermometer encoding scheme, which can alternatively be referred to as a unary encoding scheme. For example, in Figure 2In this example, there are three pull-up drivers 215, and the three pull-up drivers 215 can operate based on thermometer codes representing the logic values of bits corresponding to the target voltage to which the signal line 210 is driven by driver 250. For example, V0 can represent two bits corresponding to the logic value (and therefore binary code) 00, which can correspond to thermometer code 000, that is, thermometer code 000 can correspond to binary code 00, since both can correspond to the decimal value zero. V1 can represent two bits corresponding to the logic value (and therefore binary code) 01, which can correspond to thermometer code 001. That is, thermometer code 001 can correspond to binary code 01, since both can correspond to the decimal value 1. V2 can represent two bits corresponding to the logic value (and therefore binary code) 10, which can correspond to thermometer code 011, that is, thermometer code 011 can correspond to binary code 10, since both can correspond to the decimal value 2. Furthermore, V3 can represent two bits corresponding to the logical value (and therefore the binary code) 11, which can correspond to the thermometer code 111. That is, the thermometer code 111 can correspond to the binary code 11, since both can correspond to the decimal value 3.
[0054] For a set of drivers operating according to a thermometer coding scheme (e.g., a set of pull-up drivers 215 or a set of pull-down drivers 225), each bit of the thermometer code controls whether the corresponding driver is activated or deactivated. For example, using a... Figure 2 In the example of a three-bit thermometer code: the first pull-up driver 215-a can be activated or deactivated based on the logic value of the last bit of the thermometer code, and thus activated when the thermometer code is 001, 011, or 111 (e.g., as shown in...). Figure 2 The valid high-level manner shown in the example means that activation occurs when the last bit is 1 and deactivation occurs when the last bit is 0. The second pull-up driver 215-b can be activated or deactivated based on the logic value of the middle bit of the thermometer code, and therefore activated when the thermometer code is 011 or 111 (e.g., as shown in the example). Figure 2 The valid high-level mode shown in the example means that it is activated when the middle bit is 1 and deactivated when the middle bit is 0. The third pull-up driver 215-c can be activated or deactivated based on the logic value of the first bit of the thermometer code, and therefore activated when the thermometer code is 111 (e.g., as shown in the example). Figure 2 The valid high-level mode shown in the example means that it is activated when the first bit is 1 and deactivated when the first bit is 0.
[0055] Therefore, the number of drivers activated within the set of drivers can be equal to the number of bits with a specific logic value in the thermometer code (e.g., equal to the number of 1s in the thermometer code). For example, a thermometer code containing a single 1 can activate a single driver (e.g., the first pull-up driver 215-a). A thermometer code containing two 1s can activate two drivers (e.g., the first pull-up driver 215-a and the second pull-up driver 215-b). And a thermometer code containing three 1s can activate three drivers (e.g., the first pull-up driver 215-a, the second pull-up driver 215-b, and the third pull-up driver 215-c).
[0056] For a set of drivers operating according to a thermometer coding scheme (e.g., a set of pull-up drivers 215 or a set of pull-down drivers 225), for example Figure 2In the example of the set of pull-up drivers 215, the total number of activated driver elements 260 can be configured to vary non-linearly (e.g., scale) across different target voltages of the modulation scheme. For example, when driver 250 drives signal line 210 to V0 as shown in circuit diagram 201, each pull-up driver 215 can be deactivated, and therefore the total number of activated pull-up driver elements 260 included in driver 250 can be zero. When driver 250 drives signal line 210 to V1 as shown in circuit diagram 202, the first pull-up driver 215-a can be activated, and each other pull-up driver 215 can be deactivated, and therefore the total number of activated pull-up driver elements 260 included in driver 250 can be X (where X represents the number of pull-up driver elements 260 included in the first pull-up driver 215-a, for example, configured to be activated when the first pull-up driver 215-a is activated). When driver 250 drives signal line 210 to V2 as shown in circuit diagram 203, the first pull-up driver 215-a and the second pull-up driver 215-b can be activated, while the third pull-up driver 215-c can be deactivated, and thus the total number of activated pull-up driver elements 260 included in driver 250 can be Y, where Y is any amount greater than X, and therefore not necessarily 2X (for example, if the second pull-up driver 215-b contains 0.8X pull-up driver elements 260, then the total number of activated pull-up driver elements 260 can be 1.8X). Furthermore, when driver 250 drives signal line 210 to V3 as shown in circuit diagram 204, all three pull-up drivers 215 can be activated, and therefore the total number of activated pull-down driver elements 260 included in driver 250 can be Z, where Z is any quantity greater than Y, and therefore not necessarily Y+X (e.g., if the second pull-up driver 215-b contains 0.5X pull-up driver elements 260, then the total number of activated pull-up driver elements 260 can be 2.3X). Therefore, for a set of drivers operating according to a thermometer encoding scheme, the total number of activated pull-down driver elements 260 can vary non-linearly (e.g., scaled) across different target voltages of the modulation scheme, for example, in a non-linear sequence of 0, X, 1.8X, 2.3X.
[0057] Therefore, operating a set of drivers according to a thermometer encoding scheme can support nonlinear scaling (e.g., variation) in the number of active driver elements 260 across different target voltages of the modulation scheme. This can be beneficial, for example, because this nonlinear scaling of the number of active driver elements 260 can be configured to counteract (e.g., mitigate, offset, compensate) the nonlinearity of individual driver elements 260.
[0058] For example, at output voltage V1, driver element 260 may have a drive strength S. However, at output voltage V2, the same driver element 260 may have a drive strength of 1.1S, and at output voltage V3, the same driver element 260 may have a drive strength of 1.3S. That is, when operating at different voltages, the same pull-up driver element 260 may have different strengths (and therefore different impedances). Furthermore, the strength (and therefore the impedance) of driver element 260 may vary non-linearly across different operating (e.g., output) voltages (e.g., in a sequence of 0, S, 1.1S, and 1.3S).
[0059] If a set of drivers is operated according to a binary encoding scheme, wherein the number of activated driver elements 260 can vary linearly across different target voltages of the modulation scheme, then the nonlinearity of the driver elements 260 within the driver may not be compensated, and therefore, the total drive strength (e.g., total impedance) of the set of drivers can vary nonlinearly across different target voltages. For example, if the total number of activated driver elements 260 can vary across different target voltages of the modulation scheme in a linear sequence of 0, X, 2X, 3X (as described above), and the strength of each individual driver element 260 can vary as in the above example (e.g., in a sequence of 0, S, 1.1S, and 1.3S), then the total drive strength can vary in a nonlinear sequence of 0, X*S, 2.2X*S, and 3.9X*S (and the total impedance can vary in a similar nonlinear manner, but in the opposite direction to the total drive strength). That is, the nonlinearity of the individual driver elements 260 can be carried out to result in a nonlinear total drive strength of the set of drivers. This nonlinearity of the total drive strength can cause the voltage tolerances 235 to vary relative to each other, which can result in one or more voltage tolerances 235 being undesirably small, or any combination thereof, which can reduce the reliability of signaling transmitted (e.g., generated) using the driver 250 that can be decoded by the receiving device.
[0060] However, if a set of drivers is operated according to a thermometer encoding scheme, wherein the number of activated driver elements 260 can vary non-linearly across different target voltages of the modulation scheme, then the non-linearity of the driver elements 260 within the driver can be canceled out by the non-linearity of the number of activated driver elements 260, which can be non-linear in the opposite direction, and therefore, the total drive strength (e.g., total impedance) of the set of drivers can vary linearly (or at least more linearly) across different target voltages. For example, if the total number of activated driver elements 260 can vary across different target voltages of the modulation scheme in a non-linear sequence of 0, X, 1.8X, 2.3X (as described above for the thermometer encoding example), and the strength of each individual driver element 260 can vary as in the above example (e.g., in a sequence of 0, S, 1.1S, and 1.3S), then the total drive strength can vary in a substantially linear sequence of 0, X*S, 1.98X*S, and 2.99X*S (and the total impedance can vary similarly in a substantially linear manner, but in the opposite direction to the total drive strength). That is, the nonlinearity of individual driver elements 260 across different target voltages can be compensated for by the nonlinearity of different numbers of activated driver elements 260 across different target voltages, resulting in a linear (or at least more linear) total drive strength of the group of drivers across different target voltages. This linearity of the total drive strength promoted by different drivers within the group of drivers, such as by using thermometer encoding to control it, can result in the voltage tolerances 235 being equal (or at least more equal) relative to each other, preventing one or more voltage tolerances 235 from becoming undesirably small, or any combination thereof. This can improve the reliability of signaling transmitted (e.g., generated) using driver 250 that can be decoded by the receiving device.
[0061] exist Figure 2 In one example, the pull-up driver 215 within driver 250 operates according to a thermometer encoding scheme, while the pull-down driver 225 within driver 250 operates according to a binary encoding scheme. However, it should be understood that in some instances, the pull-down driver 225 within driver 250 may operate according to a thermometer encoding scheme in other instances (e.g., three pull-down drivers 225 may be present alternatively), while the pull-up driver 215 within driver 250 operates according to a binary encoding scheme (e.g., two pull-up drivers 215 may be present alternatively). It should also be understood that in some instances, both the pull-up driver 215 and the pull-down driver 225 within driver 250 may operate according to a thermometer encoding scheme (e.g., driver 250 may contain the same number of pull-down drivers 225 as the pull-up driver 215).
[0062] Figure 3 Figure 300 illustrates an example of thermometer encoding for driving non-binary signals, based on examples disclosed herein. Figure 300 may illustrate the use of signal lines (e.g., as referenced) Figure 2 The described signal line 210) is driven to three or more voltages (e.g., as referenced). Figure 2 Possible combinations of drivers for voltage 230 described. In some instances, Figure 300 may illustrate activating or deactivating pull-up driver 315 (e.g., as shown in reference). Figure 2 The pull-up driver 215 and pull-down driver 325 described herein (e.g., as referenced) Figure 2 The described pull-down driver 225).
[0063] In some examples, the driver (e.g., as referenced) Figure 2 The described driver 250 can drive a signal line (e.g., signal line 210) to a first voltage 305-a (e.g., as described in the reference) of three or more voltages by activating a first pull-down driver 325-a (e.g., first pull-down driver 225-a) and a second pull-down driver 325-b (e.g., pull-down driver 225-b). Figure 2 The voltage described is 230-a). The first voltage 305-a may represent the voltage stored in the memory array (e.g., as referenced). Figure 2 The data in the described memory array 170). In some instances, the pull-down driver 325 may operate based on binary code, which may correspond to the logic value represented by the voltage driven to the signal line. For example, the first pull-down driver 325-a may transmit the most significant bit (MSB) (e.g., activated or deactivated based on the value of the MSB), and the second pull-down driver 325-b may transmit the least significant bit (LSB) of a set of two bits represented by the voltage driven to the signal line (e.g., activated or deactivated based on the value of the LSB). For example, the first voltage 305-a may represent the logic value 00 (e.g., may represent two bits each having a logic value of 0), and the first pull-down driver 325-a may be activated based on the MSB having a logic value of 0, while the second pull-down driver 325-b may be activated based on the LSB having a logic value of 0. In such instances, the first pull-down driver 325-a may have a drive strength that is substantially twice that of the second pull-down driver 325-b (e.g., containing twice the number of active driver elements (e.g., driver element 260) when activated, having substantially half the impedance when activated, or both).
[0064] In some instances, the pull-up driver 315 may operate based on thermometer code, which may correspond to the logic value represented by the voltage driven to the signal line, but using thermometer encoding (e.g., instead of binary encoding). Additional bits within the thermometer code may be set to a specific (e.g., high) logic value for each successive voltage 305 associated with the signaling scheme, and each pull-up driver 315 may be activated or deactivated based on the logic value of the corresponding bit in the thermometer code, such that an additional pull-up driver 315 can be activated for each successive voltage 305, as... Figure 3 As explained. For example, the first voltage 305-a can correspond to a binary logic value, and therefore also to binary code 00, which can correspond to thermometer code 000. Therefore, the driver can drive the signal line to the first voltage 305-a by activating the first pull-down driver 325-a and the second pull-down driver 325-b, deactivating the first pull-up driver 315-a (e.g., the first pull-up driver 215-a) based on the last bit of the thermometer code being logic 0, deactivating the second pull-up driver 315-b (e.g., the second pull-up driver 215-b) based on the middle bit of the thermometer code being logic 0, and deactivating the third pull-up driver 315-c (e.g., the third pull-up driver 215-c) based on the first bit of the thermometer code being logic 0.
[0065] In other examples, the driver can drive the signal line to a second voltage 305-b (e.g., as referenced). Figure 2 The voltage 230-b described may represent data stored in a memory array. For example, the second voltage 305-b may represent two bits corresponding to the binary logic value 01, which may correspond to binary code 01 and thermometer code 001. Therefore, to drive the signal line to the second voltage 305-b, the first pull-down driver 325-a (based on the MSB with logic value 0) can be activated, and the second pull-down driver 325-b (based on the LSB with logic value 0) can be deactivated. Simultaneously, to drive the signal line to the second voltage 305-b, the first pull-up driver 315-a (based on the last bit of the thermometer code with logic value 1) can be activated, the second pull-up driver 315-b (based on the middle bit of the thermometer code with logic value 0) can be deactivated, and the third pull-up driver 315-c (based on the first bit of the thermometer code with logic value 0) can be deactivated.
[0066] In other examples, the driver can drive the signal line to a third voltage 305-C (e.g., as referenced). Figure 2The voltage 230-c described may represent data stored in a memory array. For example, the third voltage 305-c may represent two bits corresponding to a binary logic value of 10, which may correspond to binary code 10 and thermometer code 011. Therefore, to drive the signal line to the third voltage 305-c, the first pull-down driver 325-a (based on the MSB with a logic value of 1) can be deactivated, and the second pull-down driver 325-b (based on the LSB with a logic value of 1) can be activated. Simultaneously, to drive the signal line to the third voltage 305-c, the first pull-up driver 315-a (based on the last bit of the thermometer code with a logic value of 1) can be activated, the second pull-up driver 315-b (based on the middle bit of the thermometer code with a logic value of 1) can be activated, and the third pull-up driver 315-c (based on the first bit of the thermometer code with a logic value of 0) can be deactivated.
[0067] In other examples, the driver can drive the signal line to a fourth voltage 305-d (e.g., as referenced). Figure 2 The voltage 230-d described can represent data stored in a memory array. For example, the third voltage 305-c can represent two bits corresponding to the binary logic value 11, which can correspond to binary code 11 and thermometer code 111. Therefore, to drive the signal line to the fourth voltage 305-d, the first pull-down driver 325-a (based on the MSB with a logic value of 1) can be deactivated, and the second pull-down driver 325-b (based on the LSB with a logic value of 1) can also be deactivated. Simultaneously, to drive the signal line to the fourth voltage 305-d, the first pull-up driver 315-a (based on the last bit of the thermometer code with a logic value of 1) can be activated, the second pull-up driver 315-b (based on the middle bit of the thermometer code with a logic value of 1) can be activated, and the third pull-up driver 315-c (based on the first bit of the thermometer code with a logic value of 1) can also be deactivated. Therefore, at each consecutive voltage 305, additional pull-up drivers 315 can be activated (zero activated pull-up drivers 315 at the first voltage 305-a, one activated pull-up driver 315 at the second voltage 305-b, two activated pull-up drivers 315 at the third voltage 305-c, and three activated pull-up drivers 315 at the fourth voltage 305-d).
[0068] In some instances, each pull-down driver 325 and pull-up driver 315 may be calibrated to have a calibrated impedance at the corresponding voltage 305. For example, the strength code for activating the pull-down driver 325 or pull-up driver 315 may be determined based on operating the pull-down driver 325 or pull-up driver 315 at the corresponding voltage 305, and the number of active driver elements contained in the pull-down driver 325 or pull-up driver 315 may depend on (e.g., corresponding to, controlled by) the strength code for activating the pull-down driver 325 or pull-up driver 315.
[0069] Because the first pull-down driver 325-a is the only pull-down driver 325 activated to drive the signal line to the second voltage 305-b, the first pull-down driver 325-a can be calibrated under the second voltage 305-b (e.g., the strength code for activating the first pull-down driver 325-a can be determined based on operating the first pull-down driver 325-a to have an output voltage equal to the second voltage 305-b). Similarly, because the second pull-down driver 325-b is the only pull-down driver 325 activated to drive the signal line to the third voltage 305-c, the second pull-down driver 325-b can be calibrated under the third voltage 305-c (e.g., the strength code for activating the second pull-down driver 325-b can be determined based on operating the second pull-down driver 325-b to have an output voltage equal to the third voltage 305-c). Figure 3 As shown in the example, both the first pull-down driver 325-a and the second pull-down driver 325-b can be used (e.g., activated) to drive the signal line to the first voltage 305-a. However, due to one or more nonlinearities associated with the pull-down driver 325 (e.g., nonlinearity of its driver element), the first pull-down driver 325-a may have a different drive strength (e.g., different impedance) when activated at the first voltage 305-a than when activated at the second voltage 305-b, and the second pull-down driver 325-b may have a different drive strength (e.g., different impedance) when activated at the first voltage 305-a than when activated at the third voltage 305-c. That is, when activated at the first voltage 305-a, the impedance of the first pull-down driver 325-a may be different from its calibration impedance, and the impedance of the second pull-down driver 325-b may be different from its calibration impedance. Such impedance deviations can cause signal lines to be driven to non-ideal voltages (e.g., voltages different from the ideal target voltage of the first voltage 305-a), which can adversely affect the reliability of the receiving device in decoding signaling generated by the driver.
[0070] Operating a set of drivers based on thermometer-coded operation can advantageously avoid (or at least reduce) the effects of such impedance deviations (e.g., deviations in driver impedance when activated at different voltages). For example, since the first pull-up driver 315-a is the only pull-up driver 315 activated to drive the signal line to the second voltage 305-b, the first pull-up driver 315-a can be calibrated at the second voltage 305-b (e.g., the strength code used to activate the first pull-up driver 315-a can be determined based on operating the first pull-up driver 315-a to have an output voltage equal to the second voltage 305-b). To drive the signal line to the third voltage 305-c, the second pull-up driver 315-b can be used in conjunction with the first pull-up driver 315-a (e.g., activated). Therefore, the second pull-up driver 315-b can be calibrated at the third voltage 305-c so that, when operating at the third voltage 305-c, it provides the desired total pull-up drive strength in combination with the first pull-up driver 315-a. That is, when operating under the third voltage 305-c, the impedance of the first pull-up driver 315-a may differ from the calibration impedance of the first pull-up driver 315-a (since the first pull-up driver 315-a is calibrated for operation under the second voltage 305-b). However, because the second pull-up driver 315-b may not be activated except in conjunction with at least the first pull-up driver 315-a, the second pull-up driver 315-b may be calibrated (e.g., configured to include a calibrated number of active driver elements when activated) to compensate for the nonlinearity of the first pull-up driver 315-a, such that the first pull-up driver 315-a and the second pull-up driver 315-b provide the total desired drive strength (e.g., with the desired combined impedance) when jointly activated under the third voltage 305-c.
[0071] Similarly, to drive the signal line to the fourth voltage 305-d, a third pull-up driver 315-c can be used (e.g., activated) in conjunction with the first pull-up driver 315-a and the second pull-up driver 315-b. Therefore, the third pull-up driver 315-c can be calibrated at the fourth voltage 305-d so that, when operating at the third voltage 305-c, it provides the desired total pull-up drive strength in combination with the first pull-up driver 315-a and the second pull-up driver 315-b. That is, when operating under the fourth voltage 305-d, the corresponding impedances of the first pull-up driver 315-a and the second pull-up driver 315-b may differ from the corresponding calibration impedances of the first pull-up driver 315-a and the second pull-up driver 315-b (since the first pull-up driver 315-a is calibrated for operation alone under the second voltage 305-b, and the second pull-up driver 315-b is calibrated for joint operation with the first pull-up driver 315-a under the third voltage 305-c), but because the third pull-up driver 315-c, in addition to being used with at least the first... Pull-up drivers 315-a and 315-b may not be activated except in combination, and third pull-up drivers 315-c may be calibrated (e.g., configured to include a calibrated number of active driver elements when activated) to compensate for the nonlinearity of first pull-up drivers 315-a and 315-b, such that when first pull-up drivers 315-a, 315-b and 315-c are jointly activated at fourth voltage 305-d, they provide the total desired drive strength (e.g., with the desired combined impedance).
[0072] Therefore, operating a group of drivers according to thermometer encoding as described herein (e.g., the group of pull-up drivers 315) can mitigate the effects of nonlinearity of individual drivers within the group. For example, each driver in the group can be calibrated to provide an incremental drive strength of a calibrated amount at a specific voltage, which can compensate for the nonlinearity of any other drivers in the group that will be activated simultaneously at said specific voltage. Furthermore, individual drivers in the group can be expected to provide any amount of calibrated drive strength upon activation (e.g., not limited to any particular relationship with the calibrated drive strength of any other driver in the group). For example, the amount of incremental drive strength added by the different drivers in the group (e.g., the increment of the activated driver element) can be based on a nonlinear sequence, which can counteract the individual nonlinearity of the drivers. As an example, the calibrated drive strength of the second pull-up driver 315-b may be less than the calibrated drive strength of the first pull-up driver 315-a, but the actual drive strength of the first pull-up driver 315-a under the third voltage 305-c may be greater than the calibrated drive strength of the first pull-up driver 315-a (for example, the same number of active driver elements in the first pull-up driver 315-a may provide a greater actual drive strength under the third voltage 305-c than under the second voltage 305-b), so that the total pull-up drive strength may vary linearly from the first voltage 305-a to the second voltage 305-b to the third voltage 305-c, even if the drive strength of the first pull-up driver 315-a varies non-linearly. Similarly, the calibrated drive strength of the third pull-up driver 315-c can be less than the calibrated drive strength of the second pull-up driver 315-b, but the actual drive strength of the second pull-up driver 315-b under the fourth voltage 305-d can be greater than the calibrated drive strength of the second pull-up driver 315-b, and the actual drive strength of the first pull-up driver 315-a under the fourth voltage 305-d can be greater than the calibrated drive strength of the first pull-up driver 315-a, so that the total pull-up drive strength can vary linearly across voltage 305, even if the drive strength of individual pull-up drivers varies non-linearly. Therefore, a driver including the set of drivers can more accurately signal voltage 305 and achieve greater equality with respect to the difference between voltages (e.g., achieving more equal voltage tolerances 235).
[0073] Figure 4This document describes an example of circuitry 400 supporting thermometer encoding for driving non-binary signals, based on the examples disclosed herein. Circuitry 400 may be or include aspects of a driver for transferring data from memory array 405 (e.g., signaling notification) to signal line 455. Circuitry 400 may include memory array 405, multiplexer 410, logic circuitry system 415, pre-driver 420, and drivers 425-a, 425-b, 425-c, 430-a, 430-b, and 430-c. In some examples, driver 425-a may be an example of a first pull-up driver 315-a, driver 425-b may be an example of a second pull-up driver 315-b, and driver 425-c may be an example of a third pull-up driver 315-c, as referenced. Figure 3 As described. Furthermore, in some cases, drivers 430-a, 430-b, and 430-c can be pull-down drivers (e.g., as described in the reference). Figure 2 and 3 The described example is pull-down driver 225 or 325. Although three pull-down drivers 430-a, 430-b, and 430-c are shown, in some instances, two pull-down drivers 430-a and 430-b may exist, for example, driver 430-c may be omitted.
[0074] Memory array 405 (e.g., as referenced) Figure 1 The described memory array 170 can be configured for memory devices (e.g., as referenced). Figure 1 The memory device 110 described stores data. In some instances, the memory array 405 may be configured to transmit a first data signal 460 (e.g., a first bit stream or other data stream) to multiplexer 410-a and a second data signal 465 (e.g., a second bit stream or other data stream) to multiplexer 410-b. In some instances, the first data signal 460 and the second data signal 465 may represent binary code associated with a PAM4 modulation scheme. For example, the first data signal 460 may be an MSB and the second data signal 465 may be an LSB, or vice versa.
[0075] Multiplexer 410-a can be configured to receive a first data signal 460, serialize the first data signal 460, and output the serialized first data signal 460 to logic circuit system 415. In some instances, multiplexer 410-b can be configured to receive a second data signal 465, serialize the second data signal 465, and output the serialized second data signal 465 to logic circuit system 415. For example, each multiplexer 410 can receive a data stream comprising multiple symbols. In some instances, the data stream transmitted from memory array 405 to multiplexer 410 can be transmitted at a relatively low speed via a relatively wide data bus. Therefore, multiplexer 410 can serialize data and ensure that one MSB data bit is output to logic circuit system 415, and the corresponding LSB data bit is also output to logic circuit system 415. In some instances, multiplexer 410 can be coupled to a buffer. In such instances, the buffer can temporarily store data and output the data to the logic circuit system 415 based on received signals or new data.
[0076] Logic circuit system 415 may be configured to receive a first data signal 460 (e.g., a first input bit) and a second data signal 465 (e.g., a second input bit) from multiplexer 410. In some instances, logic circuit system 415 may be configured to convert the first data signal 460 and the second data signal 465, associated with binary code, into corresponding thermometer codes (e.g., as shown in reference). Figure 3(Described thermometer code). In some instances, the thermometer code can control which drivers are activated; for example, the logic circuit system 415 can identify the logic state to be driven and generate the thermometer code at least in part based on the identified logic state. In some instances, the logic circuit system 415 may include a first plurality of gates configured to generate different thermometer codes. In such instances, the logic circuit system 415 may also include a second plurality of gates as supplements to the first plurality of gates; for example, the first plurality of gates may be configured to generate the truth value of the thermometer code (e.g., for operating pull-up drivers 425-a, 425-b, 425-c), and the second plurality of gates may be configured to generate complementary (e.g., inverted) values (e.g., for operating pull-down drivers 430-a, 430-b, 430-c). The logic circuit system 415 may output control signals to pre-drivers 420, each pre-driver 420 indicating whether a driver 425 or 430 corresponding to the pre-driver 420 will be activated. In some cases, the state of the control signals output to the preamplifier driver 420 can be based on the logic values of corresponding bits of a thermometer code, which correspond to drivers 425 or 430 corresponding to the preamplifier driver 420. In some cases, the state of the control signals output to preamplifier drivers 420-d and 420-e can be based on the logic values of corresponding bits of a binary code; for example, pull-down drivers 430-a and 430-b can operate based on binary code, as shown in reference... Figure 3 As described, and the pull-down driver 430-c may not exist.
[0077] Each preamplifier driver 420 can be configured to amplify control signals received from the logic circuit system 415 and transmit the amplified signals to a corresponding driver among drivers 425-a, 430-a, 425-b, 430-b, 425-c, and 430-c. In some instances, the preamplifier driver 420 may also receive a strength code or be otherwise configured with a strength code (e.g., a strength code determined during a calibration process as described elsewhere herein, e.g., reference to...). Figure 5 As an example, the strength code is transmitted to drivers 425 and 430, which can control how many driver elements (e.g., driver element 260) are activated within the active drivers 425 and 430.
[0078] Drivers 425-a, 425-b, 425-c, 430-a, 430-b, and 430-c may be configured to drive signal line 455 to one or more voltages, at least in part, based on receiving corresponding signals from pre-driver 420.
[0079] In some cases, logic circuitry 415 may generate a first thermometer code (e.g., 000) associated with a first binary code (e.g., 00) received from memory array 405. In such instances, logic circuitry 415 may output control signals to pre-driver 420 such that the pre-driver activates all three pull-down drivers 430 and deactivates all three pull-up drivers 425. For example, pre-driver 420-a may deactivate driver 425-a, pre-driver 420-b may deactivate driver 425-b, and pre-driver 420-c may deactivate driver 425-c. Simultaneously, pre-driver 420-d may activate driver 430-a, pre-driver 420-e may activate driver 430-b, and pre-driver 420-f may activate driver 430-c. Thus, drivers 430-a, 430-b, and 430-c may drive signal line 455 to a first voltage.
[0080] In some cases, logic circuitry 415 may generate a second thermometer code (e.g., 001) associated with a first binary code (e.g., 01) received from memory array 405. In such instances, logic circuitry 415 may output control signals to pre-driver 420 such that the pre-driver activates two pull-down drivers 430 and one pull-up driver 425, and deactivates one pull-down driver 430 and two pull-up drivers 425. For example, pre-driver 420-a may activate driver 425-a, pre-driver 420-b may deactivate driver 425-b, and pre-driver 420-c may deactivate driver 425-c. Simultaneously, pre-driver 420-d may activate driver 430-a, pre-driver 420-e may activate driver 430-b, and pre-driver 420-f may deactivate driver 430-c. Thus, drivers 430-a, 430-b, and 425-a may drive signal line 455 to a second voltage.
[0081] In some cases, the logic circuitry 415 may generate a third thermometer code (e.g., 011) associated with a first binary code (e.g., 10) received from the memory array 405. In such instances, the logic circuitry 415 may output control signals to the preamplifier driver 420, causing the preamplifier driver to activate one pull-down driver 430 and two pull-up drivers 425, and deactivate both pull-down drivers 430 and one pull-up driver 425. For example, preamplifier driver 420-a may activate driver 425-a, preamplifier driver 420-b may activate driver 425-b, and preamplifier driver 420-c may deactivate driver 425-c. Simultaneously, preamplifier driver 420-d may activate driver 430-a, preamplifier driver 420-e may deactivate driver 430-b, and preamplifier driver 420-f may deactivate driver 430-c. Therefore, drivers 430-a, 425-b and 425-a can drive signal line 455 to the third voltage.
[0082] In some cases, logic circuitry 415 may generate a fourth thermometer code (e.g., 111) associated with a first binary code (e.g., 11) received from memory array 405. In such instances, logic circuitry 415 may output control signals to pre-driver 420 such that the pre-driver deactivates all three pull-down drivers 430 and activates all three pull-up drivers 425. For example, pre-driver 420-a may activate driver 425-a, pre-driver 420-b may activate driver 425-b, and pre-driver 420-c may activate driver 425-c. Simultaneously, pre-driver 420-d may deactivate driver 430-a, pre-driver 420-e may deactivate driver 430-b, and pre-driver 420-f may deactivate driver 430-c. Thus, drivers 425-a, 425-b, and 425-c may drive signal line 455 to a fourth voltage.
[0083] Figure 5 This document describes an example of a flowchart 500 supporting thermometer encoding for driving non-binary signals, based on the examples disclosed herein. Operation of flowchart 500 can be implemented by a device or component thereof as described herein. For example, flowchart 500 can be provided by reference to... Figures 1 to 4 The described system or circuit performs, or is executed on, said system or circuit. For example, flowchart 500 may illustrate a set of pull-up drivers (e.g., as referenced). Figure 2 The calibration process for pull-up drivers (group 215 or 315) described in section 3. Although shown in a specific sequence or order, the order of the processes may be modified unless otherwise specified. Therefore, the illustrated example is used as an example, and the illustrated processes may be performed in different orders, and some processes may be performed in parallel.
[0084] At 505, at the first voltage (e.g., as referenced) Figure 3 The first driver (e.g., as described in reference) operates (e.g., calibrates) at voltage 230-b) described. Figure 2 The first pull-up driver described is 215-a). In some instances, the first driver may be coupled in series with a reference impedance (e.g., an external resistor) for calibration. The first driver may also be coupled to a voltage source, and as a result of the series coupling with the reference impedance, the first driver and the reference impedance may be configured as a voltage divider. In some instances, the output voltage of the voltage divider may be received at a comparator.
[0085] At 510, a first strength code for the first driver can be determined. In some cases, the comparator may also be coupled to a reference voltage. The strength code of the first driver can be adjusted until the output voltage matches the reference voltage and the comparator generates a signal indicating that the output voltage is equal to the reference voltage. That is, the strength code of the signal generated by the comparator can be determined as the first strength code. In some instances, adjusting the strength code of the first driver may involve activating or deactivating individual driver elements (e.g., driver element 260) of the first driver. For example, the first driver may have multiple driver elements coupled in parallel with each other. Each driver element may include one or more transistors, one or more resistive components, or any combination thereof. Adjusting the strength code can activate different numbers of driver elements within the driver and result in an adjustment of the overall strength (e.g., impedance) of the driver. In some instances, calibrating the first driver at a first voltage may result in the first driver having a first calibration impedance at the first voltage.
[0086] In 515, the second drive (e.g., as referenced) Figure 2 The described second pull-up driver 215-b) can operate (e.g., calibrate) at a second voltage (e.g., voltage 230-c). In some instances, calibrating the second driver may comprise parallel coupling of the first and second drivers, and simultaneously activating both drivers. In some instances, the first and second drivers (e.g., their parallel combination) may be series coupled to a second reference impedance. The first and second drivers may also be coupled to a comparator.
[0087] At 520, a second strength code for the second driver can be determined. In some cases, the comparator may also be coupled to a second reference voltage. The strength code of the second driver can be adjusted until the common second output voltage of the first and second drivers matches the reference voltage, and the comparator generates a second signal indicating that the second output voltage is equal to the second reference voltage. That is, the strength code for which the comparator generates the second signal can be determined as the second strength code. In some instances, calibrating the second driver at the second voltage can result in the second driver having a second calibration impedance at the second voltage. The second calibration impedance may be higher than the first calibration impedance. The second strength code may be smaller than (e.g., corresponding to a smaller number of active driver elements than the first strength code) the first strength code.
[0088] At 525, a third driver (e.g., as referenced) can be operated (e.g., calibrated) at a third voltage (e.g., voltage 230-d). Figure 2 The third pull-up driver described is 215-c. In some instances, calibrating the third driver may comprise parallel coupling of the first, second, and third drivers, and simultaneously activating the first, second, and third drivers. In some instances, the first, second, and third drivers (e.g., their parallel combination) may be series coupled to a third reference impedance. The first, second, and third drivers may also be coupled to a comparator.
[0089] At 530, a third strength code for the third driver can be determined. In some cases, the comparator may also be coupled to a third reference voltage. The strength code of the third driver can be adjusted until the common third output voltage of the first, second, and third drivers matches the reference voltage, and the comparator generates a third signal indicating that the third output voltage is equal to the third reference voltage. That is, the strength code for which the comparator generates the third signal can be determined as the third strength code. In some instances, calibrating the third driver at the second voltage may result in the second driver having a third calibration impedance at the third voltage. The third calibration impedance may be higher than the second calibration impedance. The third strength code may be smaller than (e.g., corresponding to a smaller number of active driver elements than the second strength code) the second strength code.
[0090] In some instances, the difference between the first calibration impedance and the second calibration impedance may differ from the difference between the second calibration impedance and the third calibration impedance. For example, the calibration impedance of the driver may vary according to a nonlinear sequence or rate (e.g., scaling). Alternatively, the third strength code may be smaller than the second strength code, the second strength code may be smaller than the first strength code, and the difference between the first and second strength codes may differ from the difference between the second and third strength codes. For example, the strength codes may also vary according to a nonlinear sequence or rate (e.g., scaling).
[0091] By calibrating the first, second, and third drivers at different voltages, the common impedance of the pull-up drivers can be effectively calibrated at each voltage level. Alternatively, strength codes based on nonlinear sequences or rate variations (e.g., scaling) can mitigate nonlinearity specific to individual drivers, allowing the driver suite including the first, second, and third drivers to drive signal lines more accurately and reliably to the target voltage associated with the modulation scheme (e.g., PAM4 modulation scheme).
[0092] Figure 6 A block diagram 600 illustrates a memory device 620 for driving non-binary signals for thermometer encoding, according to an example disclosed herein. The memory device 620 may be as described in the references... Figures 1 to 5 Examples of aspects of the described memory device. Memory device 620 or its various components may be examples of components that perform the various aspects of thermometer encoding for driving non-binary signals as described herein. For example, memory device 620 may include data component 625, signaling component 630, calibration component 635, thermometer code component 640, or any combination thereof. Each of these components may communicate with each other directly or indirectly (e.g., via one or more buses).
[0093] Data component 625 may be configured or otherwise supported for identifying a first logic value indicated via a signal line based at least in part on first data stored in a memory array. Signaling component 630 may be configured or otherwise supported for driving a signal line to a first voltage representing the first logic value based at least in part on the identification of the first logic value by data component 625, wherein driving the signal line to the first voltage includes activating a first driver of a first type. As used herein, a first type of driver may refer to a pull-up driver and a second type of driver may refer to a pull-down driver, or a first type of driver may refer to a pull-down driver and a second type of driver may refer to a pull-up driver.
[0094] In some cases, data component 625 may be configured or otherwise supported to identify a second logic value indicated via a signal line based at least in part on second data stored in the memory array. In some examples, signaling component 630 may be configured or otherwise supported to drive a signal line to a second voltage representing the second logic value based at least in part on the identification of the second logic value by data component 625, wherein driving the signal line to the second voltage includes activating a first type of first driver and a second type of first driver.
[0095] In some instances, data component 625 may be configured or otherwise supported to identify a third logic value indicated via a signal line based at least in part on third data stored in a memory array. In some instances, signaling component 630 may be configured or otherwise supported to drive a signal line to a third voltage representing the third logic value based at least in part on the identification of the third logic value by data component 625, wherein driving the signal line to the third voltage includes activating a first type of first driver, a second type of first driver, and a third type of first driver.
[0096] In some cases, to drive a signal line to a first voltage, signaling component 630 may be configured to activate a first driver of a first type while deactivating a second driver of a first type and a third driver of a first type. In some instances, to drive a signal line to a second voltage, signaling component 630 may be configured to activate a first driver of a first type and a second driver of a first type while deactivating a third driver of a first type.
[0097] In some examples, to drive the signal line to a first voltage, signaling component 630 may be configured to activate the second type of first driver and the first type of first driver, while deactivating the second type of second driver, the first type of second driver, and the first type of third driver. In some examples, to drive the signal line to a second voltage, signaling component 630 may be configured to activate the second type of second driver, the first type of first driver, and the first type of second driver, while deactivating the second type of first driver and the first type of third driver. In some examples, to drive the signal line to a third voltage, signaling component 630 may be configured to activate the first type of first driver, the first type of second driver, and the first type of third driver, while deactivating the second type of first driver and the second type of second driver.
[0098] In some examples, data component 625 may be configured or otherwise supported to identify a fourth logic value indicated via a signal line based at least in part on fourth data stored in a memory array. In some examples, signaling component 630 may be configured or otherwise supported to drive a signal line to a fourth voltage representing the fourth logic value based at least in part on the identification of the fourth logic value by data component 625, wherein driving the signal line to the fourth voltage includes activating a first driver of a second type and a second driver of a second type, while deactivating a first driver of a first type, a second driver of a first type, and a third driver of a first type.
[0099] In some examples, the thermometer code component 640 may be configured or otherwise support means for generating a first thermometer code at least partially based on a first binary code corresponding to a first logic value, wherein activating a first driver of a first type is at least partially based on the first thermometer code. In some cases, the thermometer code component 640 may be configured or otherwise support means for generating a second thermometer code at least partially based on a second binary code corresponding to a second logic value, wherein activating a first driver of a first type and a second driver of a first type are at least partially based on the second thermometer code. In some examples, the thermometer code component 640 may be configured or otherwise support means for generating a third thermometer code at least partially based on a third binary code corresponding to a third logic value, wherein activating a first driver of a first type, a second driver of a first type, and a third driver of a first type are at least partially based on the third thermometer code.
[0100] In some cases, signaling component 630 may be configured or otherwise supported to enable, at least partially, activation of the first driver of the second type based on a first binary code, while deactivating the second driver of the second type. In some instances, signaling component 630 may be configured or otherwise supported to enable, at least partially, activation of the second driver of the second type based on a second binary code, while deactivating the first driver of the second type. In some instances, signaling component 630 may be configured or otherwise supported to prevent activation of both the first driver of the second type and the second driver of the second type based at least partially on a third binary code.
[0101] In some examples, a first driver of the first type can be configured to have a first output impedance when activated. In some examples, a second driver of the first type can be configured to have a second output impedance when activated, the second output impedance differing from the first output impedance by a first amount. In some examples, a third driver of the first type can be configured to have a third output impedance when activated, the third output impedance differing from the second output impedance by a second amount.
[0102] In some instances, the first, second, and third voltages signaled by the signaling component 630 are contained in a set of three or more voltage levels associated with a pulse amplitude modulation (PAM) scheme.
[0103] The calibration component 635 may be configured or otherwise supported for operating a first type of first driver at a first voltage to determine a first strength code for driving a signal line using the first type of first driver. In some instances, the calibration component 635 may be configured or otherwise supported for operating a first type of second driver at a second voltage, while being coupled in parallel with the first type of first driver to determine a second strength code for driving a signal line using the first type of second driver. In some instances, the calibration component 635 may be configured or otherwise supported for operating a first type of third driver at a third voltage, while being coupled in parallel with both the first type of first driver and the first type of second driver to determine a third strength code for driving a signal line using the first type of third driver.
[0104] In some instances, the first difference between the first strength code and the second strength code determined by the calibration component 635 is different from the second difference between the second strength code and the third strength code determined by the calibration component 635.
[0105] In some instances, signaling component 630 may be configured or otherwise supported to drive a signal line to a first voltage using a first type of first driver when the second and third type of first type drivers are deactivated. In some cases, signaling component 630 may be configured or otherwise supported to drive a signal line to a second voltage using a first type of first driver and a second type of first type driver when the third type of first type driver is deactivated. In some instances, signaling component 630 may be configured or otherwise supported to drive a signal line to a third voltage using a first type of first driver, a second type of first type driver, and a third type of first type driver.
[0106] Figure 7 The flowchart illustrates a method 700 for supporting thermometer encoding for driving non-binary signals, based on examples disclosed herein. Operation of method 700 may be implemented by a memory device or its components as described herein. For example, operation of method 700 may be implemented by... (See reference...) Figures 1 to 6 The memory device described is used to perform the function. In some instances, the memory device may execute a set of instructions to control the functional elements of the device to perform the described function. Alternatively, the memory device may use dedicated hardware to perform aspects of the described function.
[0107] At 705, the method may include identifying a first logic value indicated via a signal line based at least in part on first data stored in a memory array. Operation 705 may be performed according to examples disclosed herein. In some instances, aspects of operation 705 may be as described in references... Figure 6The described data component 625 is used for execution.
[0108] At 710, the method may include driving a signal line to a first voltage representing the first logic value, at least in part based on identifying a first logic value, wherein driving the signal line to the first voltage includes activating a first driver of a first type. Operation 710 may be performed according to examples disclosed herein. In some instances, aspects of operation 710 may be as described in references... Figure 6 The signaling component 630 described is used to execute this.
[0109] At 715, the method may include identifying a second logic value indicated via a signal line based at least in part on second data stored in a memory array. Operation 715 may be performed according to examples disclosed herein. In some instances, aspects of operation 715 may be as described in references... Figure 6 The described data component 625 is used for execution.
[0110] At 720, the method may include driving a signal line to a second voltage representing the second logic value, at least in part based on identifying the second logic value, wherein driving the signal line to the second voltage includes activating a first type of first driver and a second type of first driver. Operation 720 may be performed according to examples disclosed herein. In some instances, aspects of operation 720 may be as described in references... Figure 6 The signaling component 630 described is used to execute this.
[0111] At 725, the method may include identifying a third logic value indicated via a signal line based at least in part on third data stored in a memory array. Operation 725 may be performed according to examples disclosed herein. In some instances, aspects of operation 725 may be as described in references... Figure 6 The described data component 625 is used for execution.
[0112] At 730, the method may include driving a signal line to a third voltage representing the third logic value, at least in part based on identifying the third logic value, wherein driving the signal line to the third voltage includes activating a first type of first driver, a second type of first driver, and a third type of first driver. Operation 730 may be performed according to examples disclosed herein. In some instances, aspects of operation 730 may be as described in references... Figure 6 The signaling component 630 described is used to execute this.
[0113] In some examples, a device as described herein may perform one or more methods, such as method 700. The device may include operations, features, circuitry, logic, components, or instructions (e.g., a non-transitory computer-readable medium storing instructions executable by a processor) for: identifying a first logic value indicated via a signal line based at least in part on first data stored in a memory array; and driving the signal line to a first voltage representing the first logic value based at least in part on the identified first logic value, wherein driving the signal line to the first voltage includes activating a first driver of a first type. The device may further include operations, features, circuitry, logic, components, or instructions for: identifying a second logic value indicated via a signal line based at least in part on second data stored in a memory array; and driving the signal line to a second voltage representing the second logic value based at least in part on the identified second logic value, wherein driving the signal line to the second voltage includes activating a first driver of a first type and a second driver of a first type. The device may also include operations, features, circuitry, logic, components, or instructions for: identifying a third logic value indicated by a signal line based at least in part on third data stored in a memory array; and driving the signal line to a third voltage representing the third logic value based at least in part on the identified third logic value, wherein driving the signal line to the third voltage includes activating a first driver of a first type, a second driver of a first type, and a third driver of a first type.
[0114] In some examples of the method 700 and apparatus described herein, the operation, feature, circuit system, logic, component, or instruction for driving a signal line to a first voltage may include the operation, feature, circuit system, logic, component, or instruction for activating a first type of first driver when a second type of first driver and a third type of first driver are deactivated, and the operation, feature, circuit system, logic, component, or instruction for driving a signal line to a second voltage may include the operation, feature, circuit system, logic, component, or instruction for activating a first type of first driver and a second type of first driver when a third type of first driver is deactivated.
[0115] In some cases of the method 700 and apparatus described herein, the operation, feature, circuit system, logic, component, or instruction for driving a signal line to a first voltage may include the operation, feature, circuit system, logic, component, or instruction for activating a second-type first driver and a first-type first driver when deactivating a second-type second driver, a first-type second driver, and a first-type third driver; the operation, feature, circuit system, logic, component, or instruction for driving a signal line to a second voltage may include the operation, feature, circuit system, logic, component, or instruction for activating a second-type second driver, a first-type first driver, and a first-type second driver when deactivating a second-type first driver and a first-type third driver; and the operation, feature, circuit system, logic, component, or instruction for driving a signal line to a third voltage may include the operation, feature, circuit system, logic, component, or instruction for activating a first-type first driver, a first-type second driver, and a first-type third driver when deactivating a second-type first driver and a second-type second driver.
[0116] Some examples of the method 700 and apparatus described herein may further include operations, features, circuit systems, logic, components, or instructions for: identifying a fourth logic value indicated by a signal line based at least in part on fourth data stored in a memory array; and driving the signal line to a fourth voltage representing the fourth logic value based at least in part on the identification of the fourth logic value, wherein driving the signal line to the fourth voltage includes activating a first driver of a second type and a second driver of a second type, while deactivating a first driver of a first type, a second driver of a first type, and a third driver of a first type.
[0117] Some aspects of the method 700 and apparatus described herein may further include operations, features, circuit systems, logic, components, or instructions for: generating a first thermometer code at least partially based on a first binary code corresponding to a first logic value, wherein activating a first driver of a first type may be at least partially based on the first thermometer code; generating a second thermometer code at least partially based on a second binary code corresponding to a second logic value, wherein activating a first driver of a first type and a second driver of a first type may be at least partially based on the second thermometer code; and generating a third thermometer code at least partially based on a third binary code corresponding to a third logic value, wherein activating a first driver of a first type, a second driver of a first type, and a third driver of a first type may be at least partially based on the third thermometer code.
[0118] Examples of the method 700 and apparatus described herein may further include operations, features, circuit systems, logic, components, or instructions for: activating a first driver of a second type at least partially based on a first binary code while deactivating a second driver of a second type; activating a second driver of a second type at least partially based on a second binary code while deactivating a first driver of a second type; and avoiding activation of the first driver of a second type and the second driver of a second type at least partially based on a third binary code.
[0119] In some instances of the method 700 and apparatus described herein, the first voltage, the second voltage, and the third voltage may be included in a set of three or more voltage levels associated with a pulse amplitude modulation (PAM) scheme.
[0120] In some examples of the method 700 and apparatus described herein, a first driver of a first type may be configured to have a first output impedance when activated, a second driver of a first type may be configured to have a second output impedance when activated, the second output impedance differing from the first output impedance by a first amount, and a third driver of a first type may be configured to have a third output impedance when activated, the third output impedance differing from the second output impedance by a second amount (e.g., different from the first amount).
[0121] Figure 8 The flowchart illustrates a method 800 for supporting thermometer encoding for driving non-binary signals, based on examples disclosed herein. Operation of method 800 may be implemented by a memory device or its components as described herein. For example, operation of method 800 may be implemented by... (See reference...) Figures 1 to 6 The memory device described is used to perform the function. In some instances, the memory device may execute a set of instructions to control the functional elements of the device to perform the described function. Alternatively, the memory device may use dedicated hardware to perform aspects of the described function.
[0122] At 805, the method may include operating a first driver of a first type at a first voltage to determine a first strength code for driving a signal line using the first driver of the first type. Operation 805 may be performed according to examples as disclosed herein. In some examples, aspects of operation 805 may be provided by reference to [reference needed]. Figure 6 The calibration component 635 described herein is used to perform this calibration.
[0123] At 810, the method may include operating a second driver of the first type at a second voltage, while simultaneously coupling in parallel with the first driver of the first type, to determine a second strength code for driving signal lines using the second driver of the first type. Operation 810 may be performed according to examples as disclosed herein. In some examples, aspects of operation 810 may be as described in references... Figure 6The calibration component 635 described herein is used to perform this calibration.
[0124] At 815, the method may include operating a third driver of the first type at a third voltage, while simultaneously coupling in parallel with a first driver of the first type and a second driver of the first type to determine a third strength code for driving signal lines using the third driver of the first type. Operation 815 may be performed according to examples as disclosed herein. In some examples, aspects of operation 815 may be provided by reference to [reference needed]. Figure 6 The calibration component 635 described herein is used to perform this calibration.
[0125] In some cases, a device as described herein may perform one or more methods, such as method 800. The device may include operations, features, circuitry, logic, components, or instructions (e.g., a non-transitory computer-readable medium storing instructions executable by a processor) for: operating a first driver of a first type at a first voltage to determine a first strength code for driving signal lines using the first driver of the first type; operating a second driver of the first type at a second voltage, coupled in parallel with the first driver of the first type, to determine a second strength code for driving signal lines using the second driver of the first type; and operating a third driver of the first type at a third voltage, coupled in parallel with both the first driver of the first type and the second driver of the first type, to determine a third strength code for driving signal lines using the third driver of the first type.
[0126] In some examples of the method 800 and device described herein, the first difference between the first strength code and the second strength code may be different from the second difference between the second strength code and the third strength code.
[0127] Some examples of the method 800 and apparatus described herein may further include operations, features, circuit systems, logic, components, or instructions for: driving a signal line to a first voltage using a first type of first driver when deactivating a second driver of the first type and a third driver of the first type; driving a signal line to a second voltage using a first type of first driver and a second driver of the first type when deactivating a third driver of the first type; and driving a signal line to a third voltage using a first type of first driver, a second driver of the first type, and a third driver of the first type.
[0128] It should be noted that the methods described herein describe possible implementations, and the operations and steps can be rearranged or otherwise modified, and other implementations are possible. Furthermore, portions of two or more of the methods may be combined.
[0129] Describe an apparatus. The apparatus may include a memory array configured to store data and a driver coupled to the memory array and signal lines. The driver may be configured to transmit signaling via signal lines associated with three or more voltages and at least partially based on data. The driver may include a first driver of a first type, a second driver of a first type, and a third driver of a first type, and the driver may be configured to drive the signal lines to a first voltage of three or more voltages at least partially based on activating the first driver of the first type, drive the signal lines to a second voltage of three or more voltages at least partially based on simultaneously activating the second driver of the first type with the first driver of the first type, and drive the signal lines to a third voltage of three or more voltages at least partially based on simultaneously activating the third driver of the first type with the first driver of the first type and the second driver of the first type.
[0130] In some examples of the device, in order to drive the signal line to a first voltage, the driver may be configured to activate the first driver of the first type when the second driver of the first type and the third driver of the first type are deactivated, and in order to drive the signal line to a second voltage, the driver may be configured to activate the first driver of the first type and the second driver of the first type when the third driver of the first type is deactivated.
[0131] In some instances, in order to drive the signal line to a first voltage, the driver may be configured to activate the first driver of the second type when the second driver of the second type is deactivated, and in order to drive the signal line to a second voltage, the driver may be configured to activate the second driver of the second type when the first driver of the second type is deactivated, and in order to drive the signal line to a third voltage, the driver may be configured to activate the first driver of the first type, the second driver of the first type, and the third driver of the first type when the first driver of the second type and the second driver of the second type are deactivated.
[0132] In some instances of the device, in order to drive the signal line to a fourth voltage among three or more voltages, the driver may be configured to activate a second type of first driver and a second type of second driver when a first type of first driver, a second type of first driver, and a third type of first driver are deactivated.
[0133] In some cases, the device may further include a logic circuitry system coupled to a driver. The logic circuitry system may be configured to receive a first input bit and a second input bit, and to generate, at least in part, a first output signal indicating whether to activate a first type of first driver, a second output signal indicating whether to activate a second type of first driver, and a third output signal indicating whether to activate a third type of first driver, based on the first input bit and the second input bit.
[0134] In some examples of the device, the driver further includes a set of second-type drivers configured to operate at least in part based on binary code containing the most significant bit and the least significant bit, wherein the first type of first driver, the second type of first driver, and the third type of first driver can be configured to operate at least in part based on thermometer code corresponding to the binary code.
[0135] In some instances of the device, a first driver of a first type may be configured to have a first output impedance when activated, a second driver of a first type may be configured to have a second output impedance when activated, and a third driver of a first type may be configured to have a third output impedance when activated.
[0136] In some cases of the device, the first difference between the first output impedance and the second output impedance may be different from the second difference between the second output impedance and the third output impedance.
[0137] In some examples of the device, the first output impedance may be less than the second output impedance, and the second output impedance may be less than the third output impedance.
[0138] The information and signals described herein can be represented using any of a variety of technologies and techniques. For example, data, instructions, commands, information, signals, bits, symbols, and chips referenced throughout the foregoing description can be represented by voltage, current, electromagnetic waves, magnetic fields or magnetic particles, light fields or optical particles, or any combination thereof. Some figures may illustrate a signal as a single signal; however, a signal may represent a bus of signals, which may have various bit widths.
[0139] The terms "electronic connection," "conductive contact," "connection," and "coupling" refer to a relationship between components that supports the flow of signals between them. Components can be considered to be in electronic communication with each other (or in conductive contact, connection, or coupling) if any conductive path exists between them that can readily support the flow of signals between them. At any given time, the conductive path between components that are in electronic communication with each other (or in conductive contact, connection, or coupling) can be open or closed, depending on the operation of the device containing the connected components. The conductive path between connected components can be a direct conductive path between the components, or it can be an indirect conductive path that may include intermediate components (e.g., switches, transistors, or other components). In some instances, the signal flow between connected components can be interrupted for a period of time, for example, using one or more intermediate components (e.g., switches or transistors).
[0140] The term "coupling" refers to a condition that moves from an open-circuit relationship between components (where signals cannot currently travel between components via conductive paths) to a closed-circuit relationship between components (where signals can travel between components via conductive paths). When a component, such as a controller, couples other components together, the component initiates a change that allows signals to flow between other components via conductive paths that were previously not permitted.
[0141] The term "isolation" refers to a relationship between components where signals are currently unable to flow between them. Components are isolated from each other if there is an open circuit between them. For example, when a switch positioned between two components is opened, the components separated by the switch are isolated from each other. When a controller isolates two components, the controller affects the change that prevents signals from flowing between the components using previously permitted conductive paths.
[0142] The devices discussed herein (including memory arrays) can be formed on a semiconductor substrate (e.g., silicon, germanium, silicon-germanium alloy, gallium arsenide, gallium nitride, etc.). In some instances, the substrate is a semiconductor wafer. In other instances, the substrate can be a silicon-on-insulator (SOI) substrate, such as silicon-on-glass (SOG) or silicon-on-sapphire (SOP), or an epitaxial layer of semiconductor material on another substrate. The conductivity of the substrate or subregions of the substrate can be controlled by doping with various chemical species including, but not limited to, phosphorus, boron, or arsenic. Doping can be performed during the initial formation or growth of the substrate by ion implantation or any other doping method.
[0143] The switching components or transistors discussed herein may represent field-effect transistors (FETs) and include a three-terminal device comprising a source, drain, and gate. The terminals may be connected to other electronic components via a conductive material (e.g., a metal). The source and drain may be conductive and may include heavily doped (e.g., degenerate) semiconductor regions. The source and drain may be separated by lightly doped semiconductor regions or a channel. If the channel is n-type (i.e., the majority carriers are electrons), then the FET may be called an n-type FET. If the channel is p-type (i.e., the majority carriers are holes), then the FET may be called a p-type FET. The channel may be capped with an insulating gate oxide. The channel conductivity can be controlled by applying a voltage to the gate. For example, applying a positive or negative voltage to an n-type FET or a p-type FET, respectively, can cause the channel to become conductive. When a voltage greater than or equal to the transistor's threshold voltage is applied to the transistor's gate, the transistor may be "on" or "activated." When a voltage less than the transistor's threshold voltage is applied to the transistor's gate, the transistor may be "off" or "deactivated."
[0144] The descriptions set forth herein, taken in conjunction with the accompanying drawings, illustrate exemplary configurations and do not represent all instances that may be implemented or that are within the scope of the claims. The term "exemplary" as used herein means "serving as an example, illustration, or description" and is not "preferred" or "superior to other instances." The detailed descriptions include specific details to provide an understanding of the described techniques. However, these techniques may be practiced without these specific details. In some instances, well-known structures and devices are shown in block diagram form to avoid obscuring the concept of the described instances.
[0145] In the accompanying drawings, similar components or features may have the same reference label. Furthermore, various components of the same type can be distinguished by adding a dash after the reference label and a second label to differentiate similar components. When only the first reference label is used in the specification, the description applies to any of the similar components having the same first reference label, regardless of the second reference label.
[0146] The functions described herein can be implemented in hardware, software executed by a processor, firmware, or any combination thereof. If implemented in software executed by a processor, the functions can be stored as one or more instructions or codes on or transmitted over a computer-readable medium. Other examples and embodiments are within the scope of this disclosure and the appended claims. For example, due to the nature of software, the functions described herein can be implemented using software executed by a processor, hardware, firmware, hardwiring, or any combination thereof. Features implementing the functions can also be physically located in various locations, including portions distributed such that the functions are implemented at different physical locations.
[0147] For example, the various illustrative blocks and modules described herein may be implemented or executed using a general-purpose processor, DSP, ASIC, FPGA or other programmable logic device, discrete gate or transistor logic, discrete hardware components or any combination thereof designed to perform the functions described herein. The general-purpose processor may be a microprocessor, but in alternative examples, the processor may be any processor, controller, microcontroller or state machine. The processor may also be implemented as a combination of computing devices (e.g., a combination of a DSP and a microprocessor, multiple microprocessors, one or more microprocessors incorporating a DSP core, or any other such configuration).
[0148] As used herein (included in the claims), the word "or" as used in a list of items (e.g., a list of items beginning with a phrase such as "at least one of..." or "one or more of...") indicates an inclusive list, such that a list of at least one of, for example, A, B, or C represents A or B or C or AB or AC or BC or ABC (i.e., A and B and C). Furthermore, as used herein, the phrase "based on" should not be construed as a reference to a closed set of conditions. For example, an exemplary step described as "based on condition A" may be based on both condition A and condition B without departing from the scope of this disclosure. In other words, as used herein, the phrase "based on" should be interpreted in the same manner as the phrase "at least partially based on".
[0149] Computer-readable media includes both non-transitory computer storage media and communication media, wherein the communication media includes any media that facilitates the transfer of a computer program from one place to another. Non-transitory storage media can be any available media accessible by a general-purpose or special-purpose computer. By way of example, but not limitation, non-transitory computer-readable media may include RAM, ROM, electrically erasable programmable read-only memory (EEPROM), optical disc (CD) ROM or other optical disc storage devices, magnetic disk storage devices or other magnetic storage devices, or any other non-transitory media that can be used to carry or store desired program code in the form of instructions or data structures and is accessible by a general-purpose or special-purpose computer or a general-purpose or special-purpose processor. Furthermore, any connection is appropriately referred to as computer-readable media. For example, if software is transmitted from a website, server, or other remote source using coaxial cable, fiber optic cable, twisted pair, digital subscriber line (DSL), or wireless technology (e.g., infrared, radio, and microwave), then the definition of media includes coaxial cable, fiber optic cable, twisted pair, digital subscriber line (DSL), or wireless technology (e.g., infrared, radio, and microwave). As used herein, disks and optical discs include CDs, laser discs, optical discs, digital multifunction discs (DVDs), floppy disks, and Blu-ray discs, wherein disks typically reproduce data magnetically, while optical discs reproduce data optically using lasers. Combinations of these are also included within the scope of computer-readable media.
[0150] The description herein is provided to enable those skilled in the art to make or use this disclosure. Various modifications to this disclosure will be apparent to those skilled in the art, and the general principles defined herein can be applied to other variations without departing from the scope of this disclosure. Therefore, this disclosure is not limited to the examples and designs described herein, but should be accorded the widest scope consistent with the principles and novel features disclosed herein.
Claims
1. An apparatus comprising: A memory array configured to store data; and A driver, coupled to the memory array and signal lines, the driver including a first driver of a first type, a second driver of the first type, and a third driver of the first type, wherein the driver is configured to transmit signaling via the signal lines associated with three or more voltages and at least partially based on the data, and wherein the driver is further configured to: At least in part, based on activating the first driver of the first type according to a first thermometer code, the signal line is driven to a first voltage among the three or more voltages, wherein the first driver includes a first number of activated driver elements; At least in part, based on the simultaneous activation of the second driver of the first type according to the second thermometer code and the first driver of the first type, the signal line is driven to the second voltage of the three or more voltages, wherein the second driver includes a second number of activated driver elements; and At least in part, based on the simultaneous activation of the third driver of the first type with the first driver of the first type and the second driver of the first type according to the third thermometer code, the signal line is driven to a third voltage of the three or more voltages, wherein the third driver includes a third number of activated driver elements, and wherein a first difference between the first number and the second number is different from a second difference between the second number and the third number.
2. The device according to claim 1, wherein: In order to drive the signal line to the first voltage, the driver is configured to activate the first driver of the first type, while deactivating the second driver of the first type and the third driver of the first type; and In order to drive the signal line to the second voltage, the driver is configured to activate the first driver of the first type and the second driver of the first type, while deactivating the third driver of the first type.
3. The device according to claim 2, wherein: In order to drive the signal line to the first voltage, the driver is configured to activate the first driver of the second type and deactivate the second driver of the second type. In order to drive the signal line to the second voltage, the driver is configured to activate the second driver of the second type while deactivating the first driver of the second type; and In order to drive the signal line to the third voltage, the driver is configured to activate the first driver of the first type, the second driver of the first type, and the third driver of the first type, while deactivating the first driver of the second type and the second driver of the second type.
4. The device according to claim 3, wherein: In order to drive the signal line to a fourth voltage among the three or more voltages, the driver is configured to activate the first driver of the second type and the second driver of the second type, while deactivating the first driver of the first type, the second driver of the first type and the third driver of the first type.
5. The device of claim 1, further comprising a logic circuit system coupled to the driver and configured to: Receive the first input bit and the second input bit; and At least in part based on the first input bit and the second input bit, a first output signal indicating whether to activate the first driver of the first type, a second output signal indicating whether to activate the second driver of the first type, and a third output signal indicating whether to activate the third driver of the first type are generated.
6. The device of claim 1, wherein the driver further comprises: A set of second-type drivers configured to operate at least in part based on binary code including the most significant bit and the least significant bit, wherein each of the first thermometer code, the second thermometer code, and the third thermometer code corresponds to the binary code.
7. The device according to claim 1, wherein: The first driver of the first type is configured to have a first output impedance when activated; The second driver of the first type is configured to have a second output impedance when activated; and The third driver of the first type is configured to have a third output impedance when activated.
8. The device of claim 7, wherein the first difference between the first output impedance and the second output impedance is different from the second difference between the second output impedance and the third output impedance.
9. The device according to claim 7, wherein: The first output impedance is less than the second output impedance; and The second output impedance is less than the third output impedance.
10. A method comprising: The first logic value indicated by the signal line is identified, at least in part, based on the first data stored in the memory array; The signal line is driven to a first voltage representing the first logic value, at least in part based on the identification of the first logic value, wherein driving the signal line to the first voltage includes activating a first driver of a first type at least in part based on a first thermometer code, and wherein the first driver includes a first number of activated driver elements. The second logic value indicated via the signal line is identified at least in part based on the second data stored in the memory array; The signal line is driven to a second voltage representing the second logic value based at least in part on the identification of the second logic value, wherein driving the signal line to the second voltage includes activating the first driver of the first type and the second driver of the first type based at least in part on the second thermometer code, and wherein the second driver includes a second number of activated driver elements; The third logic value indicated via the signal line is identified at least in part based on the third data stored in the memory array. and The signal line is driven to a third voltage representing the third logic value, at least in part based on the identification of the third logic value, wherein driving the signal line to the third voltage includes activating the first driver of the first type, the second driver of the first type, and the third driver of the first type, at least in part based on a third thermometer code, wherein the third driver includes a third number of activated driver elements, and wherein a first difference between the first number and the second number is different from a second difference between the second number and the third number.
11. The method of claim 10, wherein: Driving the signal line to the first voltage includes activating the first driver of the first type, while deactivating the second driver of the first type and the third driver of the first type; and Driving the signal line to the second voltage includes activating the first driver of the first type and the second driver of the first type, while deactivating the third driver of the first type.
12. The method according to claim 11, wherein: Driving the signal line to the first voltage includes activating the first driver of the second type and the first driver of the first type, while deactivating the second driver of the second type, the second driver of the first type, and the third driver of the first type; Driving the signal line to the second voltage includes activating the second driver of the second type, the first driver of the first type, and the second driver of the first type, while deactivating the first driver of the second type and the third driver of the first type. and Driving the signal line to the third voltage includes activating the first driver of the first type, the second driver of the first type, and the third driver of the first type, while deactivating the first driver of the second type and the second driver of the second type.
13. The method of claim 12, further comprising: The fourth logic value indicated via the signal line is identified at least in part based on the fourth data stored in the memory array; and The signal line is driven to a fourth voltage representing the fourth logic value, at least in part, based on the identification of the fourth logic value, wherein driving the signal line to the fourth voltage includes activating the first driver of the second type and the second driver of the second type, while deactivating the first driver of the first type, the second driver of the first type and the third driver of the first type.
14. The method of claim 11, further comprising: A first thermometer code is generated at least in part based on a first binary code corresponding to the first logic value, wherein the first driver activating the first type is at least in part based on the first thermometer code; A second thermometer code is generated at least in part based on a second binary code corresponding to the second logic value, wherein the activation of the first driver of the first type and the second driver of the first type is at least in part based on the second thermometer code; and A third thermometer code is generated at least in part based on a third binary code corresponding to the third logic value, wherein the activation of the first driver of the first type, the second driver of the first type, and the third driver of the first type is at least in part based on the third thermometer code.
15. The method of claim 14, further comprising: The first driver of the second type is activated at least in part based on the first binary code, while the second driver of the second type is deactivated. The second driver of the second type is activated at least in part based on the second binary code, while the first driver of the second type is deactivated. and Avoid activating the first driver of the second type and the second driver of the second type based at least partially on the third binary code.
16. The method of claim 10, wherein: The first driver of the first type is configured to have a first output impedance when activated; The second driver of the first type is configured to have a second output impedance when activated, the second output impedance differing from the first output impedance by a first amount; and The third driver of the first type is configured to have a third output impedance when activated, the third output impedance being a second amount different from the second output impedance.
17. The method of claim 10, wherein the first voltage, the second voltage, and the third voltage are comprised of a set of three or more voltage levels associated with a pulse amplitude modulation (PAM) scheme.
18. A method comprising: At least in part, the first driver of the first type is operated at a first voltage based on a first thermometer code to activate a first number of driver elements and determine a first strength code for driving signal lines using the first driver of the first type. The second driver of the first type is operated at a second voltage based at least in part on a second thermometer code to activate a second number of driver elements, while being coupled in parallel with the first driver of the first type to determine a second strength code for driving the signal line using the second driver of the first type; and The first type of third driver is operated at a third voltage based at least in part on a third thermometer code to activate a third number of driver elements, while being coupled in parallel with the first type of first driver and the second type of first driver to determine a third strength code for driving the signal line using the third driver of the first type, wherein a first difference between the first number and the second number is different from a second difference between the second number and the third number.
19. The method of claim 18, wherein the first difference between the first strength code and the second strength code is different from the second difference between the second strength code and the third strength code.
20. The method of claim 18, further comprising: The signal line is driven to the first voltage using the first driver of the first type, while the second driver of the first type and the third driver of the first type are deactivated. The signal line is driven to the second voltage using the first driver of the first type and the second driver of the first type, while the third driver of the first type is deactivated. and The signal line is driven to the third voltage using the first driver of the first type, the second driver of the first type, and the third driver of the first type.
Citation Information
Patent Citations
Segmented digital-to-analog converter
CN110663188A
Output buffer circuit and memory device including the same
US20180123593A1