EP4246337A1 - Electronic system and method for controlling burst length to access memory device of electronic system - Google Patents

Electronic system and method for controlling burst length to access memory device of electronic system Download PDF

Info

Publication number
EP4246337A1
EP4246337A1 EP23160478.6A EP23160478A EP4246337A1 EP 4246337 A1 EP4246337 A1 EP 4246337A1 EP 23160478 A EP23160478 A EP 23160478A EP 4246337 A1 EP4246337 A1 EP 4246337A1
Authority
EP
European Patent Office
Prior art keywords
data
memory device
requests
command
controller
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.)
Pending
Application number
EP23160478.6A
Other languages
German (de)
French (fr)
Inventor
Bo-Wei Hsieh
Chen-Chieh Wang
Szu-Ying Cheng
Jou-Ling Chen
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.)
MediaTek Inc
Original Assignee
MediaTek Inc
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 MediaTek Inc filed Critical MediaTek Inc
Publication of EP4246337A1 publication Critical patent/EP4246337A1/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • G06F3/0613Improving I/O performance in relation to throughput
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1605Handling requests for interconnection or transfer for access to memory bus based on arbitration
    • G06F13/1642Handling requests for interconnection or transfer for access to memory bus based on arbitration with request queuing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • G06F13/1689Synchronisation and timing concerns
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4204Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
    • G06F13/4234Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a memory bus
    • G06F13/4243Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a memory bus with synchronous protocol
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device

Definitions

  • the present invention relates to an electronic system, and, in particular, to a low-power memory device in an electronic system.
  • LPDDR SDRAM low-power double data rate synchronous dynamic random access memory
  • SDRAM synchronous dynamic random access memory
  • the LPDDR SDRAM is a highspeed synchronous SDRAM device internally configured with 1 channel, and may support multiple bank architectures to provide optimal access methods for varied system configurations. Furthermore, the burst length determined by data prefetch size depends on which bank architecture is used.
  • the memory devices of the electronic systems e.g., the mobile devices
  • OS operating systems
  • the memory devices of the electronic systems e.g., the mobile devices
  • An embodiment of the present invention provides an electronic system.
  • the electronic system includes a memory device and a controller.
  • the memory device includes a plurality of bank groups, and each of the bank groups includes a plurality of memory banks.
  • the controller is coupled to the memory device and is configured to access the memory device with a data rate.
  • the controller includes a request queue, and the request queue is configured to store a plurality of requests.
  • the requests correspond to the different bank groups, the controller is configured to access the data of the memory device according to a plurality of long burst commands corresponding to the requests.
  • the controller is configured to access the data of the memory device according to a plurality of short burst commands corresponding to the requests.
  • the short burst commands correspond to a short burst length
  • the long burst commands correspond to a long burst length.
  • the long burst length is twice the short burst length.
  • an embodiment of the present invention provides a method for controlling burst length to access a memory device in an electronic system.
  • a plurality of requests stored in a request queue of the electronic system are obtained. It is determined whether the requests correspond to a plurality of bank groups of the memory device, wherein each of the bank groups includes a plurality of memory banks.
  • the data of the memory device can be accessed according to a plurality of long burst commands that correspond to the requests.
  • the data of the memory device is accessed according to a plurality of short burst commands corresponding to the request when the requests correspond to the same bank group.
  • the short burst commands correspond to a short burst length
  • the long burst commands correspond to a long burst length that is twice the short burst length.
  • FIG. 1 shows an electronic system 100 according to some embodiments of the invention.
  • the electronic system 100 may be a mobile device, such as a mobile phone, a portable computer (e.g., a lap top computer, a tablet computer), a wearable device, and the like.
  • the electronic system 100 includes a processor 110, a controller 120 and a memory device 130.
  • the processor 110 is coupled to the controller 120 through an interconnect (e.g., a bus) 155, and the controller 120 is coupled to the memory device 130 through an interconnect (e.g., a bus) 175.
  • the processor 110 is a requester in the electronic system 100 that needs to access data in the memory device 130 for performing various applications.
  • the memory device 130 is a low power memory device that consumes less power for the electronic system 100.
  • the memory device 130 may be a low-power double data rate synchronous dynamic random access memory (LPDDR SDRAM).
  • the memory device 130 may be a dynamic random access memory (DRAM), such as a double data rate synchronous dynamic random access memory (DDR SDRAM), a low power double data rate synchronous dynamic random access memory (LPDDR SDRAM), a graphics double data rate synchronous dynamic random access memory (GDDR SDRAM), a Rambus dynamic random access memory (RDRAM), and so on.
  • DRAM dynamic random access memory
  • the electronic system 100 includes a plurality of memory devices 130, and the controller 120 is configured to control data exchange between the processor 110 (or various requesters) and the plurality of memory devices 130.
  • FIG. 2 shows a block diagram of the controller 120 and the memory device 130 of FIG. 1 according to some embodiments of the invention.
  • the controller 120 includes a request queue 125, and the request queue 125 is configured to store the requests REQ1 through REQn from the processor 110 or other requesters (not shown) of the electronic system 100.
  • the requests REQ1 through REQn are provided by the same requester.
  • the requests REQ1 through REQn are provided by multiple requesters.
  • the controller 120 is configured to access the memory device 130 with a data rate through the interconnect 175.
  • the memory device 130 includes multiple bank groups BG0 through BG3.
  • Each of the bank groups BG0 through BG3 includes multiple memory banks 10, e.g., 4 memory banks.
  • the controller 120 is configured to dynamically control the burst length corresponding to the data and commands, so as to access the memory device 130 efficiently.
  • the interconnect 175 includes multiple transmission lines for transfer the command/address CA, the clock CK, the data DQ, and the data clock WCK.
  • FIG. 2 shows only a portion of the signals in the interconnect 175.
  • the controller 120 is configured to provide the clock CK, the command/address CA and the data clock WCK to the memory device 130 through unidirectional transmission lines in the interconnect 175.
  • the frequency of the data clock WCK is twice that of the clock CK.
  • the controller 120 is configured to provide the data DQ to the memory device 130 during write operations and receive the data DQ from the memory device 130 during read operations through bidirectional transmission lines in the interconnect 175.
  • the command/address CA includes the command information corresponding to read or write operation, burst length and so on, and the address information corresponding to row address, column address, bank group and so on.
  • the clock CK is configured to sample (or capture) the command/address CA for the memory device 130.
  • the clock CK is a pair of differential signals.
  • the data clock WCK is used for capturing the data DQ during the write operations and outputting the data DQ during the read operations on the memory device 130.
  • the data clock WCK is a pair of differential signals.
  • FIG. 3 shows a method 200 for dynamically controlling burst length of commands to access the memory device 130 according to some embodiments of the invention.
  • the burst length of the memory device 130 is set (or programmed) by the access command (e.g., the read/write command) from the controller 120.
  • the controller 120 is configured to obtain the requests REQ1 through REQn queued in the request queue 125.
  • the requests REQ1 through REQn are issued by the same requester (e.g., the processor 110 in FIG. 1 ).
  • the requests REQ1 through REQn are issued by two or more requesters (not shown).
  • the controller 120 is configured to determine whether the memory device 130 is operating at a high data rate, i.e., the data rate of the memory device 130 is greater than a specific data rate (e.g., 4800Nbps).
  • the controller 120 is configured to schedule data and commands in a first burst mode (step S230), so as to issue the long burst commands (e.g., read/write command) to access data (e.g., read/write data) with a long burst length BLyin response to the requests REQ1 through REQn.
  • a first burst mode e.g., the data rate of the memory device 130 is less than or equal to the specific data rate
  • the controller 120 is configured to schedule data and commands in a first burst mode (step S230), so as to issue the long burst commands (e.g., read/write command) to access data (e.g., read/write data) with a long burst length BLyin response to the requests REQ1 through REQn.
  • the corresponding data in response to one request, the corresponding data is transferred to or from the memory device 130 on successive clock cycles of the data clock WCK, and the corresponding command is issued to the memory device 130 on successive clock cycles of the clock CK. Furthermore, the clock cycles of the data clock WCK is determined according to the long burst length BLy. For example, the clock cycles of the data clock WCK is equal to the long burst length BLy. The operation of the first burst mode is described in FIG. 4A below.
  • step S220 if the memory device 130 is operating at a high data rate (step S220), i.e., the data rate of the memory device 130 is greater than the specific data rate, the controller 120 is configured to determine whether the requests REQ1 through REQn correspond to different bank groups. i.e., multiple bank groups are accessed in response to the requests REQ1 through REQn (step S240).
  • the controller 120 is configured to schedule data and commands in a second burst mode (step S250), so as to interleave two long burst commands to access data (e.g., read/write data) with a short burst length BLx in response to two of the requests REQ1 through REQn corresponding to the different bank groups.
  • data e.g., read/write data
  • the corresponding data is divided (or split) into two portions and separately transferred to or from the memory device 130 on successive clock cycles of the data clock WCK, and the corresponding command is transferred to the memory device 130 on successive clock cycles of the clock CK along with the portion of the divided data transferred first. Furthermore, the clock cycles of the data clock WCK corresponding to each portion of the divided data is determined according to the short burst length BLx. For example, the clock cycles of the data clock WCK corresponding to each portion of the divided data is equal to the short burst length BLx. A portion of the data corresponding to another request of another bank group is inserted between two portions of the divided data. The operation of the second burst mode is described in FIG. 4B below.
  • the controller 120 is configured to schedule data and commands in a third burst mode (step S260), so as to reorganize a long burst command as two short burst commands in response to the requests REQ1 through REQn, and then issue the two short burst commands to access data (e.g., read/write data) with the short burst length BLx.
  • data e.g., read/write data
  • the corresponding data is divided (or split) into two portions and separately transferred to or from the memory device 130 on successive clock cycles of the data clock WCK, and the corresponding short burst command is transferred to the memory device 130 on successive clock cycles of the clock CK along with each portion of the divided data. Furthermore, the clock cycles of the data clock WCK corresponding to each portion of the divided data is determined according to the short burst length BLx. For example, the clock cycles of the data clock WCK corresponding to each portion of the divided data is equal to the short burst length BLx. In the third burst mode, no data corresponding to another queued request in the request queue 125 is inserted between the portions of the divided data. The operation of the third burst mode is described in FIG. 4C below.
  • FIG. 4A shows a diagram illustrating the signals of the interconnect 175 in the first burst mode according to some embodiments of the invention. It is assumed that the controller 120 is configured to perform read/write operation in response to the request REQ1 of FIG. 2 . When operating in the first burst mode, the controller 120 is configured to access the data of the memory device 130 with the long burst length BLy according to the read/write (RD/WR) command 232 in response to the request REQ1. Furthermore, the read/write command 232 is a long burst command, and the burst length of the memory device 130 is set by the read/write command 232.
  • RD/WR read/write
  • the read/write command 232 corresponding to the request REQ1 is issued to initiate a burst read/write operation for the memory device 130, and the data 235 is transferred to or from the memory device 130 on successive clock cycles of the data clock WCK.
  • the clock cycles of the data clock WCK in the time interval tBLy is determined according to the long burst length BLy.
  • the clock cycles of the data clock WCK is 48, and the data 235 is 32 bytes of data in the data DQ.
  • FIG. 4B shows a diagram illustrating the signals of the interconnect 175 in the second burst mode according to some embodiments of the invention. It is assumed that the controller 120 is configured to perform read/write operations in response to the requests REQ1 and REQ2 in FIG. 2 , and the requests REQ1 and REQ2 correspond to the bank groups BG0 and BG1 of FIG. 2 , respectively.
  • the controller 120 is configured to access the data of the memory device 130 with the short burst length BLx according to the read/write (RD/WR) commands 252 and 254 in response to the requests REQ1 and REQ2.
  • the read/write commands 252 and 254 are the long burst commands.
  • the burst length of the memory device 130 is set by the read/write commands 252 and 254.
  • the read/write command 252 corresponding to the request REQ1 is issued to initiate a burst read/write operation for the bank group BG0 of the memory device 130, and the portion of data 251_1 of the bank group BG0 is transferred to or from the memory device 130 on successive clock cycles of the data clock WCK in the time interval tBLx.
  • the portion of data 251_1 is transferred simultaneously with the read/write command 252.
  • the clock cycles of the data clock WCK in the time interval tBLx is determined according to the short burst length BLx.
  • the clock cycles of the data clock WCK is 24.
  • the read/write command 254 corresponding to the request REQ2 is issued to initiate a burst read/write operation for the bank group BG1 of the memory device 130, and the portion of data 253_1 of the bank group BG1 is transferred to or from the memory device 130 on successive clock cycles of the data clock WCK in the time interval tBLx.
  • the portion of data 253_1 is transferred simultaneously with the read/write command 254.
  • the remainder of data 251_2 of the bank group BG0 is transferred to or from the memory device 130 on successive clock cycles of the data clock WCK in the time interval tBLx.
  • the controller 120 in response to each of the requests REQ1 and REQ2, the controller 120 is configured to only issue a single command (i.e., the long burst command 252 or 254) to the memory device 130, although multiple portions of data are sent separately. In other words, while the remainder of data 251_2 and the remainder of data 253_2 are transferred, no command is issued by the controller 120.
  • the data of the bank group BG0 and the data of the bank group BG1 of the memory device 130 are transferred alternately, i.e., the data of the bank groups BG0 and BG1 are interleaved in the data DQ.
  • the data of the bank group BG0 is 32 bytes of data in the data DQ, and is divided into the first portion of data 251_1 and the second portion of data 251_2.
  • the data of the bank group BG1 is 32 bytes of data in the data DQ, and is divided into the first portion of data 253_1 and the second portion of data 253_2.
  • the controller 120 is configured to control the data 251_1, 253_1, 251_2 and 253_2 are seamlessly transferred in sequence.
  • the data bus efficiency of the data DQ is optimized when the read/write commands of different bank groups interleaved.
  • FIG. 4C shows a diagram illustrating the signals of the interconnect 175 in the third burst mode according to some embodiments of the invention. It is assumed that the controller 120 is configured to perform read/write operations in response to the request REQ2 in FIG. 2 , and the requests REQ1 through REQn correspond to the same bank group BG2 of FIG. 2 . When operating in the third burst mode, the controller 120 is configured to access the data of the memory device 130 with the short burst length BLx according to the read/write (RD/WR) commands 265_1 and 265_2 in response to the request REQ2. Furthermore, the read/write commands 265_1 and 265_2 are the short burst commands.
  • RD/WR read/write
  • the burst length of the memory device 130 is set by the read/write command 262.
  • the read/write command 265_1 corresponding to the request REQ2 is issued to initiate a burst read/write operation for the bank group BG2 of the memory device 130, and the first portion of data 261_1 of the bank group BG2 is transferred to or from the memory device 130 on successive clock cycles of the data clock WCK in the time interval tBLx.
  • the read/write command 265_2 corresponding to the same request REQ2 is issued to initiate a burst read/write operation for the bank group BG2 of the memory device 130, and the second portion of data 261_2 of the bank group BG2 is transferred to or from the memory device 130 on successive clock cycles of the data clock WCK in the time interval tBLx.
  • the read/write commands 265_1 and 265_2 are reorganized to sequential addresses of the bank group BG2.
  • the clock cycles of the data clock WCK in the time interval tBLx is determined according to the short burst length BLx.
  • the clock cycles of the data clock WCK is 24.
  • the controller 120 in response to the request REQ2, the controller 120 is configured to separate one long burst command into two short burst commands (e.g., the read/write commands 265_1 and 265_2), and then continuously issue the two short burst commands to the memory device 130.
  • the delay time tCCD can be understood as the timing between consecutive access commands.
  • the data of the bank group BG2 in the memory device 130 is transferred separately.
  • the data of the bank group BG2 is 32 bytes of data in the data DQ, and is divided into the first portion of data 261_1 and the second portion of data 261_2.
  • the controller 120 is configured to transferred the data 261_1 and 251_2 in sequence according to the column-to-column or command-to-command delay time tCCD.
  • the second portion of the data corresponding to the second short burst command (e.g., the read/write command 265_2) is transferred more quickly because of smaller time interval (i.e., the fixed time interval tFIX is less than the time interval tBx). Therefore, the data bus efficiency of the data DQ is optimized.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Dram (AREA)

Abstract

An electronic system is provided. A memory device (130) includes a plurality of bank groups (BG_0 - BG3). A controller (120) is coupled to the memory device (130) and includes a request queue (125). The request queue (125) is configured to store a plurality of requests (REQ1 - REQn). When the requests (REQ1 - REQn) correspond to the different bank groups (BG_0 - BG3), the controller (120) is configured to access data of the memory device (130) according to a plurality of long burst commands corresponding to the requests (REQ1 - REQn). When the requests (REQ1 - REQn) correspond to the same bank group (BG_0 - BG3), the controller (120) is configured to access the data of the memory device (130) according to a plurality of short burst commands corresponding to the requests (REQ1 - REQn). The short burst commands correspond to a short burst length, and the long burst commands correspond to a long burst length. The long burst length is twice the short burst length. The memory device (130) is a low-power double data rate synchronous dynamic random access memory.

Description

    CROSS REFERENCE TO RELATED APPLICATIONS
  • This application claims the benefit of U.S. Provisional Application No. 63/319,403, filed March 14, 2022 , the entirety of which is incorporated by reference herein.
  • BACKGROUND OF THE INVENTION Field of the Invention
  • The present invention relates to an electronic system, and, in particular, to a low-power memory device in an electronic system.
  • Description of the Related Art
  • Semiconductor memory device such as a low-power double data rate (LPDDR) synchronous dynamic random access memory (SDRAM) is widely used in mobile devices, such as mobile phones, portable computers, and the like. The LPDDR SDRAM is a highspeed synchronous SDRAM device internally configured with 1 channel, and may support multiple bank architectures to provide optimal access methods for varied system configurations. Furthermore, the burst length determined by data prefetch size depends on which bank architecture is used.
  • As operating systems (OS) become larger to support multitasking, the memory devices of the electronic systems (e.g., the mobile devices) need to efficiently operate at higher speed.
  • BRIEF SUMMARY OF THE INVENTION
  • An electronic system and a method according to the invention are defined in the independent claims. The dependent claims define preferred embodiments thereof.
  • An embodiment of the present invention provides an electronic system. The electronic system includes a memory device and a controller. The memory device includes a plurality of bank groups, and each of the bank groups includes a plurality of memory banks. The controller is coupled to the memory device and is configured to access the memory device with a data rate. The controller includes a request queue, and the request queue is configured to store a plurality of requests. The requests correspond to the different bank groups, the controller is configured to access the data of the memory device according to a plurality of long burst commands corresponding to the requests. When the requests correspond to the same bank group, the controller is configured to access the data of the memory device according to a plurality of short burst commands corresponding to the requests. The short burst commands correspond to a short burst length, and the long burst commands correspond to a long burst length. The long burst length is twice the short burst length.
  • In addition, an embodiment of the present invention provides a method for controlling burst length to access a memory device in an electronic system. A plurality of requests stored in a request queue of the electronic system are obtained. It is determined whether the requests correspond to a plurality of bank groups of the memory device, wherein each of the bank groups includes a plurality of memory banks. When the requests correspond to the different bank groups, the data of the memory device can be accessed according to a plurality of long burst commands that correspond to the requests. The data of the memory device is accessed according to a plurality of short burst commands corresponding to the request when the requests correspond to the same bank group. The short burst commands correspond to a short burst length, and the long burst commands correspond to a long burst length that is twice the short burst length.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • The present invention can be more fully understood by reading the subsequent detailed description and examples with references made to the accompanying drawings, wherein:
    • FIG. 1 shows an electronic system according to some embodiments of the invention.
    • FIG. 2 shows a block diagram of the controller and the memory device of FIG. 1 according to some embodiments of the invention.
    • FIG. 3 shows a method for dynamically controlling burst length of commands to access the memory device according to some embodiments of the invention.
    • FIG. 4A shows a diagram illustrating the signals of the interconnect in the first burst mode according to some embodiments of the invention.
    • FIG. 4B shows a diagram illustrating the signals of the interconnect in the second burst mode according to some embodiments of the invention.
    • FIG. 4C shows a diagram illustrating the signals of the interconnect in the third burst mode according to some embodiments of the invention.
    DETAILED DESCRIPTION OF THE INVENTION
  • The following description is made for the purpose of illustrating the general principles of the invention and should not be taken in a limiting sense. The scope of the invention is best determined by reference to the appended claims.
  • FIG. 1 shows an electronic system 100 according to some embodiments of the invention. The electronic system 100 may be a mobile device, such as a mobile phone, a portable computer (e.g., a lap top computer, a tablet computer), a wearable device, and the like. The electronic system 100 includes a processor 110, a controller 120 and a memory device 130. The processor 110 is coupled to the controller 120 through an interconnect (e.g., a bus) 155, and the controller 120 is coupled to the memory device 130 through an interconnect (e.g., a bus) 175. The processor 110 is a requester in the electronic system 100 that needs to access data in the memory device 130 for performing various applications. In order to simplify the description, only the processor 110 is described as the requester in the electronic system 100, and other requesters (e.g., central processing unit (CPU), digital signal processor (DSP), graphic processing unit (GPU), etc.) that need to access the memory device 130 in the electronic system 100 will be omitted. The memory device 130 is a low power memory device that consumes less power for the electronic system 100. For example, the memory device 130 may be a low-power double data rate synchronous dynamic random access memory (LPDDR SDRAM).
  • Preferably, the memory device 130 may be a dynamic random access memory (DRAM), such as a double data rate synchronous dynamic random access memory (DDR SDRAM), a low power double data rate synchronous dynamic random access memory (LPDDR SDRAM), a graphics double data rate synchronous dynamic random access memory (GDDR SDRAM), a Rambus dynamic random access memory (RDRAM), and so on. Preferably, the electronic system 100 includes a plurality of memory devices 130, and the controller 120 is configured to control data exchange between the processor 110 (or various requesters) and the plurality of memory devices 130.
  • FIG. 2 shows a block diagram of the controller 120 and the memory device 130 of FIG. 1 according to some embodiments of the invention. The controller 120 includes a request queue 125, and the request queue 125 is configured to store the requests REQ1 through REQn from the processor 110 or other requesters (not shown) of the electronic system 100. Preferably, the requests REQ1 through REQn are provided by the same requester. Alternatively preferably, the requests REQ1 through REQn are provided by multiple requesters. In response to the requests REQ1 through REQn, the controller 120 is configured to access the memory device 130 with a data rate through the interconnect 175. The memory device 130 includes multiple bank groups BG0 through BG3. Each of the bank groups BG0 through BG3 includes multiple memory banks 10, e.g., 4 memory banks. According to the requests REQ1 through REQn queued in the request queue 125, the controller 120 is configured to dynamically control the burst length corresponding to the data and commands, so as to access the memory device 130 efficiently.
  • It should be noted that the number of bank groups and the number of memory banks shown in FIG. 2 are only an example, and the invention should not be limited thereto.
  • The interconnect 175 includes multiple transmission lines for transfer the command/address CA, the clock CK, the data DQ, and the data clock WCK. In order to simplify the description, FIG. 2 shows only a portion of the signals in the interconnect 175. The controller 120 is configured to provide the clock CK, the command/address CA and the data clock WCK to the memory device 130 through unidirectional transmission lines in the interconnect 175. Preferably, the frequency of the data clock WCK is twice that of the clock CK. Furthermore, the controller 120 is configured to provide the data DQ to the memory device 130 during write operations and receive the data DQ from the memory device 130 during read operations through bidirectional transmission lines in the interconnect 175. The command/address CA includes the command information corresponding to read or write operation, burst length and so on, and the address information corresponding to row address, column address, bank group and so on. The clock CK is configured to sample (or capture) the command/address CA for the memory device 130. Preferably, the clock CK is a pair of differential signals. The data clock WCK is used for capturing the data DQ during the write operations and outputting the data DQ during the read operations on the memory device 130. Preferably, the data clock WCK is a pair of differential signals.
  • FIG. 3 shows a method 200 for dynamically controlling burst length of commands to access the memory device 130 according to some embodiments of the invention. When accessing the memory device 130 by the controller 120, the burst length of the memory device 130 is set (or programmed) by the access command (e.g., the read/write command) from the controller 120.
  • First, in step S210, the controller 120 is configured to obtain the requests REQ1 through REQn queued in the request queue 125. Preferably, the requests REQ1 through REQn are issued by the same requester (e.g., the processor 110 in FIG. 1). Alternatively preferably, the requests REQ1 through REQn are issued by two or more requesters (not shown). Next, in step S220, the controller 120 is configured to determine whether the memory device 130 is operating at a high data rate, i.e., the data rate of the memory device 130 is greater than a specific data rate (e.g., 4800Nbps). If the memory device 130 is operating at a low data rate, e.g., the data rate of the memory device 130 is less than or equal to the specific data rate, the controller 120 is configured to schedule data and commands in a first burst mode (step S230), so as to issue the long burst commands (e.g., read/write command) to access data (e.g., read/write data) with a long burst length BLyin response to the requests REQ1 through REQn.
  • In the first burst mode, in response to one request, the corresponding data is transferred to or from the memory device 130 on successive clock cycles of the data clock WCK, and the corresponding command is issued to the memory device 130 on successive clock cycles of the clock CK. Furthermore, the clock cycles of the data clock WCK is determined according to the long burst length BLy. For example, the clock cycles of the data clock WCK is equal to the long burst length BLy. The operation of the first burst mode is described in FIG. 4A below.
  • In flowchart of the method 200, if the memory device 130 is operating at a high data rate (step S220), i.e., the data rate of the memory device 130 is greater than the specific data rate, the controller 120 is configured to determine whether the requests REQ1 through REQn correspond to different bank groups. i.e., multiple bank groups are accessed in response to the requests REQ1 through REQn (step S240).
  • If the requests REQ1 through REQn correspond to at least two bank groups (step S240), the controller 120 is configured to schedule data and commands in a second burst mode (step S250), so as to interleave two long burst commands to access data (e.g., read/write data) with a short burst length BLx in response to two of the requests REQ1 through REQn corresponding to the different bank groups.
  • In the second burst mode, in response to one request, the corresponding data is divided (or split) into two portions and separately transferred to or from the memory device 130 on successive clock cycles of the data clock WCK, and the corresponding command is transferred to the memory device 130 on successive clock cycles of the clock CK along with the portion of the divided data transferred first. Furthermore, the clock cycles of the data clock WCK corresponding to each portion of the divided data is determined according to the short burst length BLx. For example, the clock cycles of the data clock WCK corresponding to each portion of the divided data is equal to the short burst length BLx. A portion of the data corresponding to another request of another bank group is inserted between two portions of the divided data. The operation of the second burst mode is described in FIG. 4B below.
  • In flowchart of the method 200, if the requests REQ1 through REQn correspond to the same bank group (step S240), the controller 120 is configured to schedule data and commands in a third burst mode (step S260), so as to reorganize a long burst command as two short burst commands in response to the requests REQ1 through REQn, and then issue the two short burst commands to access data (e.g., read/write data) with the short burst length BLx.
  • In the third burst mode, in response to one request, the corresponding data is divided (or split) into two portions and separately transferred to or from the memory device 130 on successive clock cycles of the data clock WCK, and the corresponding short burst command is transferred to the memory device 130 on successive clock cycles of the clock CK along with each portion of the divided data. Furthermore, the clock cycles of the data clock WCK corresponding to each portion of the divided data is determined according to the short burst length BLx. For example, the clock cycles of the data clock WCK corresponding to each portion of the divided data is equal to the short burst length BLx. In the third burst mode, no data corresponding to another queued request in the request queue 125 is inserted between the portions of the divided data. The operation of the third burst mode is described in FIG. 4C below.
  • FIG. 4A shows a diagram illustrating the signals of the interconnect 175 in the first burst mode according to some embodiments of the invention. It is assumed that the controller 120 is configured to perform read/write operation in response to the request REQ1 of FIG. 2. When operating in the first burst mode, the controller 120 is configured to access the data of the memory device 130 with the long burst length BLy according to the read/write (RD/WR) command 232 in response to the request REQ1. Furthermore, the read/write command 232 is a long burst command, and the burst length of the memory device 130 is set by the read/write command 232. In the time interval tBLy, the read/write command 232 corresponding to the request REQ1 is issued to initiate a burst read/write operation for the memory device 130, and the data 235 is transferred to or from the memory device 130 on successive clock cycles of the data clock WCK. Furthermore, the clock cycles of the data clock WCK in the time interval tBLy is determined according to the long burst length BLy. Preferably, the clock cycles of the data clock WCK is 48, and the data 235 is 32 bytes of data in the data DQ.
  • FIG. 4B shows a diagram illustrating the signals of the interconnect 175 in the second burst mode according to some embodiments of the invention. It is assumed that the controller 120 is configured to perform read/write operations in response to the requests REQ1 and REQ2 in FIG. 2, and the requests REQ1 and REQ2 correspond to the bank groups BG0 and BG1 of FIG. 2, respectively. When operating in the second burst mode, the controller 120 is configured to access the data of the memory device 130 with the short burst length BLx according to the read/write (RD/WR) commands 252 and 254 in response to the requests REQ1 and REQ2. The read/write commands 252 and 254 are the long burst commands. Moreover, the long burst length BLy is twice the short burst length BLx, i.e., BLy= 2 BLx.
  • In FIG. 4B, the burst length of the memory device 130 is set by the read/write commands 252 and 254. First, the read/write command 252 corresponding to the request REQ1 is issued to initiate a burst read/write operation for the bank group BG0 of the memory device 130, and the portion of data 251_1 of the bank group BG0 is transferred to or from the memory device 130 on successive clock cycles of the data clock WCK in the time interval tBLx. In other words, the portion of data 251_1 is transferred simultaneously with the read/write command 252. Furthermore, the clock cycles of the data clock WCK in the time interval tBLx is determined according to the short burst length BLx. Preferably, the clock cycles of the data clock WCK is 24. Seamlessly, the read/write command 254 corresponding to the request REQ2 is issued to initiate a burst read/write operation for the bank group BG1 of the memory device 130, and the portion of data 253_1 of the bank group BG1 is transferred to or from the memory device 130 on successive clock cycles of the data clock WCK in the time interval tBLx. In other words, the portion of data 253_1 is transferred simultaneously with the read/write command 254. Seamlessly, in response to the read/write command 252, the remainder of data 251_2 of the bank group BG0 is transferred to or from the memory device 130 on successive clock cycles of the data clock WCK in the time interval tBLx. Seamlessly, in response to the read/write command 254, the remainder of data 253_2 of the bank group BG1 is transferred to or from the memory device 130 on successive clock cycles of the data clock WCK in the time interval tBLx. In such embodiments, in response to each of the requests REQ1 and REQ2, the controller 120 is configured to only issue a single command (i.e., the long burst command 252 or 254) to the memory device 130, although multiple portions of data are sent separately. In other words, while the remainder of data 251_2 and the remainder of data 253_2 are transferred, no command is issued by the controller 120.
  • In FIG. 4B, the data of the bank group BG0 and the data of the bank group BG1 of the memory device 130 are transferred alternately, i.e., the data of the bank groups BG0 and BG1 are interleaved in the data DQ. In such embodiment, the data of the bank group BG0 is 32 bytes of data in the data DQ, and is divided into the first portion of data 251_1 and the second portion of data 251_2. Similarly, the data of the bank group BG1 is 32 bytes of data in the data DQ, and is divided into the first portion of data 253_1 and the second portion of data 253_2. Furthermore, the controller 120 is configured to control the data 251_1, 253_1, 251_2 and 253_2 are seamlessly transferred in sequence. Thus, the data bus efficiency of the data DQ is optimized when the read/write commands of different bank groups interleaved.
  • FIG. 4C shows a diagram illustrating the signals of the interconnect 175 in the third burst mode according to some embodiments of the invention. It is assumed that the controller 120 is configured to perform read/write operations in response to the request REQ2 in FIG. 2, and the requests REQ1 through REQn correspond to the same bank group BG2 of FIG. 2. When operating in the third burst mode, the controller 120 is configured to access the data of the memory device 130 with the short burst length BLx according to the read/write (RD/WR) commands 265_1 and 265_2 in response to the request REQ2. Furthermore, the read/write commands 265_1 and 265_2 are the short burst commands.
  • In FIG. 4C, the burst length of the memory device 130 is set by the read/write command 262. First, the read/write command 265_1 corresponding to the request REQ2 is issued to initiate a burst read/write operation for the bank group BG2 of the memory device 130, and the first portion of data 261_1 of the bank group BG2 is transferred to or from the memory device 130 on successive clock cycles of the data clock WCK in the time interval tBLx. Next, when a column-to-column or command-to-command delay time tCCD is reached, the read/write command 265_2 corresponding to the same request REQ2 is issued to initiate a burst read/write operation for the bank group BG2 of the memory device 130, and the second portion of data 261_2 of the bank group BG2 is transferred to or from the memory device 130 on successive clock cycles of the data clock WCK in the time interval tBLx.
  • The read/write commands 265_1 and 265_2 are reorganized to sequential addresses of the bank group BG2. The clock cycles of the data clock WCK in the time interval tBLx is determined according to the short burst length BLx. Preferably, the clock cycles of the data clock WCK is 24. In the third burst mode, in response to the request REQ2, the controller 120 is configured to separate one long burst command into two short burst commands (e.g., the read/write commands 265_1 and 265_2), and then continuously issue the two short burst commands to the memory device 130. In general, the delay time tCCD can be understood as the timing between consecutive access commands.
  • In FIG. 4C, the data of the bank group BG2 in the memory device 130 is transferred separately. In such embodiment, the data of the bank group BG2 is 32 bytes of data in the data DQ, and is divided into the first portion of data 261_1 and the second portion of data 261_2. Furthermore, the controller 120 is configured to transferred the data 261_1 and 251_2 in sequence according to the column-to-column or command-to-command delay time tCCD.
  • Compared with traditional method that uses traditional long burst length command to transfer the two portions of data with the short burst length BLx that are separated by a larger fixed time interval (e.g., the time interval tBLx), the second portion of the data corresponding to the second short burst command (e.g., the read/write command 265_2) is transferred more quickly because of smaller time interval (i.e., the fixed time interval tFIX is less than the time interval tBx). Therefore, the data bus efficiency of the data DQ is optimized.
  • While the invention has been described by way of example and in terms of the preferred embodiments, it should be understood that the invention is not limited to the disclosed embodiments. On the contrary, it is intended to cover various modifications and similar arrangements (as would be apparent to those skilled in the art). Therefore, the scope of the appended claims should be accorded the broadest interpretation so as to encompass all such modifications and similar arrangements.

Claims (15)

  1. An electronic system (100), comprising:
    a memory device (130), comprising a plurality of bank groups (BG_0 - BG3), wherein each of the bank groups (BG_0 - BG3) comprises a plurality of memory banks (10); and
    a controller (120) coupled to the memory device (130) and configured to access the memory device (130) with a data rate, and comprising:
    a request queue (125) configured to store a plurality of requests (REQ1 -REQn),
    wherein when the requests (REQ1 - REQn) correspond to the different bank groups (BG_0 - BG3), the controller (120) is configured to access data of the memory device (130) according to a plurality of long burst commands corresponding to the requests (REQ1 - REQn),
    wherein when the requests (REQ1 - REQn) correspond to the same bank group (BG_0 - BG3), the controller (120) is configured to access the data of the memory device (130) according to a plurality of short burst commands corresponding to the requests (REQ1 - REQn),
    wherein the short burst commands correspond to a short burst length, and the long burst commands correspond to a long burst length that is twice the short burst length.
  2. The electronic system (100) as claimed in claim 1, wherein when the requests (REQ1 - REQn) correspond to the same bank group (BG_0 - BG3), the controller (120) is configured to reorganize a first long burst command corresponding to a first request of the requests (REQ1 - REQn) as a first short burst command and a second short burst command.
  3. The electronic system (100) as claimed in claim 2, wherein in response to the first request, the controller (120) is configured to transfer a portion of the data and the remainder of the data to or from the memory device (130) according to the first and second short burst commands, respectively, and the controller (120) is configured to issue the second short burst command when the first short burst command is issued and a column-to-column or command-to-command delay is reached.
  4. The electronic system (100) as claimed in any one of claims 1 to 3, wherein when the requests (REQ1 - REQn) correspond to the different bank groups (BG_0 - BG3), the controller (120) is configured to interleave a first long burst command corresponding to a first request of the requests (REQ1 - REQn) and a second long burst command corresponding to a second request of the requests (REQ1 - REQn), so as to access first data of a first bank group of the bank groups (BG_0 - BG3) and second data of a second bank group of the bank groups (BG_0 - BG3).
  5. The electronic system (100) as claimed in claim 4, wherein the controller (120) is configured to control a portion of the first data, a portion of the second data, the remainder of the first data, and the remainder of the second data to sequentially and seamlessly transfer according to the first long burst command and the second long burst command.
  6. The electronic system (100) as claimed in claim 5, wherein the portion of the first data is transferred simultaneously with the first long burst command, and the portion of the second data is transferred simultaneously with the second long burst command.
  7. The electronic system (100) as claimed in claim 5 or 6, wherein during the remainder of the first data and the remainder of the second data are being transferred, no command is issued by the controller (120).
  8. The electronic system (100) as claimed in any one of claims 1 to 7, wherein when the data rate is less than a specific data rate, the controller (120) is configured to access the data of the memory device (130) according to a first long burst command corresponding to one of the requests (REQ1 - REQn), wherein the data is transferred to or from the memory device (130) on successive clock cycles of a data clock of the controller (120), and the number of the successive clock cycles is equal to the long burst length.
  9. A method for controlling burst length to access a memory device in an electronic system, comprising:
    obtaining a plurality of requests stored in a request queue of the electronic system (S210);
    determining whether the requests correspond to a plurality of bank groups of the memory device, wherein each of the bank groups comprises a plurality of memory banks (S240);
    accessing data of the memory device according to a plurality of long burst commands corresponding to the requests when the requests correspond to the different bank groups (S250); and
    accessing the data of the memory device according to a plurality of short burst commands corresponding to the request when the requests correspond to the same bank group (S260),
    wherein the short burst commands correspond to a short burst length, and the long burst commands correspond to a long burst length that is twice the short burst length.
  10. The method as claimed in claim 9, wherein accessing the data of the memory device according to the short burst commands corresponding to the request when the requests correspond to the same bank group further comprises:
    reorganizing a first long burst command corresponding to a first request of the requests as a first short burst command and a second short burst command.
  11. The method as claimed in claim 10, wherein accessing the data of the memory device according to the short burst commands corresponding to the request when the requests correspond to the same bank group further comprises:
    in response to the first request, transferring a portion of the data and the remainder of the data to or from the memory device according to the first and second short burst commands, respectively; and
    issuing the second short burst command when the first short burst command is issued and a column-to-column or command-to-command delay is reached.
  12. The method as claimed in claim 11, wherein the portion of the data is transferred to or from the memory device on first successive clock cycles of a data clock of the controller, and the remainder of the data is transferred to or from the memory device on second successive clock cycles of the data clock, wherein the number of the first successive clock cycles and the number of the second successive clock cycles are equal to the short burst length.
  13. The method as claimed in any one of claims 9 to 12, wherein accessing the data of the memory device according to the long burst commands corresponding to the requests when the requests correspond to the different bank groups further comprises:
    interleaving a first long burst command corresponding to a first request of the request and a second long burst command corresponding to a second request of the request, so as to access first data of a first bank group of the bank groups and second data of a second bank group of the bank groups.
  14. The method as claimed in claim 13, wherein a portion of the first data, a portion of the second data, the remainder of the first data, and the remainder of the second data are sequentially and seamlessly transferred according to the first long burst command and the second long burst command.
  15. The method as claimed in any one of claims 9 to 14, further comprising:
    accessing the data of the memory device according to a first long burst command corresponding to one of the requests when the data rate is less than a specific data rate,
    wherein the data is transferred to or from the memory device on successive clock cycles of a data clock of the controller, and the number of the successive clock cycles is equal to the long burst length.
EP23160478.6A 2022-03-14 2023-03-07 Electronic system and method for controlling burst length to access memory device of electronic system Pending EP4246337A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US202263319403P 2022-03-14 2022-03-14
US18/170,096 US20230289063A1 (en) 2022-03-14 2023-02-16 Electronic system and method for controlling burst length to access memory device of electronic system

Publications (1)

Publication Number Publication Date
EP4246337A1 true EP4246337A1 (en) 2023-09-20

Family

ID=85510846

Family Applications (1)

Application Number Title Priority Date Filing Date
EP23160478.6A Pending EP4246337A1 (en) 2022-03-14 2023-03-07 Electronic system and method for controlling burst length to access memory device of electronic system

Country Status (3)

Country Link
US (1) US20230289063A1 (en)
EP (1) EP4246337A1 (en)
TW (1) TW202336579A (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004008329A1 (en) * 2002-07-11 2004-01-22 Advanced Micro Devices, Inc. Dram supporting different burst-length accesses without changing the burst length setting in the mode register
US20200004420A1 (en) * 2018-06-28 2020-01-02 Micron Technology, Inc. Apparatuses and methods for configurable memory array bank architectures
JP2021157295A (en) * 2020-03-25 2021-10-07 キヤノン株式会社 Memory control device

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004008329A1 (en) * 2002-07-11 2004-01-22 Advanced Micro Devices, Inc. Dram supporting different burst-length accesses without changing the burst length setting in the mode register
US20200004420A1 (en) * 2018-06-28 2020-01-02 Micron Technology, Inc. Apparatuses and methods for configurable memory array bank architectures
JP2021157295A (en) * 2020-03-25 2021-10-07 キヤノン株式会社 Memory control device

Also Published As

Publication number Publication date
TW202336579A (en) 2023-09-16
US20230289063A1 (en) 2023-09-14

Similar Documents

Publication Publication Date Title
US9904489B2 (en) Processing systems, memory controllers and methods for controlling memory access operations
US6745309B2 (en) Pipelined memory controller
US6622228B2 (en) System and method of processing memory requests in a pipelined memory controller
EP1488323B1 (en) Memory system with burst length shorter than prefetch length
US20120272013A1 (en) Data access system with at least multiple configurable chip select signals transmitted to different memory ranks and related data access method thereof
EP0375121A2 (en) Method and apparatus for efficient DRAM control
JP2008544424A (en) System and method for improving parallel processing of DRAM
US5822768A (en) Dual ported memory for a unified memory architecture
EP1415304A2 (en) Memory device having different burst order addressing for read and write operations
JP2005512262A (en) Sequential nibble burst ordering of data
EP4246337A1 (en) Electronic system and method for controlling burst length to access memory device of electronic system
CN101002272A (en) Addressing data within dynamic random access memory
KR20230145254A (en) Adaptive memory access management
CN116755606A (en) System and method for controlling burst length to access storage of electronic system
US6392935B1 (en) Maximum bandwidth/minimum latency SDRAM interface
US6854041B2 (en) DRAM-based separate I/O memory solution for communication applications
US6567898B1 (en) Memory controller and an information processing apparatus with improved efficiency
EP0921468A1 (en) Memory control using memory state information for reducing access latency

Legal Events

Date Code Title Description
PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: THE APPLICATION HAS BEEN PUBLISHED

AK Designated contracting states

Kind code of ref document: A1

Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC ME MK MT NL NO PL PT RO RS SE SI SK SM TR

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: REQUEST FOR EXAMINATION WAS MADE

17P Request for examination filed

Effective date: 20240318

RBV Designated contracting states (corrected)

Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC ME MK MT NL NO PL PT RO RS SE SI SK SM TR