Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
CONTROL SIGNAL TRAINING
Document Type and Number:
WIPO Patent Application WO/2023/244473
Kind Code:
A1
Abstract:
A controller iteratively activates a control signal for one-half a clock cycle while sweeping its phase relationship to the rising edge of the clock. Phase relationships that result in the rising edge of the clock occurring while the control signal is active result in the memory device outputting command/address data on the data bus. Phase relationships that do not result in the rising edge of the clock occurring while the control signal is active do not result in the memory device outputting the command/address data on the data bus. By changing the data on the CA bus between activations of the control signal, the controller can ascertain what phase relationships result in the control signal being successfully sampled. From this information, the controller can select a reliable setting for the phase relationship between the control signal and the clock signal.

Inventors:
INIPODU MURUGAN VINOD (US)
SHELKE ANIRUDHA (US)
Application Number:
PCT/US2023/024658
Publication Date:
December 21, 2023
Filing Date:
June 07, 2023
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
RAMBUS INC (US)
International Classes:
G11C7/22; G11C8/18; G11C11/4063; G11C11/4076; G11C11/413; G11C7/10; G11C11/4193; G11C16/02; G11C16/06; G11C16/32
Foreign References:
US20200381075A12020-12-03
US20200019207A12020-01-16
US20210319818A12021-10-14
US20140195728A12014-07-10
Attorney, Agent or Firm:
NEUDECK, Alexander, J. (US)
Download PDF:
Claims:
CLAIMS

What is claimed is:

1. A controller, comprising: a clock interface to transmit a clock signal having a clock period; a controller command/address interface to transmit, to a memory device command/address interface of a memory device, at least a first data pattern and a second data pattern; a control signal interface to transmit a control signal to the memory device, the control signal having an active state and an inactive state, the active state to be transmitted for a first period of time that is less than the clock period, transitions from the inactive state to the active state to have a phase relationship to the clock signal, the control signal to be sampled by the memory device on a first edge of the clock signal, a sampling of the control signal by the memory device in the active state to cause the memory device to provide a received data pattern, received via the memory device command/address interface to the controller; and control signal training circuitry to adjust the phase relationship to the clock signal through a plurality of phase relationships to, based on received data patterns provided to the controller by the memory device, determine a first phase relationship setting for the transitions from the inactive state to the active state.

2. The controller of claim 1, further comprising: command/address training circuitry to adjust command/address signal phase relationships of a plurality of command/address signals to the clock signal, the command/address signal phase relationships to be adjusted while the controller is using the first phase relationship setting for the control signal.

3. The controller of claim 2, wherein the command/address signal phase relationships are to be adjusted after the first phase relationship setting is determined.

4. The controller of claim 1, wherein the first period of time is substantially one-half the clock period.

5. The controller of claim 1, wherein the first data pattern and the second data pattern are transmitted at least one clock cycle before the control signal transitions from the inactive state to the active state.

6. The controller of claim 1, wherein the memory device is compatible with a GDDR6 standard.

7. The controller of claim 6, wherein the control signal is a CKE signal of the GDDR6 standard.

8. A training method for a memory system, comprising: transmitting, by a controller and to a memory device, a clock signal having a clock signal period; transmitting, by the controller and to a device command/address interface of the memory device and via a controller command/address interface, at least a first data pattern and a second data pattern; transmitting, by the controller and to the memory device, a plurality of activations of a control signal, each activation of the plurality of activations having one of a plurality of phase relationships to the clock signal, the plurality of activations of the control signal to be activated for time periods that are less than the clock signal period, a first subset of the plurality of activations of the control signal causing the memory device to transmit data patterns received via the device command/address interface to the controller, a second subset of the plurality of activations of the control signal not causing the memory device to transmit data patterns; and based on the first subset and the second subset, selecting an operating phase relationship between the clock signal and the control signal.

9. The training method of claim 8, wherein the time periods that are less than the clock signal period are substantially one-half the clock signal period.

10. The training method of claim 8, further comprising: after selecting the operating phase relationship between the clock signal and the control signal, training phase relationships between signals of the controller command/address interface and the clock signal.

11. The training method of claim 8, wherein selecting the operating phase relationship between the clock signal and the control signal further comprises: based on the first subset and the second subset, determining a first phase relationship that substantially centers a transition of the clock signal within time periods that are less than the clock signal period.

12. The training method of claim 8, wherein the first data pattern and the second data pattern are transmitted at least one clock cycle prior to activation of the control signal.

13. The training method of claim 8, wherein the memory device is compatible with a GDDR6 standard.

14. The training method of claim 13, wherein the control signal corresponds to a CKE signal of the GDDR6 standard.

15. A controller, comprising: a clock interface to provide a clock signal to a memory device, the clock signal to have a clock period; a controller command/address interface to provide a plurality of data patterns to a memory device command/address interface of the memory device; a control signal interface to provide a control signal to a memory device control signal interface of the memory device; and the controller to transmit to the memory device a plurality of activations of the control signal, each activation of the plurality of activations having one of a plurality of phase relationships to the clock signal, the plurality of activations of the control signal to be activated for time periods that are less than the clock period, a first subset of the plurality of activations of the control signal to cause the memory device to transmit data patterns received via the memory device command/address interface to the controller, a second subset of the plurality of activation of the control signal to not cause the memory device to transmit data patterns, and based on the first subset and the second subset, the controller to select an operating phase relationship between the clock signal and the control signal.

16. The controller of claim 15, wherein the time periods that are less than the clock period are to be substantially one-half the clock period.

17. The controller of claim 15, wherein the controller is to, after selecting the operating phase relationship between the clock signal and the control signal, train phase relationships between signals of the controller command/address interface and the clock signal.

18. The controller of claim 15, wherein the controller is to, based on the first subset and the second subset, determine a first phase relationship that substantially centers a transition of the clock signal within time periods that are less than the clock period.

19. The controller of claim 15, wherein the data patterns are to be transmitted at least one clock cycle prior to activation of the control signal.

20. The controller of claim 15, wherein the memory device is compatible with a GDDR6 standard and the control signal corresponds to a CKE signal of the GDDR6 standard.

Description:
CONTROL SIGNAL TRAINING

BRIEF DESCRIPTION OF THE DRAWINGS

[0001] Figure l is a block diagram of a memory system.

[0002] Figures 2A-2C are timing diagrams illustrating a training sequence.

[0003] Figure 3 is a flowchart illustrating a training method for a memory system.

[0004] Figure 4 is a flowchart illustrating a method of selecting a timing for a control signal.

[0005] Figure 5 is a flowchart illustrating a method of calibrating a command/address bus.

[0006] Figure 6 is a block diagram of a processing system.

DETAILED DESCRIPTION OF THE EMBODIMENTS

[0007] In an embodiment, a memory controller is operatively coupled to a memory device (e.g., a device that conforms to the Graphics Double Data Rate 6 standard - GDDR6). The memory device may be placed in a training mode whereby, upon the sampling of a control signal (e.g., clock enable — CKE) on the rising edge of a clock (e.g., CK) by the memory device causes the memory device to output, on the data bus (DQ) the signals it just sampled on the command/address (CA) bus. This allows the controller to adjust the timings of the signals on the CA bus for reliable operation.

[0008] In an embodiment, the timing of the control signal is adjusted for reliable operation. In particular, the controller activates the control signal for less than a full clock cycle (e.g., i clock cycle) while sweeping its phase relationship to the rising edge of the clock. Phase relationships that result in the rising edge of the clock occurring while the control signal is active result in the memory device outputting the CA data on the DQ bus. Phase relationships that do not result in the rising edge of the clock occurring while the control signal is active do not result in the memory device outputting the CA data on the DQ bus. Thus, by changing the data on the CA bus between activations of the control signal, the controller can ascertain what phase relationships (i.e., range) result in the control signal being successfully sampled. From this information, the controller can select a reliable setting (e.g., middle of the range) for the phase relationship between the control signal and the clock signal.

[0009] Figure 1 is a block diagram of a memory system. In Figure 1, memory system 100 comprises memory controller 110 and memory device 120. Controller 110 includes training control circuitry and mode circuitry 112. Memory device 120 includes loopback control circuitry 121 and mode circuitry 122. Controller 110 is operatively coupled to memory device 120. In particular, controller 110 is operatively coupled to memory device via a clock signal (CK), a control signal (CNTL), a command address bus (CA), and a data bus (DQ). The CA bus includes N number of signals and the DQ bus includes M number of signals where M>N.

[0010] Controller 110 and memory device 20 are integrated circuit type devices, such as ones commonly referred to as a “chips”. A controller, such as controller 110, manages the flow of data going to and from memory devices, such as memory device 120. For example, a controller may be a northbridge chip, an application specific integrated circuit (ASIC) device, a load-reduction memory buffer, a graphics processor unit (GPU), a system-on-chip (SoC) or an integrated circuit device that includes many circuit blocks such as ones selected from graphics cores, processor cores, and MPEG encoder/decoders, etc.

[0011] Although a single memory device 120 is shown, there may be multiple memory devices or chips disposed on a memory module and coupled to the controller via a connector interface. Memory device 120 can include a dynamic random access memory (DRAM) core or other type of memory cores, for example, static random access memory (SRAM) cores, or non-volatile memory cores such as flash. Controller 110 and memory device 120 may be interconnected with each other in a variety of system topologies including on a PC board (e.g., where the memory is on a module and the controller is socketed to the PC board, or in “die-down” arrangement where one or both of the chips are soldered to the PC board), stacked one on top of another and encapsulated in a single package or each having separate package (package-on-package), both disposed on a shared substrate, on an interposer, or even in a direct-attach arrangement. In addition, although the embodiments presented herein describe controller and one or more memory devices, the instant apparatus and methods may also apply to chip interfaces that effectuate signaling between separate integrated circuit devices.

[0012] The control signal CNTL may be, or correspond to, for example, the clock enable (CKE) signal of the GDDR6 standard. In other examples, the CNTL may be, correspond to, and/or function as, for example, other control signals such as chip select (CS), on-die termination enable (ODT), etc. of the GDDR6 and/or other standards (e.g., DDR5, etc.). In addition, control signal CNTL may have additional or multiple functionalities such as carrying out both the chip select and clock enable functions. [0013] In an embodiment, the signal output by the CK interface of controller 110 and received by the CK interface of memory device 120 is periodic at a stable frequency. Because CK is periodic, CK may be referred to as a clock signal and its period referred to as a clock period. The CNTL signal is output by the CNTL interface of controller 110 and received by the CNTL interface of memory device 120. The CA bus signals are output by the CA interface of controller 110 and received by the CA interface of memory device 120. The DQ bus signals may be output by the DQ interface of controller 110 or the DQ interface of memory device 120 and received by the DQ interface of memory device 120 or the DQ interface of controller 110, respectively (i.e., DQ bus and interfaces are bidirectional).

[0014] In an embodiment, CNTL is sampled by memory device 120 on the rising edge of CK. When in a training mode (e.g., set by mode circuitry 112), when memory device 120 receives CNTL in an inactivated (e.g., logical “0”) state on the rising edge of CK, followed by memory device 120 receiving CNTL in an activated (e.g., logical “1”) state on the next rising edge of CK, memory device 120 samples the CA bus signals memory device 120 is receiving (timed by the rising edge of CK). The sampled CA bus signals are then placed on the DQ bus (e.g., by loopback control circuitry 121 as controlled by mode circuitry 122). Mode circuitry 122 is configured by controller 110 (e.g., by a mode register set command - MRS). Mode circuitry 122 is configured by controller 110 to enable the loopback of the signals on the CA bus to the DQ bus in response to the activated state on CNTL during the rising edge of the CK signal.

In an embodiment, the clock interface of controller 110 transmits a clock signal having a clock period. The CA interface of controller 110 transmits, to the CA interface of memory device 120, at least a first data pattern and a second data pattern. In an embodiment, controller 110 repeatedly transmits and holds the first data pattern, activates the CNTL signal, deactivates the CNTL signal, transmits and holds the second data pattern, activates the CNTL signal, deactivates the CNTL signal, and the goes back to transmitting and holding the first data pattern, and so on. When activating CNTL, the control signal interface of controller 110 repeatedly transmits, to the control signal interface of memory device 120, the active state of CNTL for a first period of time that is less than the full clock period. In an embodiment, the first period of time is substantially one-half the clock period. In an embodiment, the first data pattern and the second data pattern are transmitted at least one clock cycle before the control signal CNTL transitions from the inactive state to the active state.

[0015] The transitions from the inactive state of CNTL to the active state of CNTL have various phase relationships to the rising edge of the clock signal CK. As described herein, CNTL is sampled by memory device 120 on the rising edge of the clock signal CK. Sampling of the control signal CNTL by memory device 120 in the active state causes memory device 120 to provide the received (i.e., sampled) data patterns to controller 110 via the DQ bus. Sampling of the control signal CNTL by memory device 120 in the inactive state causes memory device 120 to not sample and then provide new data patterns to controller 110 via the DQ bus.

[0016] In an embodiment, training control circuitry 111 adjusts the phase relationship between the clock signal CK and the control signal CNTL through a plurality of phase relationships (e.g., sweeps the phase relationship). Training control circuitry 111, based on the received data patterns provided to the controller 110 by memory device 120 via the DQ bus, determines a phase relationship between CNTL and CK setting for the transitions from the inactive state to the active state. In an embodiment, once training control circuitry 111 has set phase relationship between CNTL and CK, training control circuitry may proceed to adjust (i.e., train) the phase relationships of the CA bus signals to the clock signal CK while controller 110 is using the phase relationship it determined for control signal CNTL.

[0017] Figures 2A-2C are timing diagrams illustrating a training sequence. In Figure 2A, the rising edge of CK occurs approximately at the midpoint of the /i clock period CNTL activation pulse. Thus, in Figure 2A, the data patterns (VAL1, VAL2) on the CA bus are correctly captured by memory device 120 and then reflected a short time later on the DQ bus. In Figure 2B, the rising edge of CK occurs after the /i clock period CNTL activation pulse. Thus, in Figure 2B, the data patterns (VAL1, VAL2) on the CA bus are not correctly captured by memory device 120 so that the previous pattern (e.g., VAL0) is remains on the DQ bus. In an embodiment, VAL0 may be one of VAL1 and VAL2. Typically, VAL1 is not equal to VAL2 (or any other additional values transmitted - i.e., VALO#VAL1#VAL2#VAL3A . .) In Figure 2C, the rising edge of CK occurs before the ’A clock period CNTL activation pulse. Thus, in Figure 2C, the data patterns (VAL1, VAL2) on the CA bus are not correctly captured by memory device 120 so that the previous pattern (e.g., VAL0) is remains on the DQ bus. Accordingly, as can be seen from Figures 2A-2C, training control circuitry 111 may sweep the phase relationship of the /i clock period activation pulse with respect to the rising edge of the clock in order to determine the boundaries of the ’A clock cycle CNTL activation pulse with respect to the rising edge of CK. Once the boundaries of the ’A clock CNTL activation cycle pulse are determined with respect the rising edge of the clock, a phase relationship setting for a one (i.e., whole) clock cycle CNTL activation pulse may be determined from those boundaries. This phase relationship may be a phase setting that “centers” the rising edge of CK within the CNTL activation pulse. In an embodiment, where tcK is the clock period, the phase relationship setting (tcenter) between CK and CNTL that “centers” the rising edge of CK within the CNTL activation pulse is tcenter=((tR-tL)/2)-0.25tcK, where tR is the right boundary setting and tL is the left boundary setting. It should be understood that tcK in this formula may not be fixed. In some embodiments, tcK in this “centering” formula may be changed based on other system factors such as the pulse with of the CNTL activation pulse during training.

[0018] Figure 3 is a flowchart illustrating a training method for a memory system. One or more steps illustrated in Figure 3 may be performed by, for example, memory system 100, and/or its components. By a controller and to a memory device, a clock signal having a clock signal period is transmitted (302). For example, controller 110 may transmit a periodic clock signal CK having a clock period to memory device 120.

[0019] By the controller and to a device command/address interface of the memory device and via a controller command/address interface, at least a first data pattern and a second data pattern are transmitted (304). For example, controller 110, via controller 110’s CA bus interface, may transmit and hold the first data pattern (e.g., VAL1), pulse the CNTL signal, transmit and hold the second data pattern (e.g., VAL2), pulse the CNTL signal, and then go back to transmitting and holding the first data pattern (or a third data pattern, etc.), and so on.

[0020] By the controller and to the memory device, a plurality of activations of a control signal are transmitted, each activation of the plurality of activations having one of a plurality of phase relationships to the clock signal, the plurality of activations of the control signal to be activated for time periods that are less than the clock signal period, a first subset of the plurality of activations of the control signal causing the memory device to transmit data patterns received via the device command/address interface to the controller, a second subset of the plurality of activations of the control signal not causing the memory device to transmit data patterns (306). For example, controller 110 may, while driving various data patterns (e.g., VAL1, VAL2, etc.), controller 110 may pulse CNTL active for ’A a clock cycle with various (e.g., swept) timings relative to the rising edge of CK. When a given timing results in the rising edge of CK occurring while CNTL is active, the data patterns (VAL1, VAL2) on the CA bus are correctly captured by memory device 120 and then reflected a short time later on the DQ bus where the data patterns are sampled by controller 110. When a given timing results in the rising edge of CK not occurring while CNTL is active, the data patterns (VAL1, VAL2) on the CA bus are not correctly captured by memory device 120 and then reflected a short time later on the DQ bus and the data patterns that are sampled by controller 110 are not correct (e.g., VAL1 and VAL2).

[0021] Based on the first subset and the second subset, an operating phase relationship between the clock signal and the control signal is selected (308). For example, the first subset (successfully sampling CNTL while it is active) and the second subset (not successfully sampling CNTL while it is active) allow the boundaries (i.e., timings or phase relationships) of the Yi clock cycle CNTL activation pulse with respect to the rising edge of CK to be determined. Once the boundaries of the Yi clock CNTL activation cycle pulse are determined with respect the rising edge of the clock, a phase relationship setting for a one (i.e., whole) clock cycle CNTL activation pulse may be determined from those boundaries. This phase relationship may be a phase setting that “centers” the rising edge of CK within the CNTL activation pulse. In an embodiment, where tcK is the clock period, the phase relationship setting (tcenter) between CK and CNTL that “centers” the rising edge of CK within the CNTL activation pulse is tcenter=((tR-tL)/2)-0.25tCK, where tR is the right boundary setting and tL is the left boundary setting.

[0022] Figure 4 is a flowchart illustrating a method of selecting a timing for a control signal. One or more steps illustrated in Figure 4 may be performed by, for example, memory system 100, and/or its components. A clock signal is provided to a memory device where the clock signal has a clock period (402). For example, controller 110 may transmit a periodic clock signal CK having a clock period to memory device 120.

[0023] A plurality of data patterns are provided to a memory device command/address interface of the memory device (404). For example, controller 110, via memory device 120’s CA bus interface, may transmit and hold the first data pattern (e.g., VAL1), pulse the CNTL signal, transmit and hold the second data pattern (e.g., VAL2), pulse the CNTL signal, and then go back to transmitting and holding the first data pattern (or a third data pattern, etc.), and so on. A control signal is provided to a memory device control signal interface of the memory device (406). For example, controller 110 may provide, to the CNTL signal interface of memory device 120, an inactive CNTL signal.,

[0024] To the memory device, a plurality of activations of the control signal are transmitted where each activation of the plurality of activations has one of a plurality of phase relationships to the clock signal. The plurality of activations of the control signal being activated for time periods that are less than the clock period. A first subset of the plurality of activations of the control signal to cause the memory device to transmit data patterns received via the memory device command/address interface to the controller. A second subset of the plurality of activations of the control signal to not cause the memory device to transmit data patterns (408). For example, controller 110 may, while driving various data patterns (e.g., VAL1, VAL2, etc.), controller 110 may pulse CNTL active for /i a clock cycle with various (e.g., swept) timings relative to the rising edge of CK. When a given timing results in the rising edge of CK occurring while CNTL is active, the data patterns (VAL1, VAL2) on the CA bus are correctly captured by memory device 120 and then reflected a short time later on the DQ bus where the data patterns are sampled by controller 110. When a given timing results in the rising edge of CK not occurring while CNTL is active, the data patterns (VAL1, VAL2) on the CA bus are not correctly captured by memory device 120 and then reflected a short time later on the DQ bus and the data patterns that are sampled by controller 110 are not correct (e.g., VAL1 and VAL2).

[0025] Based on the first subset and the second subset, an operating phase relationship between the clock signal and the control signal is selected (410). For example, the first subset (successfully sampling CNTL while it is active) and the second subset (not successfully sampling CNTL while it is active) allow the boundaries (i.e., timings or phase relationships) of the /i clock cycle CNTL activation pulse with respect to the rising edge of CK to be determined. Once the boundaries of the ’A clock CNTL activation cycle pulse are determined with respect the rising edge of the clock, a phase relationship setting for a one (i.e., whole) clock cycle CNTL activation pulse may be determined from those boundaries. This phase relationship may be a phase setting that “centers” the rising edge of CK within the CNTL activation pulse. In an embodiment, where tcK is the clock period, the phase relationship setting (tcenter) between CK and CNTL that “centers” the rising edge of CK within the CNTL activation pulse is tcenter=((tR-tL)/2)-0.25tCK, where tR is the right boundary setting and tL is the left boundary setting.

[0026] Figure 5 is a flowchart illustrating a method of calibrating a command/address bus. One or more steps illustrated in Figure 5 may be performed by, for example, memory system 100, and/or its components. A clock signal having a clock period is provided to a memory device (502). For example, controller 110 may transmit a periodic clock signal CK having a clock period to memory device 120. The memory device is placed in command/address training mode (504). For example, mode circuitry 122 may be configured by controller 110 (e.g., by a mode register set command - MRS). Mode circuitry 122 may be configured by controller 110 to enable the loopback of the signals on the CA bus to the DQ bus in response to the activated state on CNTL during the rising edge of the CK signal. [0027] An initial phase relationship is selected as the current phase relationship between the clock signal and the control signal (506). For example, training control circuitry 111 may select an initial phase relationship between CNTL and CK. This initial phase relationship may be, for example, a phase relationship that is known to be too early (or too late) to have the activation pulse on CNTL captured by memory device 120.

[0028] A first data pattern is continuously transmitted on the CA bus (508). For example, controller 110, via controller 110’s CA bus interface, may transmit and hold a first data pattern (e.g., VAL1). The active state of the control signal is transmitted for ’A a clock period at the current phase relationship to the clock signal (510). For example, controller 110 may pulse CNTL active for ’A a clock cycle at the currently selected phase relationship to CK. The DQ bus is monitored for the first data pattern (512). For example, when a given phase relationship results in the rising edge of CK occurring while CNTL is active, the first data patterns (VAL1) on the CA bus is correctly captured by memory device 120 and then reflected a short time later on the DQ bus where the data patterns are sampled by controller 110. When a given timing results in the rising edge of CK not occurring while CNTL is active, the first data patterns (VAL1) on the CA bus is not correctly captured by memory device 120 and then reflected a short time later on the DQ bus.

[0029] A second data pattern is continuously transmitted on the CA bus (514). For example, controller 110, via controller 110’s CA bus interface, may transmit and hold a second data pattern (e.g., VAL2). The active state of the control signal is transmitted for ’A a clock period at the current phase relationship to the clock signal (516). For example, controller 110 may pulse CNTL active for ’A a clock cycle at the currently selected phase relationship to CK. The DQ bus is monitored for the second data pattern (518). For example, when a given phase relationship results in the rising edge of CK occurring while CNTL is active, the second data patterns (VAL2) on the CA bus is correctly captured by memory device 120 and then reflected a short time later on the DQ bus where the data patterns are sampled by controller 110. When a given timing results in the rising edge of CK not occurring while CNTL is active, the second data patterns (VAL2) on the CA bus is not correctly captured by memory device 120 and then reflected a short time later on the DQ bus. [0030] It is determined whether the phase relationship search is complete (520). If the phase relationship search is complete, flow proceeds to box 524. If the phase relationship is not complete, flow proceeds to box 522. For example, if all of the phase relationship settings over a selected range of phase relationship settings have been tried, and/or if the boundaries (i.e., timings or phase relationships) of the ’A clock cycle CNTL activation pulse with respect to the rising edge of CK have been determined, training control circuitry 111 may conclude that the phase relationship search is complete.

[0031] If the phase relationship search is complete, an operating phase relationship is determined (524). For example, once the boundaries of the Yi clock CNTL activation cycle pulse are determined with respect the rising edge of the clock, a phase relationship setting for a one (i.e., whole) clock cycle CNTL activation pulse may be determined from those boundaries. This phase relationship may be a phase setting that “centers” the rising edge of CK within the CNTL activation pulse. In an embodiment, where tcK is the clock period, the phase relationship setting (tcemer) between CK and CNTL that “centers” the rising edge of CK within the CNTL activation pulse is tcenter=((tR-tL)/2)-0.25tCK, where tR is the right boundary setting and tL is the left boundary setting. After determining an operating phase relationship, CA bus training may be performed while using the operating phase relationship (526). For example, controller 110 may perform CA bus training while activating the CNTL signal at the phase relationship that “centers” the rising edge of CK within the CNTL activation pulse.

[0032] If the phase relationship search is not complete, another phase relationship is selected as the current phase relationship between the clock signal and the control signal (522). For example, another step (e.g., increment or decrement) of the phase settings may be selected as the current phase settings. Flow then proceeds to box 508.

[0033] The methods, systems and devices described above may be implemented in computer systems, or stored by computer systems. The methods described above may also be stored on a non-transitory computer readable medium. Devices, circuits, and systems described herein may be implemented using computer-aided design tools available in the art, and embodied by computer-readable files containing software descriptions of such circuits. This includes, but is not limited to one or more elements of memory system 100 and its components. These software descriptions may be: behavioral, register transfer, logic component, transistor, and layout geometry -level descriptions. Moreover, the software descriptions may be stored on storage media or communicated by carrier waves.

[0034] Data formats in which such descriptions may be implemented include, but are not limited to: formats supporting behavioral languages like C, formats supporting register transfer level (RTL) languages like Verilog and VHDL, formats supporting geometry description languages (such as GDSII, GDSIII, GDSIV, CIF, and MEBES), and other suitable formats and languages. Moreover, data transfers of such files on machine-readable media may be done electronically over the diverse media on the Internet or, for example, via email. Note that physical files may be implemented on machine-readable media such as: 4 mm magnetic tape, 8 mm magnetic tape, 3-1/2 inch floppy media, CDs, DVDs, and so on. [0035] Figure 6 is a block diagram illustrating one embodiment of a processing system 600 for including, processing, or generating, a representation of a circuit component 620. Processing system 600 includes one or more processors 602, a memory 604, and one or more communications devices 606. Processors 602, memory 604, and communications devices 606 communicate using any suitable type, number, and/or configuration of wired and/or wireless connections 608.

[0036] Processors 602 execute instructions of one or more processes 612 stored in a memory 604 to process and/or generate circuit component 620 responsive to user inputs 614 and parameters 616. Processes 612 may be any suitable electronic design automation (EDA) tool or portion thereof used to design, simulate, analyze, and/or verify electronic circuitry and/or generate photomasks for electronic circuitry. Representation 620 includes data that describes all or portions of memory system 100 its components, as shown in the Figures.

[0037] Representation 620 may include one or more of behavioral, register transfer, logic component, transistor, and layout geometry-level descriptions. Moreover, representation 620 may be stored on storage media or communicated by carrier waves.

[0038] Data formats in which representation 620 may be implemented include, but are not limited to: formats supporting behavioral languages like C, formats supporting register transfer level (RTL) languages like Verilog and VHDL, formats supporting geometry description languages (such as GDSII, GDSIII, GDSIV, CIF, and MEBES), and other suitable formats and languages. Moreover, data transfers of such files on machine-readable media may be done electronically over the diverse media on the Internet or, for example, via email

[0039] User inputs 614 may comprise input parameters from a keyboard, mouse, voice recognition interface, microphone and speakers, graphical display, touch screen, or other type of user interface device. This user interface may be distributed among multiple interface devices. Parameters 616 may include specifications and/or characteristics that are input to help define representation 620. For example, parameters 616 may include information that defines device types (e.g., NFET, PFET, etc.), topology (e.g., block diagrams, circuit descriptions, schematics, etc.), and/or device descriptions (e.g., device properties, device dimensions, power supply voltages, simulation temperatures, simulation models, etc.). [0040] Memory 604 includes any suitable type, number, and/or configuration of non- transitory computer-readable storage media that stores processes 612, user inputs 614, parameters 616, and circuit component 620.

[0041] Communications devices 606 include any suitable type, number, and/or configuration of wired and/or wireless devices that transmit information from processing system 600 to another processing or storage system (not shown) and/or receive information from another processing or storage system (not shown). For example, communications devices 606 may transmit circuit component 620 to another system. Communications devices 606 may receive processes 612, user inputs 614, parameters 616, and/or circuit component 620 and cause processes 612, user inputs 614, parameters 616, and/or circuit component 620 to be stored in memory 604.

[0042] Implementations discussed herein include, but are not limited to, the following examples:

[0043] Example 1: A controller, comprising: a clock interface to transmit a clock signal having a clock period; a controller command/address interface to transmit, to a memory device command/address interface of a memory device, at least a first data pattern and a second data pattern; a control signal interface to transmit a control signal to the memory device, the control signal having an active state and an inactive state, the active state to be transmitted for a first period of time that is less than the clock period, transitions from the inactive state to the active state to have a phase relationship to the clock signal, the control signal to be sampled by the memory device on a first edge of the clock signal, a sampling of the control signal by the memory device in the active state to cause the memory device to provide a received data pattern, received via the memory device command/address interface to the controller; and control signal training circuitry to adjust the phase relationship to the clock signal through a plurality of phase relationships to, based on received data patterns provided to the controller by the memory device, determine a first phase relationship setting for the transitions from the inactive state to the active state.

[0044] Example 2: The controller of example 1, further comprising: command/address training circuitry to adjust command/address signal phase relationships of a plurality of command/address signals to the clock signal, the command/address signal phase relationships to be adjusted while the controller is using the first phase relationship setting for the control signal.

[0045] Example 3: The controller of example 2, wherein the command/address signal phase relationships are to be adjusted after the first phase relationship setting is determined. [0046] Example 4: The controller of example 1, wherein the first period of time is substantially one-half the clock period.

[0047] Example 5: The controller of example 1, wherein the first data pattern and the second data pattern are transmitted at least one clock cycle before the control signal transitions from the inactive state to the active state.

[0048] Example 6: The controller of example 1, wherein the memory device is compatible with a GDDR6 standard.

[0049] Example 7: The controller of example 6, wherein the control signal is a CKE signal of the GDDR6 standard.

[0050] Example 8: A training method for a memory system, comprising: transmitting, by a controller and to a memory device, a clock signal having a clock signal period; transmitting, by the controller and to a device command/ad dress interface of the memory device and via a controller command/address interface, at least a first data pattern and a second data pattern; transmitting, by the controller and to the memory device, a plurality of activations of a control signal, each activation of the plurality of activations having one of a plurality of phase relationships to the clock signal, the plurality of activations of the control signal to be activated for time periods that are less than the clock signal period, a first subset of the plurality of activations of the control signal causing the memory device to transmit data patterns received via the device command/address interface to the controller, a second subset of the plurality of activations of the control signal not causing the memory device to transmit data patterns; and based on the first subset and the second subset, selecting an operating phase relationship between the clock signal and the control signal.

[0051] Example 9: The training method of example 8, wherein the time periods that are less than the clock signal period are substantially one-half the clock signal period.

[0052] Example 10: The training method of example 8, further comprising: after selecting the operating phase relationship between the clock signal and the control signal, training phase relationships between signals of the controller command/address interface and the clock signal.

[0053] Example 11 : The training method of example 8, wherein selecting the operating phase relationship between the clock signal and the control signal further comprises: based on the first subset and the second subset, determining a first phase relationship that substantially centers a transition of the clock signal within time periods that are less than the clock signal period. [0054] Example 12: The training method of example 8, wherein the first data pattern and the second data pattern are transmitted at least one clock cycle prior to activation of the control signal.

[0055] Example 13: The training method of example 8, wherein the memory device is compatible with a GDDR6 standard.

[0056] Example 14: The training method of example 13, wherein the control signal corresponds to a CKE signal of the GDDR6 standard.

[0057] Example 15: A controller, comprising: a clock interface to provide a clock signal to a memory device, the clock signal to have a clock period; a controller command/address interface to provide a plurality of data patterns to a memory device command/address interface of the memory device; a control signal interface to provide a control signal to a memory device control signal interface of the memory device; and the controller to transmit to the memory device a plurality of activations of the control signal, each activation of the plurality of activations having one of a plurality of phase relationships to the clock signal, the plurality of activations of the control signal to be activated for time periods that are less than the clock period, a first subset of the plurality of activations of the control signal to cause the memory device to transmit data patterns received via the memory device command/address interface to the controller, a second subset of the plurality of activation of the control signal to not cause the memory device to transmit data patterns, and based on the first subset and the second subset, the controller to select an operating phase relationship between the clock signal and the control signal.

[0058] Example 16: The controller of example 15, wherein the time periods that are less than the clock period are to be substantially one-half the clock period.

[0059] Example 17: The controller of example 15, wherein the controller is to, after selecting the operating phase relationship between the clock signal and the control signal, train phase relationships between signals of the controller command/address interface and the clock signal.

[0060] Example 18: The controller of example 15, wherein the controller is to, based on the first subset and the second subset, determine a first phase relationship that substantially centers a transition of the clock signal within time periods that are less than the clock period. [0061] Example 19: The controller of example 15, wherein the data patterns are to be transmitted at least one clock cycle prior to activation of the control signal. [0062] Example 20: The controller of example 15, wherein the memory device is compatible with a GDDR6 standard and the control signal corresponds to a CKE signal of the GDDR6 standard.

[0063] The foregoing description of the invention has been presented for purposes of illustration and description. It is not intended to be exhaustive or to limit the invention to the precise form disclosed, and other modifications and variations may be possible in light of the above teachings. The embodiment was chosen and described in order to best explain the principles of the invention and its practical application to thereby enable others skilled in the art to best utilize the invention in various embodiments and various modifications as are suited to the particular use contemplated. It is intended that the appended claims be construed to include other alternative embodiments of the invention except insofar as limited by the prior art.