US20230092241A1 - Dynamically Adjustable Pipeline for Memory Access - Google Patents

Dynamically Adjustable Pipeline for Memory Access Download PDF

Info

Publication number
US20230092241A1
US20230092241A1 US17/482,298 US202117482298A US2023092241A1 US 20230092241 A1 US20230092241 A1 US 20230092241A1 US 202117482298 A US202117482298 A US 202117482298A US 2023092241 A1 US2023092241 A1 US 2023092241A1
Authority
US
United States
Prior art keywords
address
stage
memory
data
pipeline
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
US17/482,298
Other versions
US11967360B2 (en
Inventor
Edward Martin McCombs, JR.
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
ARM Ltd
Original Assignee
ARM Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ARM Ltd filed Critical ARM Ltd
Priority to US17/482,298 priority Critical patent/US11967360B2/en
Assigned to ARM LIMITED reassignment ARM LIMITED ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: MCCOMBS, EDWARD MARTIN, JR
Priority to KR1020220116716A priority patent/KR20230042651A/en
Publication of US20230092241A1 publication Critical patent/US20230092241A1/en
Application granted granted Critical
Publication of US11967360B2 publication Critical patent/US11967360B2/en
Active legal-status Critical Current
Adjusted expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C11/4063Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
    • G11C11/407Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
    • G11C11/408Address circuits
    • G11C11/4087Address decoders, e.g. bit - or word line decoders; Multiple line decoders
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/20Memory cell initialisation circuits, e.g. when powering up or down, memory clear, latent image memory
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C11/4063Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
    • G11C11/407Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
    • G11C11/4072Circuits for initialization, powering up or down, clearing memory or presetting
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C11/4063Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
    • G11C11/407Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
    • G11C11/408Address circuits
    • G11C11/4085Word line control circuits, e.g. word line drivers, - boosters, - pull-up, - pull-down, - precharge
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C11/4063Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
    • G11C11/407Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
    • G11C11/409Read-write [R-W] circuits 
    • G11C11/4093Input/output [I/O] data interface arrangements, e.g. data buffers
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C11/4063Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
    • G11C11/407Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
    • G11C11/409Read-write [R-W] circuits 
    • G11C11/4094Bit-line management or control circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C11/4063Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
    • G11C11/407Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
    • G11C11/409Read-write [R-W] circuits 
    • G11C11/4096Input/output [I/O] data management or control circuits, e.g. reading or writing circuits, I/O drivers or bit-line switches 
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1015Read-write modes for single port memories, i.e. having either a random port or a serial port
    • G11C7/1039Read-write modes for single port memories, i.e. having either a random port or a serial port using pipelining techniques, i.e. using latches between functional memory parts, e.g. row/column decoders, I/O buffers, sense amplifiers
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1051Data output circuits, e.g. read-out amplifiers, data output buffers, data output registers, data output level conversion circuits
    • G11C7/106Data output latches
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1051Data output circuits, e.g. read-out amplifiers, data output buffers, data output registers, data output level conversion circuits
    • G11C7/1066Output synchronization
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/06Sense amplifiers; Associated circuits, e.g. timing or triggering circuits
    • G11C7/08Control thereof
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Definitions

  • FIG. 1 illustrates a diagram of dynamically adjustable pipeline architecture for memory access in accordance with various implementations described herein.
  • FIG. 2 illustrates a diagram related to a dynamic pipeline technique for memory access in accordance with various implementations described herein.
  • FIG. 3 illustrates a diagram of a method for providing dynamically adjustable pipeline architecture in accordance with various implementations described herein.
  • Various implementations described herein refer to dynamically adjustable pipeline architecture for various memory access schemes and techniques that support applications in reference to physical circuit designs.
  • Various applications related to area optimal dynamic pipeline circuitry may be used in memory applications that are configured to dynamically change (or modify, or adjust) its pipeline in real-time based on demand and/or changes in system requirements when operating in real-time.
  • the various schemes and techniques described herein may provide for a dynamically adjustable pipeline that uses a multi-clock cycle design.
  • various aspects of the present disclosure describe a pipeline that dynamically changes, and this pipeline operates by changing the internal data pipeline of memory based on an input into the memory. By using this technique, the memory may be used for low power and/or high speed applications.
  • FIGS. 1 - 3 Various implementations of providing dynamically adjustable pipeline architecture for memory access operations will be described herein with reference to FIGS. 1 - 3 .
  • FIG. 1 illustrates a diagram 100 of dynamically adjustable pipeline architecture 104 for memory access in accordance with various implementations described herein.
  • dynamically adjustable pipeline architecture may be implemented as a system or a device having various integrated circuit (IC) components that are arranged and coupled together as an assemblage or a combination of parts that provide for physical circuit designs and related structures.
  • IC integrated circuit
  • a method of designing, providing, fabricating and/or manufacturing dynamically adjustable pipeline architecture as an integrated system or device may involve use of various IC circuit components described herein to implement various related fabrication schemes and techniques associated therewith.
  • the dynamically adjustable pipeline architecture may be integrated with various computing circuitry and components on a single chip, and further, the dynamically adjustable pipeline architecture may be implemented and/or incorporated in various types of embedded systems for automotive, computer, electronic, mobile phones, server and Internet-of-things (loT) applications, including remote sensor nodes.
  • LoT Internet-of-things
  • the dynamically adjustable pipeline architecture 104 may be referred to as memory circuitry with an array of bitcells 108 that is configured to store data. Also, the dynamically adjustable pipeline architecture 104 (or memory circuitry) may have address decoder circuitry 114 that receives an address (Addr) for accessing the data stored in the array of bitcells 108 . The dynamically adjustable pipeline architecture 104 may have dynamic pipeline circuitry 120 that enables a data access pipeline to perform memory access operations in reference to the array of bitcells 108 so as to access the data stored in the memory based on the address (Addr).
  • the dynamic pipeline circuitry 120 may be configured to dynamically adjust the data access pipeline during the memory access operations so as to output the data based on the address (Addr). Also, in other instances, the dynamically adjustable pipeline architecture 104 may be referred to as a device having memory circuitry including various components related thereto.
  • the memory circuitry 104 may include various circuitry such as, e.g., the address decoder 114 , the bitcell array 108 , sense amplifier (SA) circuitry 124 , and output circuitry (FF) 128 .
  • the bitcell array 108 may have multiple rows of bitcells, and the sense amplifier circuitry 124 may be coupled to each of the bitcells in each of the rows of bitcells via complementary bitlines (BL, NBL). Also, the bitcell array 108 may have a number of wordlines (WL 0 , WL 1 , . . .
  • each wordline (WL 0 , WL 1 , . . . , WLn) may have a corresponding wordline driver coupled thereto to provide wordlines signals by way of the wordlines (WL 0 , WL 1 , . . . , WLn) to corresponding rows of bitcells in the bitcell array 108 .
  • the memory circuitry 104 may receive multiple input signals, such as, e.g., address signal (Addr), a clock signal (CLK), a sense amplifier enable signal (SAEN), and a clear bit signal (CB). In some instances, the memory circuitry may receive other signals, such as, e.g., an enable signal (EN) and a chip-enable bit signal (CEB).
  • Address signal Address signal
  • CLK clock signal
  • SAEN sense amplifier enable signal
  • CB clear bit signal
  • the memory circuitry may receive other signals, such as, e.g., an enable signal (EN) and a chip-enable bit signal (CEB).
  • the address decoder circuitry 114 has a comparator 118 that may be configured to compare a current address to a previous address and an incoming address so as to thereby identify different stages of memory access operations.
  • the address decoder circuitry 114 may perform memory access operations in reference to the bitcell array 108 by way of the wordlines (WL 0 , WL 1 , . . . , WLn).
  • the bitcell array 108 may be coupled to the dynamic pipeline circuitry 120 by way of a number of complementary bitlines (BL/BLB), and also, the dynamic pipeline circuitry 120 may have the sense amplifier (SA) circuitry 124 and the output circuitry (FF) 128 .
  • SA sense amplifier
  • FF output circuitry
  • the bitcells in the bitcell array 108 may be coupled to the sense amplifier (SA) circuitry 124 by way of the bitlines (BL/BLB), and also, the SA circuitry 124 may provide a SA_output signal to the output circuitry (FF) 128 based on the SAEN signal.
  • the output circuitry (FF) 128 may refer to a flip-flop (FF) having a data input (D) and a data output (Q).
  • the SA circuitry 124 may be coupled to a data input (D) of the output circuitry (FF) 128 so as to provide the SA_output signal thereto, and also, the output circuitry (FF) 128 may provide an output signal (Q_output) based on the clock signal (CLK).
  • the dynamic pipeline circuitry 120 along with the various components 124 , 128 related thereto may operate based the enable signal (EN) and/or the chip enable bit signal (CEB) so as to activate the dynamic pipeline in accordance with various implementations described herein.
  • EN enable signal
  • CEB chip enable bit signal
  • the dynamically adjustable pipeline architecture 104 may operate as a device that uses the address decoder circuitry 114 along with the comparator 118 that may be configured to compare a current address to a previous address and an incoming address so as to thereby identify different stages of memory access operations. For instance, in a first stage, from a powered-down state, the device 104 may receive the enable signal (EN) that initiates power-up of the memory 108 . Also, in the first stage, the device 104 may receive the address (Addr) from an address port of the address decoder circuitry 114 , and also, in a second stage after the first stage, the device may power-up at least one wordline (WL 0 , WL 1 , . .
  • the device may capture data stored in the memory 108 and send-out the data to the output (Q_output) by way of the data access pipeline.
  • the device 104 may determine whether another memory access operation is impending based on the chip-enable bit (CEB), and in this instance, the chip-enable bit (CEB) may be used to provide the data access pipeline with forehand knowledge that another memory access operation is impending.
  • CEB chip-enable bit
  • the device may compare the address to the different address and determine whether a section of the memory 108 that was previously powered-up will be re-used. If previously powered-up, then the device may proceed directly to the second stage so as to perform another memory access operation with the different address. In addition, in the third stage, the device may compare the address to the different address and skip the first stage so as to proceed directly to the second stage.
  • CEB chip-enable bit
  • the device may compare the address to the different address and determine whether a section of the memory that was previously powered-up will be re-used. If not previously powered-up, then the device may proceed to the first stage to power-up the memory 108 and then proceed to the second stage to perform another memory access operation with the different address.
  • CEB chip-enable bit
  • the device may determine that there is no pending memory access operation and proceed to power-down the memory 108 in a power-down state. In various instances, there may be other stages that may be used.
  • the memory circuitry may be implemented as an integrated circuit (IC) in various types of memory, such as random access memory (RAM), static RAM (SRAM), magneto-resistive RAM (MRAM), and/or any other similar type of memory.
  • RAM random access memory
  • SRAM static RAM
  • MRAM magneto-resistive RAM
  • the memory circuitry may be implemented as an IC with single-port memory architecture and related circuitry, and the memory circuitry may also be integrated with computing circuitry and related components on a single chip.
  • the memory circuitry may be implemented in various embedded systems for various automotive, electronic, computer, mobile and IOT applications.
  • the memory circuitry may have the bitcell array 104 with multiple memory cells (or bitcells) arranged in the array 108 . Also, each bitcell may be configured to store at least one data bit value (e.g., a data value related to a logical ‘0’ or ‘1’).
  • the bitcell array 108 may have any number (N) of bitcells arranged in various applicable configurations, such as, e.g., a two-dimensional (2D) memory array having any number of columns (Ncolumns) and any number of rows (Nrows) with the bitcells arranged in a 2D grid pattern.
  • FIG. 2 illustrates a diagram 200 related to a dynamic pipeline technique 204 for memory access in accordance with various implementations described herein.
  • the technique 204 may refer to a process method that uses a dynamically adjustable pipeline for memory access operations, schemes and/or techniques.
  • technique 204 may be implemented in hardware and/or software. For instance, if implemented in hardware, technique 204 may be implemented with various components and/or circuitry, as described in FIG. 1 . Also, in other instances, if implemented in software, technique 204 may be implemented in program or software instruction processes that provide a dynamically adjustable pipeline for memory access operations, as described herein. Also, if implemented in software, instructions related to implementing technique 204 may be stored in memory, such as, e.g., a database. Also, in some implementations, a computer or various other types of computing devices with a processor and memory may be configured to perform technique 204 .
  • technique 204 may be used for fabricating and/or manufacturing, or causing to be fabricated and/or manufactured, an integrated circuit (IC) that implements various schemes and techniques in physical design as described herein so as to thereby provide the dynamically adjustable pipeline architecture for memory access using various devices, components and/or circuitry as described herein.
  • IC integrated circuit
  • the dynamic pipeline technique 204 may be dynamically adjustable so as to thereby operate as a method that may be configured to compare a current address to a previous address and an incoming address by utilizing various different stages of memory access operations.
  • the stages may include a first stage (S 1 ), a second stage (S 2 ), a third stage (S 3 ) and/or various additional stages.
  • the memory access operations may refer to read-write operations, wherein during the read-write operations, and based on the address, the data access pipeline is dynamically adjusted during the memory access operations.
  • the output of the memory may dynamically update or change based on the address.
  • technique 204 may begin in a shutdown mode 210 .
  • the technique 204 may receive an enable signal (e.g., EN) that initiates power-up (or wake-up) of the memory 108 .
  • the technique 204 may receive the address (e.g., Addr) from an address port.
  • the first stage (S 1 ) may be referred to as a power wake-up stage, or similar.
  • the technique 204 may power-up at least one wordline (e.g., at least one of WL 0 , WL 1 , . . . , WLn) so as to perform a memory access operation. Also, in the second stage (S 2 ), the technique 204 may select the address (e.g., Addr) based on one or more addresses received at the address port, and the second stage (S 2 ) may be referred to as a wordline (WL) turn-on stage. Further, in some instances, in stage two (S 2 ), the technique 204 may receive the address (e.g., Addr) that may be used to access the data stored in the memory 108 .
  • the address e.g., Addr
  • the technique 204 may capture data stored in the memory 108 and send-out data to the output (e.g., Q_output) by way of a data access pipeline. Also, in the third stage (S 3 ), the technique 204 may enable the data access pipeline to thereby perform memory access operations so as to access the data stored in the memory 108 based on the address (Addr). Also, in the third stage (S 3 ), the technique 204 may dynamically adjust the data access pipeline during memory access operations so as to output the data based on the address (e.g., Addr).
  • the address e.g., Addr
  • the technique 204 may determine whether another memory access operation is impending based on the chip-enable bit (e.g., CEB).
  • the chip-enable bit e.g., CEB
  • CEB may provide the data access pipeline with forehand knowledge of whether another memory access operation is impending.
  • the technique 204 may determine that there is no pending memory access operation so as to thereby proceed to block 228 for power-down (or shutdown) the memory 108 in a power-down state (or shutdown state).
  • the technique 204 may compare (e.g., with comparator 118 ) the address (e.g., Addr) to the different address and determine whether a section of the memory 108 that was previously powered-up will be re-used. Also, if previously powered-up, then the technique 204 may proceed directly to the second stage (S 2 ) so as to perform another memory access operation with the different address.
  • the address e.g., Addr
  • the technique 204 may then compare (e.g., with the comparator 118 ) the address (e.g., Addr) to the different address so as to skip the first stage (S 1 ) to thereby proceed directly to the second stage (S 2 ).
  • the technique 204 may enable the data access pipeline to perform memory access operations so as to access the data stored in the memory 108 based on the address (Addr).
  • the technique 204 may dynamically adjust the data access pipeline during memory access operations so as to output data based on the address (e.g., Addr).
  • the technique 204 may compare (e.g., with comparator 118 ) the address (e.g., Addr) to the different address so as to thereby determine whether a section of the memory 108 that was previously powered-up will be re-used. In this instance, if not previously powered-up, then the technique 204 may proceed to the first stage (S 1 ) to power-up the memory 108 and then proceed to the second stage (S 2 ) to perform another memory access operation with the different address.
  • the address e.g., Addr
  • the technique 204 may enable the data access pipeline to perform memory access operations so as to access the data stored in the memory 108 based on the address (Addr). Further, the technique 204 may dynamically adjust the data access pipeline during memory access operations so as to output data based on the address (e.g., Addr).
  • the technique 204 may determine that there is no pending memory access operation so as to thereby proceed to block 228 for power-down (or shutdown) the memory 108 in a power-down state (or shutdown state).
  • the data may refer to multi-bit data
  • the memory 108 refers to the array of bitcells that are configured to store the multi-bit data.
  • the array of bitcells may be arranged in columns and rows, and each column of the columns may be configured to provide at least one bit of data of the multi-bit data stored in the array of bitcells.
  • the memory access operations may refer to data-bit clearing operations, wherein during these clearing operations, and also based on the address (e.g., Addr), the technique 204 may perform an invalidate operation by clearing at least one bit on a wordline (WL) based on the clear-bit signal (CB).
  • WL wordline
  • CB clear-bit signal
  • FIG. 3 illustrates a diagram of a method 300 for providing dynamically adjustable pipeline architecture in accordance with various implementations described herein. Also, as described herein, method 300 may be used so as to provide dynamically adjustable pipeline circuitry for memory access operations, schemes and/or techniques.
  • method 300 may be implemented in hardware and/or software. For instance, if implemented in hardware, method 300 may be implemented with various components and/or circuitry, as described in FIGS. 1 - 2 . Also, in other instances, if implemented in software, method 300 may be implemented as a program or software instruction process that provides dynamically adjustable pipeline architecture for memory access operations, as described herein. Also, if implemented in software, various instructions related to implementing method 300 may be stored in memory, such as, e.g., a database. Also, in some implementations, a computer or various other types of computing devices with a processor and memory may be configured to perform method 300 .
  • the method 300 may be used for fabricating and/or manufacturing, or causing to be fabricated and/or manufactured, an integrated circuit (IC) that implements various schemes and techniques in physical design as described herein so as to thereby provide the dynamically adjustable pipeline architecture for memory access using various devices, components and/or circuitry as described herein.
  • IC integrated circuit
  • method 300 may provide memory circuitry with an array of bitcells that store data. Also, at block 320 , method 300 may provide address decoder circuitry that receives an address for accessing the data stored in the array of bitcells. Also, at block 330 , method 300 may provide dynamic pipeline circuitry that enables a data access pipeline to perform memory access operations so as to access the data stored in the memory based on the address. In some implementations, the dynamic pipeline circuitry may be configured to dynamically adjust (or adapt, or modify, or regulate) the data access pipeline during the memory access operations so as to output the data based on the address. Further, at block 340 , method 300 may manufacture, or cause to be manufactured, an integrated circuit with the memory circuitry and the dynamic pipeline circuitry.
  • the memory access operations may refer to read-write operations, and during the read-write operations, and based on the address, the data access pipeline may be dynamically adjusted during the memory access operations.
  • the output of the memory dynamically may update or change based on the address.
  • the memory access operations may refer to clearing operations, and during the clearing operations, and based on the address, method 300 may perform an invalidate operation by clearing a bit on a wordline based on a clear-bit signal.
  • the method in a first stage, from a powered-down state, may receive an enable signal that initiates power-up of the memory, and in the first stage, method 300 may receive the address from an address port. Also, in a second stage after the first stage, method 300 may power-up at least one wordline to perform the memory access operation. Further, in a third stage after the second stage, method 300 may capture data stored in the memory and send-out the data to the output by way of the data access pipeline, and at an end of the third stage, method 300 may determine whether another memory access operation is impending based on a chip-enable bit. Moreover, in some instances, the chip-enable bit may provide the data access pipeline with forehand knowledge that another memory access operation is impending.
  • method 300 may compare the address to the different address and determine whether a section of the memory that was previously powered-up will be re-used. Also, if previously powered-up, then method 300 proceeds directly to the second stage so as to perform another memory access operation with the different address. Further, in the third stage, method 300 may compare the address to the different address and skip the first stage so as to proceed directly to the second stage.
  • method 300 may compare the address to the different address and determines whether a section of the memory that was previously powered-up will be re-used. Also, if not previously powered-up, then method 300 may proceed to the first stage to power-up the memory and then proceed to the second stage to perform another memory access operation with the different address.
  • method 300 may determine that there is no pending memory access operation and proceeds to power-down the memory in a power-down state.
  • the data may refer to multi-bit data
  • the memory may refer to an array of bitcells that are configured to store the multi-bit data.
  • the array of bitcells may be arranged in columns and rows, and further, each column of the columns may provide at least one bit of data of the multi-bit data stored in the array of bitcells.
  • the method may receive an address to access data stored in memory.
  • the method may enable a data access pipeline to perform memory access operations so as to access the data stored in the memory based on the address.
  • the method may dynamically adjust the data access pipeline during the memory access operations so as to output the data based on the address.
  • a device having memory circuitry with an array of bitcells that store data.
  • the device may have address decoder circuitry that receives an address for accessing the data stored in the array of bitcells.
  • the device may have dynamic pipeline circuitry that enables a data access pipeline to perform memory access operations so as to access the data stored in the memory based on the address.
  • the dynamic pipeline circuitry may be configured to dynamically adjust the data access pipeline during the memory access operations so as to output the data based on the address.
  • the method may provide memory circuitry with an array of bitcells that store data.
  • the method may provide address decoder circuitry that receives an address for accessing the data stored in the array of bitcells.
  • the method may provide dynamic pipeline circuitry that enables a data access pipeline to perform memory access operations so as to access the data stored in the memory based on the address.
  • the dynamic pipeline circuitry may dynamically adjust the data access pipeline during the memory access operations so as to output the data based on the address.
  • the method may manufacture, or cause to be manufactured, an integrated circuit with the memory circuitry and the dynamic pipeline circuitry.
  • first, second, etc. may be used herein to describe various elements, these elements should not be limited by these terms. These terms are only used to distinguish one element from another. For instance, a first element could be termed a second element, and, similarly, a second element could be termed a first element. Also, the first element and the second element are both elements, respectively, but they are not to be considered the same element.
  • the term “if” may be construed to mean “when” or “upon” or “in response to determining” or “in response to detecting,” depending on the context.
  • the phrase “if it is determined” or “if [a stated condition or event] is detected” may be construed to mean “upon determining” or “in response to determining” or “upon detecting [the stated condition or event]” or “in response to detecting [the stated condition or event],” depending on the context.

Abstract

Various implementations described herein are directed to a method. The method may receive an address to access data stored in memory. The method may enable a data access pipeline to perform memory access operations so as to access the data stored in the memory based on the address. The method may dynamically adjust the data access pipeline during the memory access operations so as to output the data based on the address.

Description

    BACKGROUND
  • This section is intended to provide information relevant to understanding various technologies described herein. As the section's title implies, this is a discussion of related art that should in no way imply that it is prior art. Generally, related art may or may not be considered prior art. It should therefore be understood that any statement in this section should be read in this light, and not as any admission of prior art.
  • In conventional circuit designs, many memory devices utilize a fixed pipeline along with a single-clock cycle design, and as such, these conventional memory devices typically have a statically unchangeable pipeline. The fixed-pipeline refers to an internal data pipeline in the memory devices that is unmodifiable, and when using this fixed-pipeline technique, the conventional memory device is typically used in low speed memory applications. Thus, there exists a need to improve the speed and efficiency of integrated pipeline designs that enhance power and performance targets in modern conventional circuitry.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • Implementations of various memory layout schemes and techniques are described herein with reference to the accompanying drawings. It should be understood, however, that the accompanying drawings illustrate only various implementations described herein and are not meant to limit embodiments of various techniques described herein.
  • FIG. 1 illustrates a diagram of dynamically adjustable pipeline architecture for memory access in accordance with various implementations described herein.
  • FIG. 2 illustrates a diagram related to a dynamic pipeline technique for memory access in accordance with various implementations described herein.
  • FIG. 3 illustrates a diagram of a method for providing dynamically adjustable pipeline architecture in accordance with various implementations described herein.
  • DETAILED DESCRIPTION
  • Various implementations described herein refer to dynamically adjustable pipeline architecture for various memory access schemes and techniques that support applications in reference to physical circuit designs. Various applications related to area optimal dynamic pipeline circuitry may be used in memory applications that are configured to dynamically change (or modify, or adjust) its pipeline in real-time based on demand and/or changes in system requirements when operating in real-time. Also, the various schemes and techniques described herein may provide for a dynamically adjustable pipeline that uses a multi-clock cycle design. Thus, various aspects of the present disclosure describe a pipeline that dynamically changes, and this pipeline operates by changing the internal data pipeline of memory based on an input into the memory. By using this technique, the memory may be used for low power and/or high speed applications.
  • Various implementations of providing dynamically adjustable pipeline architecture for memory access operations will be described herein with reference to FIGS. 1-3 .
  • FIG. 1 illustrates a diagram 100 of dynamically adjustable pipeline architecture 104 for memory access in accordance with various implementations described herein.
  • In various implementations, dynamically adjustable pipeline architecture may be implemented as a system or a device having various integrated circuit (IC) components that are arranged and coupled together as an assemblage or a combination of parts that provide for physical circuit designs and related structures. In some instances, a method of designing, providing, fabricating and/or manufacturing dynamically adjustable pipeline architecture as an integrated system or device may involve use of various IC circuit components described herein to implement various related fabrication schemes and techniques associated therewith. Also, the dynamically adjustable pipeline architecture may be integrated with various computing circuitry and components on a single chip, and further, the dynamically adjustable pipeline architecture may be implemented and/or incorporated in various types of embedded systems for automotive, computer, electronic, mobile phones, server and Internet-of-things (loT) applications, including remote sensor nodes.
  • As shown in FIG. 1 , the dynamically adjustable pipeline architecture 104 may be referred to as memory circuitry with an array of bitcells 108 that is configured to store data. Also, the dynamically adjustable pipeline architecture 104 (or memory circuitry) may have address decoder circuitry 114 that receives an address (Addr) for accessing the data stored in the array of bitcells 108. The dynamically adjustable pipeline architecture 104 may have dynamic pipeline circuitry 120 that enables a data access pipeline to perform memory access operations in reference to the array of bitcells 108 so as to access the data stored in the memory based on the address (Addr). Also, in various instances, the dynamic pipeline circuitry 120 may be configured to dynamically adjust the data access pipeline during the memory access operations so as to output the data based on the address (Addr). Also, in other instances, the dynamically adjustable pipeline architecture 104 may be referred to as a device having memory circuitry including various components related thereto.
  • In some implementations, the memory circuitry 104 may include various circuitry such as, e.g., the address decoder 114, the bitcell array 108, sense amplifier (SA) circuitry 124, and output circuitry (FF) 128. The bitcell array 108 may have multiple rows of bitcells, and the sense amplifier circuitry 124 may be coupled to each of the bitcells in each of the rows of bitcells via complementary bitlines (BL, NBL). Also, the bitcell array 108 may have a number of wordlines (WL0, WL1, . . . , WLn) that are coupled between the address decoder 114 and corresponding rows of bitcells in the bitcell array 108 for access to the bitcells based on a selected wordline. Also, each wordline (WL0, WL1, . . . , WLn) may have a corresponding wordline driver coupled thereto to provide wordlines signals by way of the wordlines (WL0, WL1, . . . , WLn) to corresponding rows of bitcells in the bitcell array 108.
  • Also, in various instances, the memory circuitry 104 may receive multiple input signals, such as, e.g., address signal (Addr), a clock signal (CLK), a sense amplifier enable signal (SAEN), and a clear bit signal (CB). In some instances, the memory circuitry may receive other signals, such as, e.g., an enable signal (EN) and a chip-enable bit signal (CEB).
  • In some implementations, the address decoder circuitry 114 has a comparator 118 that may be configured to compare a current address to a previous address and an incoming address so as to thereby identify different stages of memory access operations. The address decoder circuitry 114 may perform memory access operations in reference to the bitcell array 108 by way of the wordlines (WL0, WL1, . . . , WLn). The bitcell array 108 may be coupled to the dynamic pipeline circuitry 120 by way of a number of complementary bitlines (BL/BLB), and also, the dynamic pipeline circuitry 120 may have the sense amplifier (SA) circuitry 124 and the output circuitry (FF) 128. As such, in some instances, the bitcells in the bitcell array 108 may be coupled to the sense amplifier (SA) circuitry 124 by way of the bitlines (BL/BLB), and also, the SA circuitry 124 may provide a SA_output signal to the output circuitry (FF) 128 based on the SAEN signal. The output circuitry (FF) 128 may refer to a flip-flop (FF) having a data input (D) and a data output (Q). Further, the SA circuitry 124 may be coupled to a data input (D) of the output circuitry (FF) 128 so as to provide the SA_output signal thereto, and also, the output circuitry (FF) 128 may provide an output signal (Q_output) based on the clock signal (CLK). Also, in various instances, the dynamic pipeline circuitry 120 along with the various components 124, 128 related thereto may operate based the enable signal (EN) and/or the chip enable bit signal (CEB) so as to activate the dynamic pipeline in accordance with various implementations described herein.
  • In some implementations, as described herein, the dynamically adjustable pipeline architecture 104 may operate as a device that uses the address decoder circuitry 114 along with the comparator 118 that may be configured to compare a current address to a previous address and an incoming address so as to thereby identify different stages of memory access operations. For instance, in a first stage, from a powered-down state, the device 104 may receive the enable signal (EN) that initiates power-up of the memory 108. Also, in the first stage, the device 104 may receive the address (Addr) from an address port of the address decoder circuitry 114, and also, in a second stage after the first stage, the device may power-up at least one wordline (WL0, WL1, . . . , WLn) to perform the memory access operation. Further, in a third stage after the second stage, the device may capture data stored in the memory 108 and send-out the data to the output (Q_output) by way of the data access pipeline. Moreover, at near the end of the third stage, the device 104 may determine whether another memory access operation is impending based on the chip-enable bit (CEB), and in this instance, the chip-enable bit (CEB) may be used to provide the data access pipeline with forehand knowledge that another memory access operation is impending.
  • In various implementations, in reference to the third stage, if a different address is impending based on the chip-enable bit (CEB), then the device may compare the address to the different address and determine whether a section of the memory 108 that was previously powered-up will be re-used. If previously powered-up, then the device may proceed directly to the second stage so as to perform another memory access operation with the different address. In addition, in the third stage, the device may compare the address to the different address and skip the first stage so as to proceed directly to the second stage.
  • In the third stage, if a different address is impending based on the chip-enable bit (CEB), then the device may compare the address to the different address and determine whether a section of the memory that was previously powered-up will be re-used. If not previously powered-up, then the device may proceed to the first stage to power-up the memory 108 and then proceed to the second stage to perform another memory access operation with the different address.
  • In various implementations, in reference to the third stage, if a different address is not impending based on the chip-enable bit CEB), then the device may determine that there is no pending memory access operation and proceed to power-down the memory 108 in a power-down state. In various instances, there may be other stages that may be used.
  • The memory circuitry may be implemented as an integrated circuit (IC) in various types of memory, such as random access memory (RAM), static RAM (SRAM), magneto-resistive RAM (MRAM), and/or any other similar type of memory. The memory circuitry may be implemented as an IC with single-port memory architecture and related circuitry, and the memory circuitry may also be integrated with computing circuitry and related components on a single chip. The memory circuitry may be implemented in various embedded systems for various automotive, electronic, computer, mobile and IOT applications.
  • The memory circuitry may have the bitcell array 104 with multiple memory cells (or bitcells) arranged in the array 108. Also, each bitcell may be configured to store at least one data bit value (e.g., a data value related to a logical ‘0’ or ‘1’). The bitcell array 108 may have any number (N) of bitcells arranged in various applicable configurations, such as, e.g., a two-dimensional (2D) memory array having any number of columns (Ncolumns) and any number of rows (Nrows) with the bitcells arranged in a 2D grid pattern.
  • FIG. 2 illustrates a diagram 200 related to a dynamic pipeline technique 204 for memory access in accordance with various implementations described herein. As described herein, the technique 204 may refer to a process method that uses a dynamically adjustable pipeline for memory access operations, schemes and/or techniques.
  • It should be understood that even though technique 204 indicates a particular order of operation execution, in some cases, various portions of operations may be executed in a different order, and on different systems. In other cases, additional operations and/or steps may be added to or omitted from technique 204. Also, technique 204 may be implemented in hardware and/or software. For instance, if implemented in hardware, technique 204 may be implemented with various components and/or circuitry, as described in FIG. 1 . Also, in other instances, if implemented in software, technique 204 may be implemented in program or software instruction processes that provide a dynamically adjustable pipeline for memory access operations, as described herein. Also, if implemented in software, instructions related to implementing technique 204 may be stored in memory, such as, e.g., a database. Also, in some implementations, a computer or various other types of computing devices with a processor and memory may be configured to perform technique 204.
  • As described in reference to FIG. 2 , technique 204 may be used for fabricating and/or manufacturing, or causing to be fabricated and/or manufactured, an integrated circuit (IC) that implements various schemes and techniques in physical design as described herein so as to thereby provide the dynamically adjustable pipeline architecture for memory access using various devices, components and/or circuitry as described herein.
  • In some implementations, the dynamic pipeline technique 204 may be dynamically adjustable so as to thereby operate as a method that may be configured to compare a current address to a previous address and an incoming address by utilizing various different stages of memory access operations. In some instances, the stages may include a first stage (S1), a second stage (S2), a third stage (S3) and/or various additional stages. In various instances, the memory access operations may refer to read-write operations, wherein during the read-write operations, and based on the address, the data access pipeline is dynamically adjusted during the memory access operations. In addition, the output of the memory may dynamically update or change based on the address.
  • At block 210, technique 204 may begin in a shutdown mode 210. At block 214, in reference to the first stage (S1), from a powered-down state, the technique 204 may receive an enable signal (e.g., EN) that initiates power-up (or wake-up) of the memory 108. Also, in the first stage (S1), the technique 204 may receive the address (e.g., Addr) from an address port. The first stage (S1) may be referred to as a power wake-up stage, or similar. At block 218, in reference to the second stage (S2), after the first stage (S1), the technique 204 may power-up at least one wordline (e.g., at least one of WL0, WL1, . . . , WLn) so as to perform a memory access operation. Also, in the second stage (S2), the technique 204 may select the address (e.g., Addr) based on one or more addresses received at the address port, and the second stage (S2) may be referred to as a wordline (WL) turn-on stage. Further, in some instances, in stage two (S2), the technique 204 may receive the address (e.g., Addr) that may be used to access the data stored in the memory 108.
  • At block 224, in reference to the third stage (S3), after the second stage (S2), the technique 204 may capture data stored in the memory 108 and send-out data to the output (e.g., Q_output) by way of a data access pipeline. Also, in the third stage (S3), the technique 204 may enable the data access pipeline to thereby perform memory access operations so as to access the data stored in the memory 108 based on the address (Addr). Also, in the third stage (S3), the technique 204 may dynamically adjust the data access pipeline during memory access operations so as to output the data based on the address (e.g., Addr). Also, at the end of the third stage (S3), the technique 204 may determine whether another memory access operation is impending based on the chip-enable bit (e.g., CEB). In some instances, the chip-enable bit (CEB) may provide the data access pipeline with forehand knowledge of whether another memory access operation is impending.
  • In some implementations, at block 228, in the third stage (S3), if a different address is not impending (i.e., if no pending address) based on the chip-enable bit (e.g., CEB), then the technique 204 may determine that there is no pending memory access operation so as to thereby proceed to block 228 for power-down (or shutdown) the memory 108 in a power-down state (or shutdown state).
  • In other implementations, at block 234, in the third stage (S3), if a different address is impending based on the chip-enable bit (e.g., CEB), then the technique 204 may compare (e.g., with comparator 118) the address (e.g., Addr) to the different address and determine whether a section of the memory 108 that was previously powered-up will be re-used. Also, if previously powered-up, then the technique 204 may proceed directly to the second stage (S2) so as to perform another memory access operation with the different address. Further, in the third stage (S3), the technique 204 may then compare (e.g., with the comparator 118) the address (e.g., Addr) to the different address so as to skip the first stage (S1) to thereby proceed directly to the second stage (S2). At block 238, in the third stage (S3), the technique 204 may enable the data access pipeline to perform memory access operations so as to access the data stored in the memory 108 based on the address (Addr). Also, at block 238, the technique 204 may dynamically adjust the data access pipeline during memory access operations so as to output data based on the address (e.g., Addr).
  • In other implementations, at block 234, in the third stage (S3), if a different address is impending based on the chip-enable bit (e.g., CEB), then the technique 204 may compare (e.g., with comparator 118) the address (e.g., Addr) to the different address so as to thereby determine whether a section of the memory 108 that was previously powered-up will be re-used. In this instance, if not previously powered-up, then the technique 204 may proceed to the first stage (S1) to power-up the memory 108 and then proceed to the second stage (S2) to perform another memory access operation with the different address. At block 238, in the third stage (S3), the technique 204 may enable the data access pipeline to perform memory access operations so as to access the data stored in the memory 108 based on the address (Addr). Further, the technique 204 may dynamically adjust the data access pipeline during memory access operations so as to output data based on the address (e.g., Addr).
  • In some implementations, at block 244, in the third stage (S3), if a different address is not impending (i.e., if no pending address) based on the chip-enable bit (e.g., CEB), then the technique 204 may determine that there is no pending memory access operation so as to thereby proceed to block 228 for power-down (or shutdown) the memory 108 in a power-down state (or shutdown state).
  • In some implementations, the data may refer to multi-bit data, wherein the memory 108 refers to the array of bitcells that are configured to store the multi-bit data. Also, in some instances, the array of bitcells may be arranged in columns and rows, and each column of the columns may be configured to provide at least one bit of data of the multi-bit data stored in the array of bitcells. Further, in some instances, the memory access operations may refer to data-bit clearing operations, wherein during these clearing operations, and also based on the address (e.g., Addr), the technique 204 may perform an invalidate operation by clearing at least one bit on a wordline (WL) based on the clear-bit signal (CB).
  • FIG. 3 illustrates a diagram of a method 300 for providing dynamically adjustable pipeline architecture in accordance with various implementations described herein. Also, as described herein, method 300 may be used so as to provide dynamically adjustable pipeline circuitry for memory access operations, schemes and/or techniques.
  • It should be understood that even though method 300 indicates a particular order of operation execution, in some cases, various portions of operations may be executed in a different order, and on different systems. In other cases, additional operations and/or steps may be added to and/or omitted from method 300. Also, method 300 may be implemented in hardware and/or software. For instance, if implemented in hardware, method 300 may be implemented with various components and/or circuitry, as described in FIGS. 1-2 . Also, in other instances, if implemented in software, method 300 may be implemented as a program or software instruction process that provides dynamically adjustable pipeline architecture for memory access operations, as described herein. Also, if implemented in software, various instructions related to implementing method 300 may be stored in memory, such as, e.g., a database. Also, in some implementations, a computer or various other types of computing devices with a processor and memory may be configured to perform method 300.
  • As described in reference to FIG. 3 , the method 300 may be used for fabricating and/or manufacturing, or causing to be fabricated and/or manufactured, an integrated circuit (IC) that implements various schemes and techniques in physical design as described herein so as to thereby provide the dynamically adjustable pipeline architecture for memory access using various devices, components and/or circuitry as described herein.
  • At block 310, method 300 may provide memory circuitry with an array of bitcells that store data. Also, at block 320, method 300 may provide address decoder circuitry that receives an address for accessing the data stored in the array of bitcells. Also, at block 330, method 300 may provide dynamic pipeline circuitry that enables a data access pipeline to perform memory access operations so as to access the data stored in the memory based on the address. In some implementations, the dynamic pipeline circuitry may be configured to dynamically adjust (or adapt, or modify, or regulate) the data access pipeline during the memory access operations so as to output the data based on the address. Further, at block 340, method 300 may manufacture, or cause to be manufactured, an integrated circuit with the memory circuitry and the dynamic pipeline circuitry.
  • In some implementations, the memory access operations may refer to read-write operations, and during the read-write operations, and based on the address, the data access pipeline may be dynamically adjusted during the memory access operations. The output of the memory dynamically may update or change based on the address. Moreover, in other implementations, the memory access operations may refer to clearing operations, and during the clearing operations, and based on the address, method 300 may perform an invalidate operation by clearing a bit on a wordline based on a clear-bit signal.
  • In some implementations, in a first stage, from a powered-down state, the method may receive an enable signal that initiates power-up of the memory, and in the first stage, method 300 may receive the address from an address port. Also, in a second stage after the first stage, method 300 may power-up at least one wordline to perform the memory access operation. Further, in a third stage after the second stage, method 300 may capture data stored in the memory and send-out the data to the output by way of the data access pipeline, and at an end of the third stage, method 300 may determine whether another memory access operation is impending based on a chip-enable bit. Moreover, in some instances, the chip-enable bit may provide the data access pipeline with forehand knowledge that another memory access operation is impending.
  • In some instances, in the third stage, if a different address is impending based on the chip-enable bit, then method 300 may compare the address to the different address and determine whether a section of the memory that was previously powered-up will be re-used. Also, if previously powered-up, then method 300 proceeds directly to the second stage so as to perform another memory access operation with the different address. Further, in the third stage, method 300 may compare the address to the different address and skip the first stage so as to proceed directly to the second stage.
  • In some instances, in the third stage, if a different address is impending based on the chip-enable bit, then method 300 may compare the address to the different address and determines whether a section of the memory that was previously powered-up will be re-used. Also, if not previously powered-up, then method 300 may proceed to the first stage to power-up the memory and then proceed to the second stage to perform another memory access operation with the different address.
  • In some instances, in the third stage, if a different address is not impending based on the chip-enable bit, then method 300 may determine that there is no pending memory access operation and proceeds to power-down the memory in a power-down state. Also, the data may refer to multi-bit data, and further, the memory may refer to an array of bitcells that are configured to store the multi-bit data. Also, in some instances, the array of bitcells may be arranged in columns and rows, and further, each column of the columns may provide at least one bit of data of the multi-bit data stored in the array of bitcells.
  • It should be intended that the subject matter of the claims not be limited to various implementations and/or illustrations provided herein, but should include any modified forms of those implementations including portions of implementations and combinations of various elements in reference to different implementations in accordance with the claims. It should also be appreciated that in development of any such implementation, as in any engineering or design project, numerous implementation-specific decisions should be made to achieve developers' specific goals, such as, e.g., compliance with system-related constraints and/or business related constraints, which may vary from one implementation to another. Moreover, it should be appreciated that such a development effort may be complex and time consuming, but would nevertheless be a routine undertaking of design, fabrication, and manufacture for those of ordinary skill having benefit of this disclosure.
  • Described herein are various implementations of a method. The method may receive an address to access data stored in memory. The method may enable a data access pipeline to perform memory access operations so as to access the data stored in the memory based on the address. The method may dynamically adjust the data access pipeline during the memory access operations so as to output the data based on the address.
  • Described herein are various implementations of a device having memory circuitry with an array of bitcells that store data. The device may have address decoder circuitry that receives an address for accessing the data stored in the array of bitcells. The device may have dynamic pipeline circuitry that enables a data access pipeline to perform memory access operations so as to access the data stored in the memory based on the address. The dynamic pipeline circuitry may be configured to dynamically adjust the data access pipeline during the memory access operations so as to output the data based on the address.
  • Described herein are various implementations of a method. The method may provide memory circuitry with an array of bitcells that store data. The method may provide address decoder circuitry that receives an address for accessing the data stored in the array of bitcells. The method may provide dynamic pipeline circuitry that enables a data access pipeline to perform memory access operations so as to access the data stored in the memory based on the address. The dynamic pipeline circuitry may dynamically adjust the data access pipeline during the memory access operations so as to output the data based on the address. The method may manufacture, or cause to be manufactured, an integrated circuit with the memory circuitry and the dynamic pipeline circuitry.
  • Reference has been made in detail to various implementations, examples of which are illustrated in accompanying drawings and figures. In the following detailed description, numerous specific details are set forth to provide a thorough understanding of the disclosure provided herein. However, the disclosure provided herein may be practiced without these specific details. In various implementations, well-known methods, procedures, components, circuits and networks have not been described in detail so as not to unnecessarily obscure details of the embodiments.
  • It should also be understood that, although various terms first, second, etc. may be used herein to describe various elements, these elements should not be limited by these terms. These terms are only used to distinguish one element from another. For instance, a first element could be termed a second element, and, similarly, a second element could be termed a first element. Also, the first element and the second element are both elements, respectively, but they are not to be considered the same element.
  • The terminology used in the description of the disclosure provided herein is for the purpose of describing particular implementations and is not intended to limit the disclosure provided herein. As used in the description of the disclosure provided herein and appended claims, the singular forms “a,” “an,” and “the” are intended to include the plural forms as well, unless the context clearly indicates otherwise. The term “and/or” as used herein refers to and encompasses any and all possible combinations of one or more of the associated listed items. The terms “includes,” “including,” “comprises,” and/or “comprising,” when used in this specification, specify a presence of stated features, integers, steps, operations, elements, and/or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components and/or groups thereof.
  • As used herein, the term “if” may be construed to mean “when” or “upon” or “in response to determining” or “in response to detecting,” depending on the context. Similarly, the phrase “if it is determined” or “if [a stated condition or event] is detected” may be construed to mean “upon determining” or “in response to determining” or “upon detecting [the stated condition or event]” or “in response to detecting [the stated condition or event],” depending on the context. The terms “up” and “down”; “upper” and “lower”; “upwardly” and “downwardly”; “below” and “above”; and various other similar terms that indicate relative positions above or below a given point or element may be used in connection with various implementations of various technologies described herein.
  • While the foregoing is directed to implementations of various techniques described herein, other and further implementations may be devised in accordance with the disclosure herein, which may be determined by the claims that follow. Although the subject matter has been described in language specific to structural features and/or methodological acts, it is to be understood that the subject matter defined in the appended claims is not necessarily limited to the specific features or acts described above. Rather, specific features and/or acts described above are disclosed as example forms of implementing the claims.

Claims (20)

What is claimed is:
1. A method comprising:
receiving an address to access data stored in memory;
enabling a data access pipeline to perform memory access operations so as to access the data stored in the memory based on the address; and
dynamically adjusting the data access pipeline during the memory access operations so as to output the data based on the address.
2. The method of claim 1, wherein:
the memory access operations refer to read-write operations,
during the read-write operations, and based on the address, the data access pipeline is dynamically adjusted during the memory access operations, and
the output of the memory dynamically updates or changes based on the address.
3. The method of claim 1, wherein:
in a first stage, from a powered-down state, the method receives an enable signal that initiates power-up of the memory, and
in the first stage, the method receives the address from an address port.
4. The method of claim 3, wherein:
in a second stage after the first stage, the method powers-up at least one wordline to perform the memory access operation.
5. The method of claim 4, wherein:
in a third stage after the second stage, the method captures data stored in the memory and sends-out the data to the output by way of the data access pipeline, and
at an end of the third stage, the method determines whether another memory access operation is impending based on a chip-enable bit.
6. The method of claim 5, wherein:
the chip-enable bit provides the data access pipeline with forehand knowledge of the another memory access operation is impending.
7. The method of claim 5, wherein:
in the third stage, if a different address is impending based on the chip-enable bit, then the method compares the address to the different address and determines whether a section of the memory that was previously powered-up will be re-used, and
if previously powered-up, then the method proceeds directly to the second stage so as to perform another memory access operation with the different address.
8. The method of claim 7, wherein:
in the third stage, the method compares the address to the different address and skips the first stage so as to proceed directly to the second stage.
9. The method of claim 5, wherein:
in the third stage, if a different address is impending based on the chip-enable bit, then the method compares the address to the different address and determines whether a section of the memory that was previously powered-up will be re-used, and
if not previously powered-up, then the method proceeds to the first stage to power-up the memory and then proceeds to the second stage to perform another memory access operation with the different address.
10. The method of claim 5, wherein:
in the third stage, if a different address is not impending based on the chip-enable bit, then the method determines that there is no pending memory access operation and proceeds to power-down the memory in a power-down state.
11. The method of claim 1, wherein the data refers to multi-bit data, wherein the memory refers to an array of bitcells that are configured to store the multi-bit data.
12. The method of claim 11, wherein:
the array of bitcells is arranged in columns and rows, and
each column of the columns provides at least one bit of data of the multi-bit data stored in the array of bitcells.
13. The method of claim 1, wherein:
the memory access operations refer to clearing operations, and
during the clearing operations, and based on the address, the method performs an invalidate operation by clearing a bit on a wordline based on a clear-bit signal.
14. A device comprising:
memory circuitry having an array of bitcells that store data;
address decoder circuitry that receives an address for accessing the data stored in the array of bitcells; and
dynamic pipeline circuitry that enables a data access pipeline to perform memory access operations so as to access the data stored in the memory based on the address, wherein the dynamic pipeline circuitry dynamically adjusts the data access pipeline during the memory access operations so as to output the data based on the address.
15. The device of claim 14, wherein:
in a first stage, from a powered-down state, the device receives an enable signal that initiates power-up of the memory,
in the first stage, the device receives the address from an address port, and
in a second stage after the first stage, the device powers-up at least one wordline to perform the memory access operation.
16. The device of claim 15, wherein:
in a third stage after the second stage, the device captures data stored in the memory and sends-out the data to the output by way of the data access pipeline,
at an end of the third stage, the device determines whether another memory access operation is impending based on a chip-enable bit, and
the chip-enable bit provides the data access pipeline with forehand knowledge of the another memory access operation is impending.
17. The device of claim 16, wherein:
in the third stage, if a different address is impending based on the chip-enable bit, then the device compares the address to the different address and determines whether a section of the memory that was previously powered-up will be re-used,
if previously powered-up, then the device proceeds directly to the second stage so as to perform another memory access operation with the different address, and
in the third stage, the device compares the address to the different address and skip the first stage so as to proceed directly to the second stage.
18. The device of claim 16, wherein:
in the third stage, if a different address is impending based on the chip-enable bit, then the device compares the address to the different address and determines whether a section of the memory that was previously powered-up will be re-used, and
if not previously powered-up, then the device proceeds to the first stage to power-up the memory and then proceeds to the second stage to perform another memory access operation with the different address.
19. The device of claim 16, wherein:
in the third stage, if a different address is not impending based on the chip-enable bit, then the device determines that there is no pending memory access operation and proceeds to power-down the memory in a power-down state.
20. A method comprising:
providing memory circuitry with an array of bitcells that store data;
providing address decoder circuitry that receives an address for accessing the data stored in the array of bitcells;
providing dynamic pipeline circuitry that enables a data access pipeline to perform memory access operations so as to access the data stored in the memory based on the address, wherein the dynamic pipeline circuitry dynamically adjusts the data access pipeline during the memory access operations so as to output the data based on the address; and
manufacturing, or causing to be manufactured, an integrated circuit with the memory circuitry and the dynamic pipeline circuitry.
US17/482,298 2021-09-22 2021-09-22 Dynamically adjustable pipeline for memory access Active 2041-11-24 US11967360B2 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US17/482,298 US11967360B2 (en) 2021-09-22 2021-09-22 Dynamically adjustable pipeline for memory access
KR1020220116716A KR20230042651A (en) 2021-09-22 2022-09-15 Dynamically adjustable pipeline for memory access

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US17/482,298 US11967360B2 (en) 2021-09-22 2021-09-22 Dynamically adjustable pipeline for memory access

Publications (2)

Publication Number Publication Date
US20230092241A1 true US20230092241A1 (en) 2023-03-23
US11967360B2 US11967360B2 (en) 2024-04-23

Family

ID=85572685

Family Applications (1)

Application Number Title Priority Date Filing Date
US17/482,298 Active 2041-11-24 US11967360B2 (en) 2021-09-22 2021-09-22 Dynamically adjustable pipeline for memory access

Country Status (2)

Country Link
US (1) US11967360B2 (en)
KR (1) KR20230042651A (en)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060018171A1 (en) * 2003-03-20 2006-01-26 Arm Limited Memory system having fast and slow data reading mechanisms
US20080016321A1 (en) * 2006-07-11 2008-01-17 Pennock James D Interleaved hardware multithreading processor architecture
US20090213668A1 (en) * 2008-02-21 2009-08-27 Shayan Zhang Adjustable pipeline in a memory circuit
US20150348605A1 (en) * 2014-05-30 2015-12-03 Samsung Electronics Co., Ltd. Nonvolatile memory device and storage device having the same
US20180367460A1 (en) * 2016-02-05 2018-12-20 Huawei Technologies Co., Ltd. Data flow processing method and apparatus, and system
US20210191725A1 (en) * 2019-12-23 2021-06-24 Intel Corporation System, apparatus and method for dynamic pipeline stage control of data path dominant circuitry of an integrated circuit

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060018171A1 (en) * 2003-03-20 2006-01-26 Arm Limited Memory system having fast and slow data reading mechanisms
US20080016321A1 (en) * 2006-07-11 2008-01-17 Pennock James D Interleaved hardware multithreading processor architecture
US20090213668A1 (en) * 2008-02-21 2009-08-27 Shayan Zhang Adjustable pipeline in a memory circuit
US7800974B2 (en) * 2008-02-21 2010-09-21 Freescale Semiconductor, Inc. Adjustable pipeline in a memory circuit
US20150348605A1 (en) * 2014-05-30 2015-12-03 Samsung Electronics Co., Ltd. Nonvolatile memory device and storage device having the same
US20180367460A1 (en) * 2016-02-05 2018-12-20 Huawei Technologies Co., Ltd. Data flow processing method and apparatus, and system
US20210191725A1 (en) * 2019-12-23 2021-06-24 Intel Corporation System, apparatus and method for dynamic pipeline stage control of data path dominant circuitry of an integrated circuit

Also Published As

Publication number Publication date
US11967360B2 (en) 2024-04-23
KR20230042651A (en) 2023-03-29

Similar Documents

Publication Publication Date Title
US9824749B1 (en) Read assist circuitry
US9734896B2 (en) Circuits and methods for performance optimization of SRAM memory
US11386937B2 (en) System device and method for providing single port memory access in bitcell array by tracking dummy wordline
US20120131399A1 (en) Apparatus and methods for testing memory cells
US20200388309A1 (en) Bitline Precharge Circuitry
KR102327813B1 (en) Redundancy schemes for memory
US20240005985A1 (en) Column Multiplexer Circuitry
US10418124B1 (en) Bypass circuitry for memory applications
US10943670B1 (en) Dummy wordline design techniques
US20210110867A1 (en) Column Multiplexing Techniques
US11967360B2 (en) Dynamically adjustable pipeline for memory access
US11087834B2 (en) Read and write techniques
US11588477B2 (en) Pulse stretcher circuitry
US11380384B2 (en) Buried power rail structure for providing multi-domain power supply for memory device
US7458005B1 (en) System and method for providing adjustable read margins in a semiconductor memory
US11404096B2 (en) Wordline decoder circuitry
US11501809B1 (en) Contention-adapted read-write pulse generation circuitry
US10217496B1 (en) Bitline write assist circuitry
US11935580B2 (en) System cache peak power management
US11742001B2 (en) Configurable multiplexing circuitry
US20240005983A1 (en) Power-Up Header Circuitry for Multi-Bank Memory
US11056183B2 (en) Multi-port memory circuitry
US20230402092A1 (en) Bitline Precharge Techniques
US20240135988A1 (en) Multi-Port Bitcell Architecture
US11967365B2 (en) Bitcell architecture with time-multiplexed ports

Legal Events

Date Code Title Description
AS Assignment

Owner name: ARM LIMITED, GREAT BRITAIN

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:MCCOMBS, EDWARD MARTIN, JR;REEL/FRAME:057568/0180

Effective date: 20210920

FEPP Fee payment procedure

Free format text: ENTITY STATUS SET TO UNDISCOUNTED (ORIGINAL EVENT CODE: BIG.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

STPP Information on status: patent application and granting procedure in general

Free format text: FINAL REJECTION MAILED

STPP Information on status: patent application and granting procedure in general

Free format text: ADVISORY ACTION MAILED

STPP Information on status: patent application and granting procedure in general

Free format text: DOCKETED NEW CASE - READY FOR EXAMINATION

STPP Information on status: patent application and granting procedure in general

Free format text: NON FINAL ACTION MAILED

STPP Information on status: patent application and granting procedure in general

Free format text: RESPONSE TO NON-FINAL OFFICE ACTION ENTERED AND FORWARDED TO EXAMINER

ZAAB Notice of allowance mailed

Free format text: ORIGINAL CODE: MN/=.

STPP Information on status: patent application and granting procedure in general

Free format text: AWAITING TC RESP., ISSUE FEE NOT PAID

STPP Information on status: patent application and granting procedure in general

Free format text: NOTICE OF ALLOWANCE MAILED -- APPLICATION RECEIVED IN OFFICE OF PUBLICATIONS

STPP Information on status: patent application and granting procedure in general

Free format text: PUBLICATIONS -- ISSUE FEE PAYMENT VERIFIED

STCF Information on status: patent grant

Free format text: PATENTED CASE