The descriptions are generally related to memory, and more particularly, to techniques to generate program current pulses for nonvolatile memory, such as cross-point memory.
Memory resources have innumerable applications in electronic devices and other computing environments. There is demand for memory technologies that can scale smaller than traditional memory devices. However, continued drive to smaller and more energy efficient devices has resulted in scaling issues with traditional memory devices. Three-dimensional memory devices emerged as a solution to the scaling limitations of traditional memory devices.
The following description includes discussion of figures having illustrations given by way of example of implementations of embodiments of the invention. The drawings should be understood by way of example, and not by way of limitation. As used herein, references to one or more “embodiments” are to be understood as describing at least one implementation of the invention that includes one or more particular features, structures, or characteristics. Thus, phrases such as “in one embodiment” or “in an alternate embodiment” appearing herein describe various embodiments and implementations of the invention, and do not necessarily all refer to the same embodiment. However, they are also not necessarily mutually exclusive.
Descriptions of certain details and implementations follow, including a description of the figures, which may depict some or all of the embodiments described below, as well as discussing other potential embodiments or implementations of the inventive concepts presented herein.
Techniques for generating program current pulses for non-volatile memory are described herein.
Programming operations for cross-point memory cells typically include “set” and “reset” operations. In one example, set and reset operations cause a memory cell to transition between one of multiple stable states. For example, a set operation for a phase change memory cell can be defined as causing the phase change material to transition from an amorphous state to a crystalline state. In one such example, a reset operation can be defined as causing a transition from a crystalline to an amorphous state. Other examples may define set and reset operations differently (e.g., a set operation can be defined as causing a transition from an amorphous to a crystalline state).
Set and reset operations typically involve the generation and application of current pulses to the memory cells. The current pulses to perform set and reset operations are controlled for amplitude of current and time or the width of the pulses. Typically, a current pulse to perform a reset operation is relatively narrow and has a high amplitude. In contrast, a current pulse to perform a set operation is wider and has a lower amplitude. Resetting a memory cell including a chalcogenide phase change material typically requires a large current to melt the material. Conventional cross-point memory devices perform set and reset operations with dedicated current mirror circuits to generate current pulses with the desired current amplitude. The current mirror circuits may be sufficient to generate a wide, low amplitude current pulse to perform a set operation. However, current mirror circuits are often unable to produce a sufficiently narrow and high amplitude current pulse to reset a memory cell. There is typically significant resistance and parasitic capacitance in the path from the current mirrors to the memory cells that limit the edge rate that can be achieved with a current mirror.
In contrast to conventional memory circuit architecture, after selection of a memory cell is achieved, a program current pulse can be generated and adjusted by controlling the gate voltage of a selection transistor without a program (e.g., set or reset) current mirror circuit. By controlling the gate voltage of a word line or bit line selection transistor, the voltage at the word line or bit line can be quickly changed due to charge sharing between capacitance at the source and drain terminals of the transistor. The change in the wordline or bitline voltage will increase the bias across the cell. The quick change in voltage causes the current through the memory cell to increase, causing the rising edge of the programming pulse. The current path through the memory cell can then be disabled, causing the falling edge of the programming pulse. By generating the programming pulse with the selection transistor and inherent capacitances near the memory cell, a much narrower pulse with faster rise and fall times can be generated than by dedicated circuitry further from the memory cell. Additionally, generating programming pulses without dedicated current mirrors enables reduction of the die size. Although the examples in this disclosure refer primarily to reset current pulses, the techniques described herein can also be used to generate and control any programming current pulses, including set current pulses, setback current pulses (e.g., in a read operation to mitigate the disturb effect of snapback discharge), or other program current pulses.
The storage material can include one or more of: tellurium (Te), selenium (Se), germanium (Ge), antimony (Sb), bismuth (Bi), lead (Pb), tin (Sn), indium (In), silver (Ag), arsenic (As), sulfur (S), phosphorus (P), molybdenum (Mo), gallium (Ga), aluminum (Al), oxygen (O), nitrogen (N), chromium (Cr), gold (Au), niobium (Nb), palladium (Pd), cobalt (Co), vanadium (V), nickel (Ni), platinum (Pt), titanium (Ti), tungsten (W), tantalum (Ta) or other materials. For example, the storage material may include one or more chalcogenide materials such as such as Te—Se, Ge—Te, In—Se, Sb—Te, Ge—Sb, Ta—Sb—Te, Ga—Sb, In—Sb, As—Te, As—Se, Al—Te, As—Se—Te, Ge—Sb—Te, Ge—As—Se, Te—Ge—As, V—Sb—Se, Nb—Sb—Se, In—Sb—Te, In—Se—Te, Te—Sn—Se, V—Sb—Te, Se—Te—Sn, Ge—Se—Ga, Mo—Sb—Se, Cr—Sb—Se, Ta—Sb—Se, Bi—Se—Sb, Mo—Sb—Te, Ge—Bi—Te, W—Sb—Se, Ga—Se—Te, Ge—Te—Se, Cr—Sb—Te, Sn—Sb—Te, W—Sb—Te, Sn—Sb—Bi, In—Sb—Ge, As—Sb—Te, Ge—Te—Ti, Te—Ge—Sb—S, Te—Ge—Sn—O, Te—Ge—Sn—Au, Pd—Te—Ge—Sn, In—Se—Ti—Co, Ge—Sb—Te—Pd, Ge—Sb—Te—Co, Sb—Te—Bi—Se, Ag—In—Sb—Te, Ge—Se—Te—In, As—Ge—Sb—Te, Se—As—Ge—In, Ge—Sb—Se—Te, Ge—Sn—Sb—Te, Ge—Te—Sn—Ni, Ge—Te—Sn—Pd, and Ge—Te—Sn—Pt, Si—Ge—As—Se, In—Sn—Sb—Te, Ge—Se—Te—Si, Si—Te—As—Ge, Ag—In—Sb—Te, Ge—Se—Te—In—Si, Se—As—Ge—Si—In, or other materials capable of being programmed to one of multiple states. One or more elements in a chalcogenide material may be dopants. For example, the storage material may include dopants such as: aluminum (Al), oxygen (O), nitrogen (N), silicon (Si), carbon (C), boron (B), zirconium (Zr), hafnium (Hf), or a combination thereof. The storage material may include other materials or dopants not explicitly listed.
As mentioned above, some memory cells include a separate layer of selector material to form a selector device. The selector material may include a chalcogenide material (typically a chalcogenide glass) or other material capable of operating as a selection element. In one example, the selector material includes one or more of: silicon (Si), germanium (Ge), selenium (Se), arsenic, tellurium (Te), or other materials. In one example, the selector material includes Si—Ge—As—Se, As—Ge—Te—Si, or other selector material. The selector material may also include dopants such as: aluminum (Al), oxygen (O), nitrogen (N), silicon (Si), carbon (C), boron (B), zirconium (Zr), hafnium (Hf), or a combination thereof.
In some examples, the storage material is a phase change material. In other examples, the storage material can be in one or multiple stable states without a change in phase. In one example, the memory element, switching element, or both are an amorphous semiconductor threshold switch (e.g., an ovonic threshold switch) using a chalcogenide amorphous material. An ovonic threshold switch remains in an amorphous state which distinguishes it from an ovonic memory, which generally changes between amorphous and crystalline states. In one example, an ovonic memory is used in series with an ovonic threshold switch. In such case, the ovonic threshold switch operates as the select device for the ovonic memory. Whether the memory material of the memory cell changes phase or not, in one example, the memory could be referred to as a resistance-based memory. In a resistance-based memory, the bit stored by a memory cell is based on the resistive state of the memory cell.
The access lines 104, 106 electrically couple the memory cell 100 with circuitry 142. The term “coupled” can refer to elements that are physically, electrically, and/or communicatively connected either directly or indirectly, and may be used interchangeably with the term “connected” herein. Physical coupling can include direct contact. Electrical coupling includes an interface or interconnection that allows electrical flow and/or signaling between components. Communicative coupling includes connections, including wired and wireless connections, that enable components to exchange data. The access lines 104, 106 can be referred to as a bit line and word line, respectively. The word line is for accessing a particular word in a memory array and the bit line is for accessing a particular bit in the word. The access lines 104, 106 can be composed of one or more metals including: Al, Cu, Ni, Cr, Co, Ru, Rh, Pd, Ag, Pt, Au, Ir, Ta, and W; conductive metal nitrides including TiN, TaN, WN, and TaCN; conductive metal silicides including tantalum silicides, tungsten silicides, nickel silicides, cobalt silicides and titanium silicides; conductive metal silicide nitrides including TiSiN and WSiN; conductive metal carbide nitrides including TiCN and WCN, or any other suitable electrically conductive material.
In one example, electrodes 108 are disposed between storage material 102 and access lines 104, 106. Electrodes 108 electrically couple access lines 104, 106 with storage material 102. A memory cell with separate layers of storage and selector material may also include an electrode between the layers of storage and selector material. Electrodes 108 can be composed of one or more conductive and/or semiconductive materials such as, for example: carbon (C), carbon nitride (CxNy); n-doped polysilicon and p-doped polysilicon; metals including, Al, Cu, Ni, Cr, Co, Ru, Rh, Pd, Ag, Pt, Au, Ir, Ta, and W; conductive metal nitrides including TiN, TaN, WN, and TaCN; conductive metal silicides including tantalum silicides, tungsten silicides, nickel silicides, cobalt silicides and titanium silicides; conductive metal silicides nitrides including TiSiN and WSiN; conductive metal carbide nitrides including TiCN and WCN; conductive metal oxides including RuO2, or other suitable conductive materials.
Referring again to
Writing to a memory cell involves storing a value in the memory cell by causing the storage material of the memory cell to be in a particular state. In one example, the access circuitry 143 programs the memory cell 100 by causing a voltage or current pulse with a particular polarity, magnitude, and duration through the memory cell 100. A current pulse is a rapid and transient change (e.g., increase or decrease) in current. For example, a current pulse may be defined as a rapid change from a first current level to a second current level, followed by a rapid return to the first current level. In one such example, the amplitude of the current pulse is the magnitude of the second current level relative to the first, baseline current level. Pulses can have a variety of shapes, such as rectangular, triangular, or other shapes. The width of a rectangular current pulse can be defined as the time that the current is at the transient increased or decreased level.
In one example, programming the memory cell 100 causes the memory cell 100 to “threshold” or undergo a “threshold event.” In one example, when a memory cell thresholds (e.g., in response to a program pulse), the memory cell undergoes a physical change that causes the memory cell to exhibit a certain threshold voltage in response to the application of a subsequent voltage (e.g., a read voltage with a particular magnitude and polarity). Programming the memory cell 100 can therefore involve applying a voltage or current of a given polarity, magnitude, and duration to induce a programming threshold event.
In one example, reading from a memory cell involves applying a voltage pulse with a particular magnitude, polarity, and duration, which results in an electrical response from the memory cell that can be detected or sensed. Detecting electrical responses can include, for example, detecting one or more of: a voltage (e.g., a threshold voltage) across terminals of a given memory cell of the array or current through the given memory cell. In one example, detecting an electrical response involves determining that the cell's threshold voltage is lower than or higher than a reference voltage, for example a read voltage. The access circuitry 143 can determine the logic state of the memory cell 100 based on the electrical response of the memory cell to the voltage pulse.
The memory cell 100 is one example of a memory cell that can be programmed using techniques described herein. Other examples can include memory cells having additional or different layers of material than illustrated in
Although a single level or tier of memory cells is shown in
In the illustrated example, the transistors T1 and T2 are connected to the bit line side supply voltage and transistors T3 and T4 connected to the word line side supply voltage. In the illustrated example, the bit line side voltage is at the higher voltage potential than the word line side supply voltage. For example, the word line supply voltage may be negative, and the bit line supply voltage may be positive. Thus, in the illustrated example, T1 and T2 are shown as PMOS transistors and T3 and T4 are shown as NMOS transistors. The circuit 300A may include circuitry between the selection transistors and supply voltages. For example, the circuit 300A includes the circuitry 306 between the word line selection transistors and the wordline-side supply voltage. Similarly, the circuit 300A includes the circuitry 307 between the bit line selection transistors and the bit line-side supply voltage. The circuitry 306 and 307 may include, for example, a voltage regulator, circuitry to break the current path, or other circuitry supporting the control and operation of the circuit 300A. In other examples, the circuitry 306 and 307 may be omitted.
To generate the necessary current for selecting and accessing memory cells, typical memory circuit architectures include dedicated current generator circuits between the selection transistors and a voltage source. Current mirrors are one example of current generator circuits. For example,
In one example, resetting the cell involves applying a current pulse with a large magnitude and short duration. Setting the cell involves applying a current pulse with a shorter magnitude and a longer duration. Future technology scaling may require different magnitudes and widths of programming current pulse. For example, reduced memory write time or increased memory write bandwidth may require narrower programming pulses in order to achieve energy efficient designs. Generating a short high amplitude pulse with rise time and fall time that are significantly less than the programming pulse time duration (e.g., to reset the memory cell) is more challenging than generating a longer low amplitude pulse (e.g., for setting the memory cell). The generation of a high amplitude pulse with a duration that scales with memory technology may require a sufficiently fast rise and fall time. In the example illustrated in
In contrast,
Like in
Also like in
In the example illustrated in
For example, the circuit 300B includes voltage generation and control circuitry 314 to generate and control the voltage applied to the gate of the local word line selection transistor T3. By quickly increasing the difference in the gate voltage of the selection transistor relative to a supply voltage, the resistance of the selection transistor can be rapidly decreased. In one example, the change in resistance of the selection transistor is achieved by changing the operating point of the selection transistor from the saturation region, a high effective resistance, to the linear or triode region, a much lower effective resistance. However, the effective resistance of the selection transistor may also be changed without changing the operating point from the saturated region to linear region. The sudden decrease in resistance of the selection transistor causes a charge sharing event between capacitance at the source terminal and the drain terminal of the selection transistor. The charge sharing event causes a change in voltage across the memory cell, which in turn causes an increase in current through the memory cell. The current path through the memory cell can then be disabled to cause the current through the memory cell to decrease to zero and complete the program current pulse generation.
Consider a specific example with respect to
The voltage applied to the gate of T3 by the circuit 314 is then increased from V1 to V2 over a time At. In one example, the circuit 314 can include a mechanism for selecting amongst one of multiple voltages (e.g., V1 and V2) to apply to the gate of the selection transistor. For example, the circuit 314 can include one or more voltage generator circuits to generate V1 and V2 and a multiplexor to select between V1 and V2. The voltage V2 is typically a second predetermined voltage that is selected based on similar factors as V1. In one example, transitioning the voltage applied to the gate of T3 causes the effective resistance of T3 to decrease. Thus, the selection transistor T3 has a higher resistance at V1 than V2. In this example, V2 is higher than V1. For example, if V1 is a negative voltage, V2 is a negative voltage with a lower magnitude, zero volts, or a positive voltage. As mentioned above, in one example, a reset current pulse is typically a current pulse with a high amplitude and short duration. In one such example, to generate a current pulse with a fast edge rate, the gate voltage edge rate of T3, which can be represented as AV2,1/At, is made as high or fast as possible. To achieve a fast gate voltage edge rate, At is made to be as short as possible to cause a rapid change from V1 to V2. In one example, the edge rates may be considered “fast” if the summation of the rising and falling times of the targeted programming pulse for a given address location is less than the targeted pulse time duration. In one example, At is shorter than the time constant of the path. Therefore, in some examples, the voltage generation and control circuit is implemented to quickly transition the gate voltage of the selection transistor.
In addition to controlling the gate voltage to achieve particular current pulse edge rates, the amplitude of the program current pulse can be determined by adjusting the voltages V1 and V2. In one example, the amplitude of the program pulse is measured or defined relative to the steady-state selection current amplitude that is required to maintain selection of the memory cell. In one example, the amplitude of the program current pulse is based in part on the difference between V1 and V2 (AV2,1). A large voltage difference between V1 and V2 results in a relatively high magnitude current pulse and a lower voltage difference between V1 and V2 results in a lower magnitude current pulse. As mentioned above, the desired amplitude of the current pulse will vary depending on factors such as whether the program operation is a set or reset operation and further based on the memory cell's location in the array. In one example, the voltage V2 is the same for memory cells in different locations in the array, and the voltage V1 is varied based on memory cell location (e.g., distance from decoding circuitry). In another example, the voltage V1 is the same for memory cells in different locations in the array, and the voltage V2 is varied based on memory cell location. Alternatively, both V1 and V2 can be varied based on memory cell location.
The increase in voltage at the gate of T3 causes the resistance of T3 to decrease, which in turn causes current to flow from C3 (the local word line capacitance at the source terminal of T3) to C4 (the global word line capacitance at the drain terminal of T3) due to charge sharing between C3 and C4. Thus, in the illustrated example, the local word line selection transistor (T3) behaves as a voltage controlled resistance where its effective resistance primarily depends on the gate-to-source voltage of the T3, as is shown in the equivalent circuit 311. As can be seen in the equivalent circuit 311, C3 and C4 are separated by the voltage controlled resistance formed by the selection transistor T3. The increase in the gate voltage of the local word line selection transistor (T3) results in an increase in its gate-to-source voltage that in turn reduces the effective resistance of the local word line transistor (T3), thus controlling the discharge rate from capacitance C3 to capacitance C4. As the charge-sharing event occurs, the local word line voltage at node 303 decreases due to the discharge of the charge associated with the word line capacitance (C3) to the global word line capacitance (C4). As result of this charge-sharing, the global word line voltage at node 309 increases. The rapid decrease of the word line voltage level initiated by the charge-sharing event involving the capacitances of the local and global word lines creates an increased voltage differential across the memory cell from its local bit line to the local word line voltage with an edge rate that is proportional to the ΔV/Δt of the gate voltage of T3.
In one example, the capacitances C3 and C4 are the parasitic capacitances of the conductive interconnects (e.g., wires, traces, or other conductive interconnects). Thus, in one example, the capacitance C3 and C4 are implicit capacitances in the routing and not physical capacitor devices. The charge-sharing transient current from C3 to C4 results in a decrease in voltage at the local word line (node 303). The decrease in voltage at the local word line creates a voltage differential across the memory cell 302 (e.g., the voltage at the local bit line at node 305 minus the voltage at the local word line at node 303 increases). The voltage differential across the memory cell results in an increase in the current through the memory cell (Icell). In increase in current is the start of or rising edge of the program current pulse. The current path through the memory cell is then disabled (e.g., by opening a switch in the circuit, such as a switch in circuitry 306, to stop the flow of current from the bit line side supply voltage to the word line side supply voltage). The decrease in current is the termination of or falling edge of the program current pulse. The current pulse width can thus be controlled via timing of the signals used to initiate and terminate the current pulse.
The above example considers an implementation in which the program current pulse is generated by controlling the voltage applied to a selection transistor on the word line-side (e.g., between the memory cell and the word line side supply voltage). A program current pulse can also be generated by controlling the voltage applied to a selection transistor on the bit line side in addition to, or instead of, controlling the gate voltage of a selection transistor on the word line side.
Consider an example with respect to
The voltage applied to the gate of T2 is then decreased from V3 to V4 over a time Δt. The voltage V4 is typically a second predetermined voltage that is selected based on similar factors V1 and V2, discussed above. In this example, V4 is lower than V3. For example, if V3 is a positive voltage, V4 is a positive voltage with a lower magnitude than V3, zero volts, or a negative voltage. As mentioned above, in one example, At is made as short as possible to cause a rapid change from V3 to V4, and thus a current pulse with a square edge. The Δt over which the gate voltage of T2 is transitioned from V3 to V4 may be the same as or different than the Δt of
The increase in voltage at the gate of T2 causes the resistance of T2 to decrease, which in turn causes current to flow from C1 (the global bit line capacitance at the source terminal of T2) to C2 (the local bit line capacitance at the drain terminal of T2) due to charge sharing between C1 and C2. Like the capacitances C3 and C4 discussed above with respect to
The above examples discussed with respect to
The above examples discuss implementations in which the capacitors C1, C2, C3, and C4 are implicit capacitances in the routing rather than discrete capacitors. However, other examples may include physical capacitors to tune the capacitance at the nodes between the memory cell and the selection transistors. The capacitances C1, C2, C3, and C4 could also be adjusted by other means, such as including additional wire routing or adjusting the number of word line selects coupled with a global word line select. Adjusting the capacitance can affect the magnitude of the program current pulse. However, including physical capacitors has the downside of increasing die size.
Also note that although the examples illustrated in
The examples illustrated in
Also note that although the examples illustrated in
Referring to the waveform 402, at time t1, the memory cell is selected. To select the memory cell, the selection current mirror is enabled (as is shown in the waveform 408 at time t1) and the selection transistors are on. The example illustrated in
At time t3, the reset current pulse is terminated by “breaking” the current flow from the bit line to the word line side of the memory cell, as shown by the current path enable/disable signal 406. The overall reset current pulse width for performing the reset operation can be controlled by the current path enable signal 406. For example, the current path can be disabled at or immediately after time t2 to generate a short current pulse. The current path can be disabled after a longer time (e.g., t3 or later) to generate a longer current pulse. After disabling the current path, the current through the memory cell goes to 0 μA at time t4. After the set or reset operation is complete, the selection mirror enable/disable signal 408 can be transitioned low (disabled) to reduce power, as is shown in
The voltage level V1 can be adjusted, as well as its rate of transition to voltage V2, to form the control of the charge-sharing event that results in the current pulse. The voltage differential produced (V2-V1) determines the amplitude of the reset current pulse or maximum current level delivered to the cross-point memory cell. In addition, the selection current level (e.g., the selection current 403) can also be adjusted (e.g., either increasing or decreasing in current magnitude) to adjust the reset current pulse amplitude or maximum value. The control of the selection current can be in addition to, or independent of the control of ΔV/Δt of the selection transistor gate voltage to control the reset current pulse amplitude. These mechanisms for adjusting the reset current pulse maximum value can be used to adjust the current pulse for cross-point memory cells that are located at various physical addresses in the memory array.
The method 500 begins with applying a first voltage to a gate of a selection transistor, at operation 502. For example, referring to
After applying the first voltage to the gate of the selection transistor, the voltage applied to the gate is then transitioned from the first voltage to a second voltage, at operation 504. For example, referring to
After transitioning the voltage applied to the gate of the selection transistor to cause an increase in current, the method involves disabling the current path through the memory cell, at operation 506. Disabling the current path can involve any technique for stopping the flow of current such as with a switch along the current path. The timing of disabling the current path enables control of the current pulse width. In one example, the current path can be disabled at the same time as, or very shortly after, transitioning the voltage from the first to the second voltage to generate a very narrow current pulse.
Thus, a program current pulse (such as a reset or set pulse) can be generated and controlled with improved efficiency and effectiveness compared to conventional techniques. Generating a program current pulse from a charge-sharing rather than dedicated CMOS circuitry such as a reset and set current mirrors can result in narrower current pulses with faster edge rates in addition to reducing energy usage and die size.
System 600 includes components of a memory subsystem having random access memory (RAM) 620 to store and provide data in response to operations of processor 610. The system 600 receives memory access requests from a host or a processor 610, which is processing logic that executes operations based on data stored in RAM 620 or generates data to store in RAM 620. The processor 610 can be or include a host processor, central processing unit (CPU), microcontroller or microprocessor, graphics processor, peripheral processor, application specific processor, or other processor, and can be single core or multicore.
The system 600 includes a memory controller 630, which represents logic to interface with RAM 620 and manage access to data stored in the memory. In one example, the memory controller 630 is integrated into the hardware of processor 610. In one example, the memory controller 630 is standalone hardware, separate from the processor 610. The memory controller 630 can be a separate circuit on a substrate that includes the processor. The memory controller 630 can be a separate die or chip integrated on a common substrate with a processor die (e.g., as a system on a chip (SoC)). In one example, the memory controller 630 is an integrated memory controller (iMC) integrated as a circuit on the processor die. In one example, at least some of RAM 620 can be included on an SoC with the memory controller 630 and/or the processor 610.
In the illustrated example, the memory controller 630 includes read/write logic 634, which includes hardware to interface with the RAM 620. The logic 634 enables the memory controller 630 to generate read and write commands to service requests for data access generated by the execution of instructions by processor 610.
The memory resources or cachelines in the RAM 620 are represented by a memory cell array 626, which can include a 3D cross-point array. The RAM 620 includes an interface 624 (e.g., interface logic) to control the access to the memory device array 626. The interface 624 can include decode logic, including logic to address specific rows or columns, bit lines or word lines, or otherwise address specific bits of data. The controller 622 represents an on-die controller on RAM 620 to control its internal operations to execute commands received from memory controller 630. For example, the controller 622 can control any of timing, voltage levels, addressing, I/O (input/output) margining, scheduling, and error correction for RAM 620.
In one example, the controller 622 is configured to read and write to the memory device array 626 (e.g., via set and reset operations) in accordance with any example described herein. A power source 640 is connected to the RAM 620 to provide one or more voltage rails for operation of the RAM 620.
The system 700 also includes memory 702 (e.g., system memory), non-volatile storage 704, communications interfaces 706, and other components 708. The other components may include, for example, a display (e.g., touchscreen, flat-panel), a power supply (e.g., a battery or/or other power supply), sensors, power management logic, or other components. The communications interfaces 706 may include logic and/or features to support a communication interface. For these examples, communications interface 706 may include one or more communication interfaces that operate according to various communication protocols or standards to communicate over direct or network communication links or channels. Direct communications may occur via use of communication protocols or standards described in one or more industry standards (including progenies and variants) such as those associated with the PCIe specification. Network communications may occur via use of communication protocols or standards such those described in one or more Ethernet standards promulgated by IEEE. For example, one such Ethernet standard may include IEEE 802.3. Network communication may also occur according to one or more OpenFlow specifications such as the OpenFlow Switch Specification. Other examples of communications interfaces include, for example, a local wired point-to-point link (e.g., USB) interface, a wireless local area network (e.g., WiFi) interface, a wireless point-to-point link (e.g., Bluetooth) interface, a Global Positioning System interface, and/or other interfaces.
The computing system also includes non-volatile storage 704, which may be the mass storage component of the system. The non-volatile storage 704 can be similar to, or the same as, the RAM 620 of
Various components described herein can be a means for performing the operations or functions described. Each component described herein includes software, hardware, or a combination of these. The components can be implemented as software modules, hardware modules, special-purpose hardware (e.g., application specific hardware, application specific integrated circuits (ASICs), digital signal processors (DSPs), etc.), embedded controllers, hardwired circuitry, etc.
Besides what is described herein, various modifications can be made to the disclosed embodiments and implementations of the invention without departing from their scope. Therefore, the illustrations and examples herein should be construed in an illustrative, and not a restrictive sense. The scope of the invention should be measured solely by reference to the claims that follow.