Aspects disclosed include static random access memory (sram) arrays having substantially constant operational yields across multiple modes of operation. In one aspect, a method of designing sram arrays with multiple modes operation is provided. The method includes determining performance characteristics associated with each mode of operation. sram bit cells configured to operate in each mode of operation are provided to the sram array. sram bit cells are biased to operate in a mode of operation using dynamic adaptive assist techniques, wherein the sram bit cells achieve a substantially constant operational yield across the modes. The sram bit cells have a corresponding type, wherein the number of sram bit cell types in the method is less than the number of modes of operation. Thus, each sram array may achieve a particular mode of operation without requiring a separate sram bit cell type for each mode, thereby reducing costs.
|
9. A static random access memory (sram) array comprising:
a biasing circuit;
a plurality of sram bit cells, wherein:
each sram bit cell of the plurality of sram bit cells configured to operate in a plurality of modes of operation with a substantially constant operational yield based on one or more dynamic adaptive assist techniques;
the plurality of sram bit cells has a corresponding type, and a number of types of sram bit cells is less than a number of modes of operation; and
each sram bit cell of the plurality of sram bit cells configured to be biased by the biasing circuit to operate in one or more corresponding modes of operation of the plurality of modes of operation using the one or more dynamic adaptive assist techniques.
19. A static random access memory (sram) array, comprising:
a means for determining performance characteristics for each mode of operation of a plurality of modes of operation for a sram array;
a means for providing to the sram array a plurality of sram bit cells configured to operate in the plurality of modes of operation with a substantially constant operational yield based on one or more dynamic adaptive assist techniques, wherein the plurality of sram bit cells has a corresponding type, and a number of types of sram bit cells is less than a number of modes of operation; and
a means for biasing each sram bit cell of the plurality of sram bit cells to operate in one or more corresponding modes of operation of the plurality of modes of operation using the one or more dynamic adaptive assist techniques.
1. A method for designing a static random access memory (sram) array with a substantially constant operational yield across a plurality of modes of operation, comprising:
determining performance characteristics for each mode of operation of a plurality of modes of operation for a sram array;
providing to the sram array a plurality of sram bit cells configured to operate in the plurality of modes of operation with a substantially constant operational yield based on one or more dynamic adaptive assist techniques, wherein the plurality of sram bit cells has a corresponding type, and a number of types of sram bit cells is less than a number of modes of operation; and
biasing each sram bit cell of the plurality of sram bit cells to operate in one or more corresponding modes of operation of the plurality of modes of operation using the one or more dynamic adaptive assist techniques.
23. A non-transitory computer-readable medium having stored thereon computer executable instructions which, when executed by a processor, cause the processor to:
determine performance characteristics for each mode of operation of a plurality of modes of operation for a static random access memory (sram) array;
provide to the sram array a plurality of sram bit cells configured to operate in the plurality of modes of operation with a substantially constant operational yield based on one or more dynamic adaptive assist techniques, wherein the plurality of sram bit cells has a corresponding type, and a number of types of sram bit cells is less than a number of modes of operation; and
bias each sram bit cell of the plurality of sram bit cells to operate in one or more corresponding modes of operation of the plurality of modes of operation using the one or more dynamic adaptive assist techniques.
2. The method of
3. The method of
4. The method of
5. The method of
6. The method of
7. The method of
8. The method of
10. The sram array of
11. The sram array of
12. The sram array of
13. The sram array of
14. The sram array of
15. The sram array of
16. The sram array of
18. The sram array of
20. The sram array of
21. The sram array of
22. The sram array of
|
I. Field of the Disclosure
The technology of the disclosure relates generally to static random access memory (SRAM) arrays, and particularly to designing lower power, higher performance SRAM arrays.
II. Background
Mobile communications devices have become common in contemporary society. The prevalence of these mobile devices is driven in part by the wide range of functionality provided by such devices. To achieve this wide range of functionality, mobile devices are designed to achieve lower power operation for extended battery life, while also supporting higher performance, higher power operation. The memory employed within such devices plays an important role in determining the success of achieving both lower power and higher performance operation.
In this regard, different types of memory exist, each possessing certain unique features. For example, static random access memory (SRAM) is a type of memory that can be employed in mobile communications devices. SRAM can store data without the need to periodically refresh the memory, unlike dynamic read access memory (DRAM), for example. An SRAM array contains a plurality of SRAM bit cells (also referred to as “bit cells”) organized in rows and columns. For any given row in an SRAM array, each column of the SRAM array includes an SRAM bit cell in which a single data value is stored. Access to read or write a desired SRAM bit cell row is controlled by wordlines, while data values are read from or written to particular SRAM bit cells using corresponding bitlines. An SRAM array can be designed to operate with lower power consumption, wherein such designs also operate with lower performance. Alternatively, an SRAM array can be designed to achieve higher performance operation, thus requiring higher power consumption.
An SRAM array designed to a particular performance metric employs SRAM bit cells of a corresponding design. For example, higher performance SRAM arrays employ SRAM bit cells specifically designed to operate at a higher performance level. Further, lower power SRAM arrays employ SRAM bit cells specifically designed to operate at a lower power level. To achieve varying power and performance levels in SRAM bit cells, SRAM bit cells included in an SRAM array can be designed to operate under specific parameters, such as a particular threshold voltage, number of pins, placement of pins, and metal area. In this manner, SRAM bit cells employed in lower power SRAM arrays operate according to particular design parameters that are different from parameters associated with SRAM bit cells employed in higher performance SRAM arrays. However, requiring a different SRAM bit cell design for each type of SRAM array may result in higher costs associated with design and manufacturing. Therefore, it would be advantageous to provide SRAM arrays that achieve a wide range of functionality at reduced costs.
Aspects disclosed in the detailed description include static random access memory (SRAM) arrays having substantially constant operational yields across multiple modes of operation. In one aspect, an exemplary method of designing an SRAM array is provided, wherein the SRAM array achieves a substantially constant operational yield (e.g., read/write limited yield) across multiple modes of operation. To design such an SRAM array, one exemplary method includes determining a set of performance characteristics associated with each mode of operation of an SRAM array. Based on these performance characteristics, SRAM bit cells configured to operate in each mode of operation are provided to the SRAM array. The SRAM bit cells may be biased to operate in a desired mode of operation using dynamic adaptive assist techniques (e.g., over-driving or under-driving a wordline, providing a bias voltage to a bitline, etc.), wherein the SRAM bit cells achieve a substantially constant operational yield across each mode of operation. In other words, the dynamic adaptive assist techniques determine the mode of operation in which the SRAM array operates (e.g., lower power, higher performance, etc.), wherein the dynamic adaptive assist techniques result in the operational yield being substantially constant in each mode of operation. Further, the SRAM bit cells have a corresponding type, wherein the type is determined based on the mode of operation in which the SRAM bit cell is designed to operate without use of the dynamic adaptive assist techniques. The number of SRAM bit cell types provided by the method is less than the number of modes of operation of the SRAM array. In other words, the method provides SRAM arrays having substantially constant operational yields across multiple modes of operation, wherein a particular mode of operation may be achieved without requiring different types of SRAM bit cells for each mode of operation. By using such a method of designing, the SRAM array may be provided at a lower cost as compared to an SRAM array employing SRAM bit cells designed to operate in one mode of operation.
In this regard, in one aspect, a method for designing an SRAM array with a substantially constant operational yield across a plurality of modes of operation is provided. The method comprises determining performance characteristics for each mode of operation of a plurality of modes of operation for an SRAM array. The method further comprises providing to the SRAM array a plurality of SRAM bit cells configured to operate in the plurality of modes of operation with a substantially constant operational yield based on one or more dynamic adaptive assist techniques, wherein the plurality of SRAM bit cells has a corresponding type, and a number of types of SRAM bit cells is less than a number of modes of operation. The method further comprises biasing each SRAM bit cell of the plurality of SRAM bit cells to operate in one or more corresponding modes of operation of the plurality of modes of operation using the one or more dynamic adaptive assist techniques.
In another aspect, an SRAM array is provided. The SRAM array comprises a biasing circuit. The SRAM array further comprises a plurality of SRAM bit cells. Each SRAM bit cell of the plurality of SRAM bit cells is configured to operate in a plurality of modes of operation with a substantially constant operational yield based on one or more dynamic adaptive assist techniques. The plurality of SRAM bit cells has a corresponding type, and a number of types of SRAM bit cells is less than a number of modes of operation. Each SRAM bit cell of the plurality of SRAM bit cells is configured to be biased by the biasing circuit to operate in one or more corresponding modes of operation of the plurality of modes of operation using the one or more dynamic adaptive assist techniques.
In another aspect, an SRAM array is provided. The SRAM array comprises a means for determining performance characteristics for each mode of operation of a plurality of modes of operation for an SRAM array. The SRAM array further comprises a means for providing to the SRAM array a plurality of SRAM bit cells configured to operate in the plurality of modes of operation with a substantially constant operational yield based on one or more dynamic adaptive assist techniques, wherein the plurality of SRAM bit cells has a corresponding type, and a number of types of SRAM bit cells is less than a number of modes of operation. The SRAM array further comprises a means for biasing each SRAM bit cell of the plurality of SRAM bit cells to operate in one or more corresponding modes of operation of the plurality of modes of operation using the one or more dynamic adaptive assist techniques.
In another aspect, a non-transitory computer-readable medium having stored thereon computer executable instructions which, when executed by a processor, cause the processor to determine performance characteristics for each mode of operation of a plurality of modes of operation for an SRAM array. The computer executable instructions further cause the processor to provide to the SRAM array a plurality of SRAM bit cells configured to operate in the plurality of modes of operation with a substantially constant operational yield based on one or more dynamic adaptive assist techniques, wherein the plurality of SRAM bit cells has a corresponding type, and a number of types of SRAM bit cells is less than a number of modes of operation. The computer executable instructions further cause the processor to bias each SRAM bit cell of the plurality of SRAM bit cells to operate in one or more corresponding modes of operation of the plurality of modes of operation using the one or more dynamic adaptive assist techniques.
With reference now to the drawing figures, several exemplary aspects of the present disclosure are described. The word “exemplary” is used herein to mean “serving as an example, instance, or illustration.” Any aspect described herein as “exemplary” is not necessarily to be construed as preferred or advantageous over other aspects.
Aspects disclosed in the detailed description include static random access memory (SRAM) arrays having substantially constant operational yields across multiple modes of operation. In one aspect, an exemplary method of designing an SRAM array is provided, wherein the SRAM array achieves a substantially constant operational yield (e.g., read/write limited yield) across multiple modes of operation. To design such an SRAM array, one exemplary method includes determining a set of performance characteristics associated with each mode of operation of an SRAM array. Based on these performance characteristics, SRAM bit cells configured to operate in each mode of operation are provided to the SRAM array. The SRAM bit cells may be biased to operate in a desired mode of operation using dynamic adaptive assist techniques (e.g., over-driving or under-driving a wordline, providing a bias voltage to a bitline, etc.), wherein the SRAM bit cells achieve a substantially constant operational yield across each mode of operation. In other words, the dynamic adaptive assist techniques determine the mode of operation in which the SRAM array operates (e.g., lower power, higher performance, etc.), wherein the dynamic adaptive assist techniques result in the operational yield being substantially constant in each mode of operation. Further, the SRAM bit cells have a corresponding type, wherein the type is determined based on the mode of operation in which the SRAM bit cell is designed to operate without use of the dynamic adaptive assist techniques. The number of SRAM bit cell types provided by the method is less than the number of modes of operation of the SRAM array. In other words, the method provides SRAM arrays having substantially constant operational yields across multiple modes of operation, wherein a particular mode of operation may be achieved without requiring different types of SRAM bit cells for each mode of operation. By using such a method of designing, the SRAM array may be provided at a lower cost as compared to an SRAM array employing SRAM bit cells designed to operate in one mode of operation.
Before addressing details of designing SRAM arrays having substantially constant operational yields across multiple modes of operation beginning in
With continuing reference to
In addition to the costs incurred to design and manufacture different types of SRAM bit cells wherein each type is specifically designed to satisfy a particular mode of operation, the VMIN design process 100 in
With continuing reference to
In this regard,
With continuing reference to
In this regard,
With continuing reference to
In this regard,
In addition to the lower power mode, the SRAM array also achieves the nominal performance mode of operation with an operational yield approximately equal to 6σ. The nominal performance mode is achieved by employing an operational voltage equal to VNOMINAL and over-driving the wordline as described in
With continuing reference to
As previously noted, SRAM bit cells within an SRAM array designed using the process 300 in
In this regard, with continuing reference to
In this regard,
With continuing reference to
With continuing reference to
With continuing reference to
In this regard, the wordline 716 may be over-driven so as to increase the activation speed of the first and second access transistors 712, 714, thereby biasing the SRAM bit cell 702 to operate in the nominal or higher performance mode according to the over-drive voltage applied to the wordline 716. Additionally, the wordline 716 may be under-driven so as to reduce the activation speed of the first and second access transistors 712, 714, thereby biasing the SRAM bit cell 702 to operate in the lower power mode. The SRAM bit cell 702 may also be biased to operate in a particular mode of operation by applying a bias voltage to the bitline 718. In this aspect, applying a higher bias voltage to the bitline 718 may enable the SRAM bit cell 702 to operate in the nominal or higher performance mode according to the bias voltage. Alternatively, applying a lower bias voltage to the bitline 718 may enable the SRAM bit cell 702 to operate in the lower power mode. Further, the SRAM bit cell 702 may also be biased to operate in a particular mode of operation by applying a bias voltage to a backgate (BG) of the first access transistor 712 or a backgate (BG) of the second access transistor 714. Notably, the SRAM bit cells 702(1)-702(M) are configured to achieve a substantially constant operational yield in each mode of operation irrespective of which dynamic adaptive assist technique is employed to achieve the desired mode. Therefore, because the SRAM array 700 requires fewer types of SRAM bit cells than number of modes of operation, the SRAM array 700 may be provided at a lower cost as compared to an SRAM array employing separate SRAM bit cell types designed to operate in one mode of operation, as in the VMIN design process 100 in
SRAM arrays employing dynamic adaptive assist techniques according to aspects disclosed herein may be provided in or integrated into any processor-based device. Examples, without limitation, include a set top box, an entertainment unit, a navigation device, a communications device, a fixed location data unit, a mobile location data unit, a mobile phone, a cellular phone, a computer, a portable computer, a desktop computer, a personal digital assistant (PDA), a monitor, a computer monitor, a television, a tuner, a radio, a satellite radio, a music player, a digital music player, a portable music player, a digital video player, a video player, a digital video disc (DVD) player, and a portable digital video player.
In this regard,
Other master and slave devices can be connected to the system bus 808. As illustrated in
The CPU(s) 802 may also be configured to access the display controller(s) 820 over the system bus 808 to control information sent to one or more displays 826. The display controller(s) 820 sends information to the display(s) 826 to be displayed via one or more video processors 828, which process the information to be displayed into a format suitable for the display(s) 826. The display(s) 826 can include any type of display, including but not limited to a cathode ray tube (CRT), a liquid crystal display (LCD), a plasma display, etc.
Those of skill in the art will further appreciate that the various illustrative logical blocks, modules, circuits, and algorithms described in connection with the aspects disclosed herein may be implemented as electronic hardware, instructions stored in memory or in another computer-readable medium and executed by a processor or other processing device, or combinations of both. The master and slave devices described herein may be employed in any circuit, hardware component, integrated circuit (IC), or IC chip, as examples. Memory disclosed herein may be any type and size of memory and may be configured to store any type of information desired. To clearly illustrate this interchangeability, various illustrative components, blocks, modules, circuits, and steps have been described above generally in terms of their functionality. How such functionality is implemented depends upon the particular application, design choices, and/or design constraints imposed on the overall system. Skilled artisans may implement the described functionality in varying ways for each particular application, but such implementation decisions should not be interpreted as causing a departure from the scope of the present disclosure.
The various illustrative logical blocks, modules, and circuits described in connection with the aspects disclosed herein may be implemented or performed with a processor, a Digital Signal Processor (DSP), an Application Specific Integrated Circuit (ASIC), a Field Programmable Gate Array (FPGA) or other programmable logic device, discrete gate or transistor logic, discrete hardware components, or any combination thereof designed to perform the functions described herein. A processor may be a microprocessor, but in the alternative, the processor may be any conventional processor, controller, microcontroller, or state machine. A processor may also be implemented as a combination of computing devices, e.g., a combination of a DSP and a microprocessor, a plurality of microprocessors, one or more microprocessors in conjunction with a DSP core, or any other such configuration.
The aspects disclosed herein may be embodied in hardware and in instructions that are stored in hardware, and may reside, for example, in Random Access Memory (RAM), flash memory, Read Only Memory (ROM), Electrically Programmable ROM (EPROM), Electrically Erasable Programmable ROM (EEPROM), registers, a hard disk, a removable disk, a CD-ROM, or any other form of non-transitory computer readable medium known in the art. An exemplary storage medium is coupled to the processor such that the processor can read information from, and write information to, the storage medium. In the alternative, the storage medium may be integral to the processor. The processor and the storage medium may reside in an ASIC. The ASIC may reside in a remote station. In the alternative, the processor and the storage medium may reside as discrete components in a remote station, base station, or server.
It is also noted that the operational steps described in any of the exemplary aspects herein are described to provide examples and discussion. The operations described may be performed in numerous different sequences other than the illustrated sequences. Furthermore, operations described in a single operational step may actually be performed in a number of different steps. Additionally, one or more operational steps discussed in the exemplary aspects may be combined. It is to be understood that the operational steps illustrated in the flowchart diagrams may be subject to numerous different modifications as will be readily apparent to one of skill in the art. Those of skill in the art will also understand that information and signals may be represented using any of a variety of different technologies and techniques. For example, data, instructions, commands, information, signals, bits, symbols, and chips that may be referenced throughout the above description may be represented by voltages, currents, electromagnetic waves, magnetic fields or particles, optical fields or particles, or any combination thereof.
The previous description of the disclosure is provided to enable any person skilled in the art to make or use the disclosure. Various modifications to the disclosure will be readily apparent to those skilled in the art, and the generic principles defined herein may be applied to other variations without departing from the spirit or scope of the disclosure. Thus, the disclosure is not intended to be limited to the examples and designs described herein, but is to be accorded the widest scope consistent with the principles and novel features disclosed herein.
Liu, Ping, Wang, Zhongze, Song, Stanley Seungchul, Yeap, Choh Fei, Mojumder, Niladri Narayan
Patent | Priority | Assignee | Title |
Patent | Priority | Assignee | Title |
7903483, | Nov 21 2008 | SHENZHEN XINGUODU TECHNOLOGY CO , LTD | Integrated circuit having memory with configurable read/write operations and method therefor |
8315117, | Mar 31 2009 | SHENZHEN XINGUODU TECHNOLOGY CO , LTD | Integrated circuit memory having assisted access and method therefor |
8427896, | Nov 15 2011 | CAVIUM INTERNATIONAL; MARVELL ASIA PTE, LTD | Dynamic wordline assist scheme to improve performance tradeoff in SRAM |
8582351, | Sep 28 2010 | CAVIUM INTERNATIONAL; MARVELL ASIA PTE, LTD | Methods and systems for adjusting wordline up-level voltage to improve production yield relative to SRAM-cell stability |
8630142, | May 23 2005 | Renesas Electronics Corporation | Semiconductor memory device that can stably perform writing and reading without increasing current consumption even with a low power supply voltage |
20040155281, | |||
20090141536, | |||
20100191385, | |||
20140050017, |
Executed on | Assignor | Assignee | Conveyance | Frame | Reel | Doc |
Mar 17 2015 | Qualcomm Incorporated | (assignment on the face of the patent) | / |
Date | Maintenance Fee Events |
Date | Maintenance Schedule |
Jun 21 2019 | 4 years fee payment window open |
Dec 21 2019 | 6 months grace period start (w surcharge) |
Jun 21 2020 | patent expiry (for year 4) |
Jun 21 2022 | 2 years to revive unintentionally abandoned end. (for year 4) |
Jun 21 2023 | 8 years fee payment window open |
Dec 21 2023 | 6 months grace period start (w surcharge) |
Jun 21 2024 | patent expiry (for year 8) |
Jun 21 2026 | 2 years to revive unintentionally abandoned end. (for year 8) |
Jun 21 2027 | 12 years fee payment window open |
Dec 21 2027 | 6 months grace period start (w surcharge) |
Jun 21 2028 | patent expiry (for year 12) |
Jun 21 2030 | 2 years to revive unintentionally abandoned end. (for year 12) |