CompactFlash express (CFX) adapters

In some examples, an adapter includes a COMPACTFLASH EXPRESS (CFX) connector interface to connect to a CFX connector of a computer, and a device connector interface to connect to any of a plurality of different devices comprising different types of interfaces. The device connector interface includes an indicator settable to any of a plurality of different states to represent a respective type of the different types of interfaces when a device is connected to the adapter, and the CFX connector interface comprising an indicator connected to the indicator of the device connector interface.

BACKGROUND

A computer includes connectors to connect to various external devices. A connector can be in the form of a receptacle, a port, a socket, a plug, or any other structure useable to form an electrical and/or optical connection with another device. Various different connectors can be according to different standards.

DETAILED DESCRIPTION

A computer can refer to any of various different electronic devices, including, as examples, a desktop computer, a notebook computer, a tablet computer, a server computer, a smartphone, a game appliance, a storage device, a communication device, an Internet-of-Things (IoT) device, a vehicle, a wearable device (e.g., a smart watch, smart eyeglasses, a head-mounted device, etc.), and so forth.

There can be a large number of different types of devices that have different types of connection interfaces. It can be expensive or impractical to include a large number of different types of connectors on a computer to connect to the different types of devices.

In some examples, a computer can include a COMPACTFLASH EXPRESS (CFX) connector that is according to the CFX standard proposed by the CompactFlash Association. As used herein, the term “CFX” stands for CFexpress. The CFX standard is defined for removable media cards that can be removably connected to computers and that use the Non-Volatile Memory Express (NVMe) protocol with specific CFX extensions.

In accordance with some implementations of the present disclosure, an adapter is provided to allow any of various different types of devices with various different types of connector interfaces to connect to a CFX connector of a computer. By using the adapter according to some implementations, the CFX connector of the computer can be used to connect to any of different devices that have interfaces according to different standards, including devices that use the NVMe protocol as well as other protocols (discussed further below). The adapter according to some examples can support any of multiple versions of CFX.

FIG. 1is a block diagram of an example arrangement that includes a computer102that has a CFX connector104. As used here, a “connector” can refer to a receptacle, a port, a socket, a plug, or any other structure useable to form an electrical and/or optical connection with another device. The CFX connector104is designed to connect to a device that has a connector interface that is configured according to the CFX standard.

FIG. 1further shows an external device106that has a connector108(referred to as an “external device connector108”) that is configured according to a connection standard different from the CFX standard. For example, the external device connector108can be according to a Serial Advanced Technology Attachment (SATA) standard, a PERIPHERAL COMPONENT INTERCONNECT EXPRESS (PCE-e) standard, or a different connector standard. The SATA standard defines a way to connect a storage device to a computer. The PCI-e standard defines a high-speed serial computer expansion bus, which allows for a PCI-e bus of a computer to connect to any of various different types of devices that can operate according to the PCI-e standard, including storage devices or other devices.

Although reference is made to the SATA standard and the PCI-e standard in some examples discussed herein, it is noted that in other examples, the external device connector108can operate according to a different connection standard.

In some examples, the external device106is a storage device, such as a disk-based drive (e.g., a magnetic disk drive or an optical disk driver), a solid state memory device, and so forth. More generally, the external device106can refer to any type of electronic device that can perform a corresponding functionality. Examples of the external device106can include a network interface controller (to perform communications over a network), a graphics controller (to perform image processing tasks), a wireless interface controller (to perform wireless communications), and so forth.

To allow the external device106, which is without a CFX connector interface, to connect to the CFX connector104of the computer102, an adapter110is provided. The adapter110has a CFX connector interface112to connect to the CFX connector104of the computer102. The adapter110further includes a device connector interface114to connect to the external device connector108. In some examples, the device connector interface114is able to connect to any of multiple different connector interfaces (that are configured to according to respective different standards) of corresponding external devices. For examples, the device connector interface of the adapter110is able to connect to either an SATA connector interface of an external device, or a PCI-e connector interface of an external device.

In a more specific example, the external device connector108may conform to the M.2 Specification (formerly referred to as the Next Generation Form Factor (NGFF) Specification). M.2 defines a physical specification and pin layout of an expansion card used in a computer. Connector interfaces that can be provided with the M.2 connector include the PCI-e connector interface, a SATA connector interface, or a Universal Serial Bus (USB) interface, as examples. In such examples, the adapter110is a CFX-to-M.2 adapter.

The device connector interface114of the adapter110includes a device type indicator116, and the CFX connector interface112includes a device type indicator118. As depicted inFIG. 1, the device type indicator116is connected over a link120to the device type indicator118. The link120can be in the form of an electrical conductor (or a group of electrical conductors) or an optical path. An electrical conductor can include a wire, a conductive trace in a circuit board, and so forth. An optical path can include an optical fiber, an optical waveguide, and so forth.

As used here, an “indicator” of a connector interface can refer to a pin or a group of pins of the connector interface. A “pin” can refer to an electrical conductive structure or an optical ferrule.

In some example, the adapter110can be in the form of a circuit board on which the connector interfaces112and114are formed. The link120can be formed within a layer (or multiple layers) of the circuit board, or can be formed on the circuit board. It is noted that there are other links (not shown) to connect other pins of the connector interfaces112and114with one another.

The computer102includes a controller122and a processor124. The processor124can include a main processor of the computer102. The controller122can control various functions of the computer102, including input/output (I/O) control to control interactions with peripheral devices, such as the external device106connected through the CFX connector104. Although not shown, the computer102can also include a memory, a persistent storage device, and other components. In some examples, the controller122can be implemented as a Platform Controller Hub (PCH), which is a chipset provided by Intel. In other examples, the controller122can be implemented as a chipset from a different vendor.

The device type indicator116of the device connector interface114is settable to one of a plurality of different states depending upon the type of external device106connected in the adapter110. If the external device106includes a first type of connector108configured according to a first standard, then the device type indicator116is set to a first state, which causes the device type indicator118of the CFX connector interface112to also be set to the first state. The device type indicator118of the CFX connector interface112produces a DEVICE TYPE signal126(having a state corresponding to the first state) that is input to the controller122, which indicates that the external device106includes the first type of connector108configured according to the first standard (e.g., the SATA standard).

If the external device106is a second type of external device that includes a second type of connector108configured according to a second standard, then the device type indicator116is sent to a second state different from the first state, which causes the device type indicator118to also be set to the second state, and the DEVICE TYPE signal126to be set to a state corresponding to the second state, which indicates that the external device106includes the second type of connector108configured according to the second standard (e.g., the PCI-e standard).

In examples where the device type indicators116and118are each implemented as a single pin, the first state can be a logical low value or a logical high value, and the second state can be a logical high value or a logical low value, respectively. In other examples, if the device type indicators116and118are each implemented with multiple pins, then the first state and second state can include respective different values of the multiple pins.

In some examples, a first type of external device106can drive the device type indicator116to a low state or a high state. A second type of the external device106can leave the device type indicator116floating, which allows a pull-up or pull-down circuit (not shown inFIG. 1) to set the device type indicator116to a high state or low state.

In some examples, the device connector interface114of the adapter110includes a device insertion indicator128, which is coupled over a link130of the adapter110to a corresponding device insertion indicator132of the CFX connector interface112of the adapter110. The device insertion indicator128is set to a specified state if the external device106is connected to the adapter110. The specified state can be a low state or a high state, for example. More generally, the specified state can be a specified value.

In other examples, instead of using a separate device insertion indicator128, a device insertion indicator can be included as part of the device type indicator116such that if no external device is inserted the device type indicator116is set to a no device present state.

When the device insertion indicator128is set to the specified state in response to connection of the external device106to the adapter110, the device insertion indicator132of the CFX connector interface112is set to the specified state, which drives a DEVICE INSERTION signal134to an active state to the controller122. The active state (active low state or active high state) of the DEVICE INSERTION signal134indicates to the controller122that a device is connected into the CFX connector104.

If no device is connected to the adapter110, or the adapter110with the external device106is not connected in the CFX connector104, then the device insertion indicators128and132are set to a state different from the specified state. In response, the DEVICE INSERTION signal134is driven to an inactive state, which indicates to the controller122that no device is connected to the CFX connector104.

In some examples, the controller122includes a flexible input/output (I/O) to selectively operate with the different types of connectors (e.g., SATA and PCI-e connectors) of different types of devices. If the controller122is connected to the external device106with a SATA connector, then the controller122can interact according to the SATA standard with the external device106. On the other hand, if the controller122is connected to the external device106with a PCI-e connector, then the controller122can interact according to the PCI-e standard with the external device106.

FIG. 2is a block diagram showing some specific pins of the CFX connector104according to some examples. Although a specific arrangement of pins of the CFX connector104is shown inFIG. 2, it is noted that in other examples, the CFX connector104can include a different arrangement of pins. More generally, the pins of the CFX connector104are defined by the corresponding CFX standard.

In the example ofFIG. 2, the external device106is received into a bay of the adapter110, such that a portion202of the external device106protrudes from an end200of the adapter110. A “bay” can refer to any structure that is able to receive the external device106.

In some examples, the external device connector108is an M.2 connector. In other examples, the external device connector108can be a different type of connector.

InFIG. 2, some of the pins of the external device connector108are shown. A ground (GND) pin204of the external device connector108is connected to a corresponding GND pin206of the device connector interface114of the adapter110. Similarly, a GND pin208of the external device connector108is connected to a corresponding GND pin210of the device connector interface114. Although not shown explicitly inFIG. 2, the GND pins206and210of the device connector interface114are connected over links to corresponding GND pins of the CFX connector104through corresponding pins of the CFX connector interface112.

A GND pin212of the external device connector108is connected to an INS #pin214of the device connector interface114. The INS #pin214is connected over a link216to a corresponding INS #pin218of the CFX connector104through a corresponding pin of the CFX connector interface112. When the external device106is inserted into the adapter110and connected to the device connector interface114, the GND pin212of the external device connector108drives the INS #pins214and218to an active low state, which in turn drives the DEVICE INSERTION signal134(FIG. 1) to an active low state that is detected by the controller122of the computer102. The active low state of the DEVICE INSERTION signal134provides an indication to the controller122that the external device106has been connected to the CFX connector104(through the adapter110).

In alternative examples, if the DEVICE INSERTION signal134is an active high signal, then the INS #pin214of the adapter's device connector interface114can be connected to a power supply pin (e.g., +3.3V) of the external device connector108. More generally, the INS #pin214is connected to a specified voltage (zero volts or greater or less than zero volts) of the external device106.

As further depicted inFIG. 2, a PEDET pin220of the external device connector108is connected to a corresponding PEDET pin222of the adapter's device connector interface114. The PEDET pin222is in turn connected over a link224to a reserved pin236of the CFX connector104(through a corresponding pin of the adapter's CFX connector interface112). As used here, a “reserved” pin refers to a pin that is not currently defined for any specific use by the CFX standard, but is reserved for future use.

The link224can be connected to a pull-up circuit228(e.g., including a pull-up resistor or resistors), to pull the PEDET pin222and the reserved pin236to a high state if the connected external device106does not drive the PEDET pin220to a specific state (in other words, the external device106leaves the PEDET pin220floating). However, if the external device106drives the PEDET pin220to a specified state (e.g., a low state), then the PEDET pin222and the reserved pin236are driven to the low state.

In other examples, instead of using the pull-up circuit228, a pull-down circuit can instead be used to pull the PEDET pin222and the reserved pin236to a low state if the connected external device106leaves the PEDET pin220floating.

The reserved pin236of the CFX connector104drives the DEVICE TYPE signal126(FIG. 1), to provide an indication to the controller122of the type of the external device106connected to the adapter110.

InFIG. 2, a power supply (+3.3V) pin230of the external device connector108is connected to a +3.3V pin232of the adapter's device connector interface114. The +3.3V pin232is connected over a link234to a reserved pin226of the CFX connector104(through a corresponding pin of the adapter's CFX connector interface112).

In addition, a +3.3V pin238of the external device connector108is connected to a corresponding +3.3V pin240of the adapter's device connector interface114. Although not shown, the +3.3V pin240is connected over a link to a corresponding +3.3V pin of the CFX connector104(through a corresponding pin of the adapter's CFX connector interface112).

By using the reserved pin226of the CFX connector104to connect to a power supply pin of the external device connector108, additional power can be supplied by the computer102to the external device106. In implementations where the external device106consumes more power than can be supplied by a single +3.3V pin of the CFX connector104, the use of the reserved pin226to supply additional power can satisfy the power consumption of the external device106.

The other pins of the CFX connector104include reset pins, clock pins, and so forth, which can be connected to corresponding pins of the external device connector108through the adapter110.

The CFX standard provides for staggered mating of pins, where the GND pins mate first before the other pins when the adapter110(with the external device106) connected, is inserted into the CFX connector106. The INS #pin218of the CFX connector104is used for detecting the insertion of the adapter110and external device106. The reserved pin236of the CFX connector106is used to distinguish between different types of devices that operate according to different connector standards.

In some examples, the adapter110and the external device106are hot pluggable (hot insertable or hot removable) with respect to the CFX connector104. Hot plugging a device refers to connecting the device to the computer102while power remains active in the computer102. Once the adapter110and the external device106are hot inserted into the CFX connector104, the controller122can detect the type of the external device106and can configure the external device106appropriately for operation with the computer102. Similarly, if the adapter110and the external device106are hot removed from the CFX connector104, the controller122can detect the removal and adjust a configuration of the computer102accordingly.

FIG. 3is a block diagram of an adapter300according to some examples. The adapter300includes a CFX connector interface302(similar to112inFIG. 1) to connect to a CFX connector (e.g.,104ofFIG. 1) of a computer. The adapter300further includes a device connector interface304(similar to114inFIG. 1) to connect to any of a plurality of different devices including different types of interfaces. The device connector interface304includes an indicator308settable to any of a plurality of different states to represent a respective type of the different types of interfaces when a device is connected to the adapter300. The CFX connector interface302includes an indicator306connected to the indicator308of the device connector interface304.

FIG. 4is a block diagram of a computer400that includes a CFX connector402to connect to a CFX connector interface of an adapter including a device connector interface to connect to any of a plurality of different devices including different types of interfaces. The device connector interface includes an indicator settable to any of a plurality of different states to represent a respective type of the different types of interfaces when a device is connected to the adapter, and the CFX connector interface includes an indicator connected to the indicator of the device connector interface. The computer400further includes a controller404to perform a device type detecting task406, which detects, based on a state of the indicator of the CFX connector interface, the respective type of interface of the device connected to the adapter.

FIG. 5is a flow diagram of a process according to some examples. The process includes arranging (at502) a CFX connector interface and a device connector interface on an adapter, the CFX connecter interface to connect to a CFX connector of a computer, and the device connector interface to connect to any of a plurality of different devices including different types of interfaces.

The process further includes connecting (at504), by the adapter, an indicator of the device connector interface to a corresponding indicator of the CFX connector interface, the indicator of the device connector interface settable to any of a plurality of different states to represent a respective type of the different types of interfaces when a device is connected to the adapter.