CN113076061A - Single RAM multi-module data caching method - Google Patents

Single RAM multi-module data caching method Download PDF

Info

Publication number
CN113076061A
CN113076061A CN202110288714.7A CN202110288714A CN113076061A CN 113076061 A CN113076061 A CN 113076061A CN 202110288714 A CN202110288714 A CN 202110288714A CN 113076061 A CN113076061 A CN 113076061A
Authority
CN
China
Prior art keywords
ram
data
module data
module
caching
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
CN202110288714.7A
Other languages
Chinese (zh)
Inventor
何磊
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.)
IPGoal Microelectronics Sichuan Co Ltd
Original Assignee
IPGoal Microelectronics Sichuan Co 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 IPGoal Microelectronics Sichuan Co Ltd filed Critical IPGoal Microelectronics Sichuan Co Ltd
Priority to CN202110288714.7A priority Critical patent/CN113076061A/en
Publication of CN113076061A publication Critical patent/CN113076061A/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/0626Reducing size or complexity of storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/325Power saving in peripheral device
    • G06F1/3275Power saving in memory, e.g. RAM, cache
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0866Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
    • G06F12/0871Allocation or management of cache space
    • 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/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • 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

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)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

The invention discloses a single RAM multi-module data caching method, which comprises the following steps: a. determining the number N of module data buffered in the RAM, and determining the bit width A required by data transmission in the RAM according to the data transmission speed M in the USB and the actual system clock L; b. adding ACK feedback identifications to N module data according to priority levels, wherein each ACK feedback identification comprises priority level information; c. respectively caching the N module data added with the ACK feedback identification into an RAM; d. and sequentially reading/writing the data of the N modules in the RAM according to the priority level. The single RAM multi-module data caching method realizes caching of multi-module data by the single RAM, reduces the chip area occupied by the RAM, correspondingly reduces the power consumption of the chip and prolongs the service life of the chip.

Description

Single RAM multi-module data caching method
Technical Field
The invention relates to the field of digital IC design, in particular to a single-RAM multi-module data caching method.
Background
Common USB internal cache data is usually stored by using a RAM; however, since a plurality of modules stored inside the USB need to cache data, a common method is to cache one data module on one RAM, so a common method that a plurality of RAMs are used inside the USB to cache multi-module data respectively.
Although the multi-module data can be flexibly managed by using a plurality of RAMs to cache the multi-module data, the form of the plurality of RAMs also occupies more chip area, and is not beneficial to the development of miniaturization and high integration of chips; in addition, the form of a plurality of RAMs can correspondingly increase the power consumption of the chip and influence the service life of the RAMs. For example, in a 130nm technology, the area of a chip can be saved by about 20% by using a larger RAM to cache data of four nodes and four pieces of RAMs to cache data of four nodes in a USB respectively under the same condition, and meanwhile, the power consumption is also greatly reduced. However, the existing single RAM cannot read data of multiple addresses simultaneously, so that the reading efficiency of the data is greatly reduced, and errors are easy to occur in the reading process.
Accordingly, there is a need to overcome the above-mentioned deficiencies by providing an improved single RAM multi-chunk data caching method that can quickly and accurately read/access multi-chunk data within a single RAM.
Disclosure of Invention
The invention aims to provide a single-RAM multi-module data caching method, which realizes the caching of multi-module data by a single RAM, reduces the chip area occupied by the RAM, correspondingly reduces the power consumption of a chip and prolongs the service life of the chip.
In order to achieve the above object, the present invention provides a single RAM multi-module data caching method, which comprises the following steps:
a. determining the number N of module data buffered in the RAM, and determining the bit width A required by data transmission in the RAM according to the data transmission speed M in the USB and the actual system clock L;
b. adding ACK feedback identifications to N module data according to priority levels, wherein each ACK feedback identification comprises priority level information;
c. respectively caching the N module data added with the ACK feedback identification into an RAM;
d. and sequentially reading/writing the data of the N modules in the RAM according to the priority level.
Preferably, the determining the bit width a required for data transmission in the RAM in the step a specifically includes:
Figure BDA0002981522710000021
the data transmission speed M in the USB and the actual system clock L are both constant.
Preferably, in the step b, the priority level on the ACK feedback identifier is respectively from 0 level to N-1 level, and the priority level of 0 level is higher than the priority level of N-1 level.
Preferably, in the step d, when data is read/written, the first clock is input to the module data with the priority of 0, and then the other N-1 hour hands are sequentially input to the other N-1 module data.
Preferably, the value range of N is 1 to 16, and correspondingly, the value range of bit width a is 24-216
Preferably, the priority level of the module data for which data is continuously read/written is set to the lowest priority.
Compared with the prior art, the single-RAM multi-module data caching method has the advantages that the ACK feedback identifications are added to the N module data according to the priority levels respectively, each ACK feedback identification comprises priority level information, and the N module data are read/written in sequence according to the priority levels, so that after the plurality of module data are stored in the large RAM, the plurality of module data in the RAM can be read/written respectively according to the priority levels, and the reading/writing is carried out according to the priority levels and the clock sequence, the reading/writing accuracy is guaranteed, meanwhile, the caching of the single RAM on the multi-module data is realized, the chip area occupied by the RAM is reduced, the power consumption of a chip is correspondingly reduced, and the service life of the chip is prolonged.
The invention will become more apparent from the following description when taken in conjunction with the accompanying drawings, which illustrate embodiments of the invention.
Drawings
FIG. 1 is a flow chart of a single RAM multi-module data caching method according to the present invention.
Fig. 2 is a timing diagram of 1 module data individually controlling the RAM.
FIG. 3 is a timing diagram of the control of the RAM by the priority level of 2 module data.
Detailed Description
Embodiments of the present invention will now be described with reference to the drawings, wherein like element numerals represent like elements. The single-RAM multi-module data caching method realizes caching of multi-module data by a single RAM, reduces the chip area occupied by the RAM, correspondingly reduces the power consumption of a chip and prolongs the service life of the chip.
Referring to fig. 1, fig. 1 is a flowchart illustrating a single-RAM multi-module data caching method according to the present invention, wherein the single-RAM multi-module data caching method includes the following steps:
step S101, determining the number N of module data buffered in RAM, and determining the bit width A required by data transmission in RAM according to the data transmission speed M in USB and the actual system clock L; in this step, the number N of module data buffered in the current RAM is determined according to the area condition of the chip where the current RAM is located, and if the chip area is large, the value of N may be relatively small, that is, the number of RAMs that can be set on the current chip is large; on the contrary, if the chip area is small, the value of N needs to be relatively large, that is, the number of RAMs that can be set on the current chip is small.
Further, in the preferred embodiment of the present invention, determining the bit width a required for data transmission in the RAM specifically includes:
Figure BDA0002981522710000031
the data transmission speed M in the USB and the actual system clock L are both constant data transmission speed M in the USB. In practical application of the RAM, generally, the data transmission speed M in the USB is 480Mbps, the system clock L is 60M, that is, M/N is a constant of 8, and the bit width a required for data transmission in the RAM can be obtained according to the determination of the actual value of N, so as to ensure the bit width quantity required for data transmission of N modules. In a specific embodiment of the present invention, the value range of N is 1 to 16, and correspondingly, the value range of bit width a is 24-216Of course, the value of N can be flexibly adjusted according to the area of the actual chip, and is within the above range.
Step S102, adding ACK feedback identifications to N module data according to priority levels, wherein each ACK feedback identification comprises priority level information; in the step, each module data is provided with an ACK feedback identifier by adding the ACK feedback identifiers to the N module data according to the priority level, so that the module data can be identified according to the ACK feedback identifiers when the data is read/written, and the accuracy of reading/writing is ensured; in addition, each ACK feedback mark comprises priority level information, so that the ACK feedback marks can be sequentially carried out according to the priority levels when specific reading/writing is carried out subsequently, and the possibility of errors is reduced. As a preferred embodiment of the invention, the priority levels of the ACK feedback identifiers are respectively from 0 level to N-1 level, and the priority level of 0 level is higher than that of N-1 level, that is, the priority level of ACK0 is the highest, and the priority level of ACK1 is the next, until the priority level of ACK (N-1) is the lowest. And the priority level of the module data of continuous data reading/writing can be set as the lowest priority level so as to ensure the accuracy of data transmission.
Step S103, caching the N module data added with the ACK feedback identification into an RAM respectively; in this step, the N module data are respectively cached in the RAM, so that the N module data can respectively perform control operations, i.e., read/write operations, on the RAM.
Step S104, sequentially reading/writing the data of the N modules according to the priority level; in this step, according to the priority level on the ACK feedback identifier of each module data, N module data are sequentially read/written; specifically, in this step, when data is read/written, the first clock is input to the module data with the priority of 0, and then the other N-1 hour hands are sequentially input to the other N-1 module data.
Referring to fig. 2 and fig. 3, an embodiment of the single-RAM multi-module data caching method according to the present invention will be described by way of example.
In this example, as shown in fig. 2, the number N of module data buffered in the RAM is 4, that is, 4 module data operate the RAM simultaneously, and generally, the data transmission speed M in the USB is 480Mbps, and the actual data system clock L is 60M, according to the formula:
Figure BDA0002981522710000041
the data transmission bit width A required by the RAM is 32 bits, which is equivalent to 8 bits transmitted by one bit, and just 4 clocks are needed for data serial-parallel connectionConverting 4 data of 8 bits into 1 data of 32 bits; thus, ACK can input the first clock to the module data with the highest priority, and leave 3 clocks empty, and then can give the remaining 3 clock cycles to the remaining 3 module data, as shown in fig. 3, module 0 data is transmitted to the RAM input at one clock, and then the remaining three clocks can be transmitted to the RAM input by rearranging other modules.
As described above, according to the single RAM multi-module data caching method, the ACK feedback identifiers are added to the N module data according to the priority levels, each ACK feedback identifier includes priority level information, and the N module data are sequentially read/written according to the priority levels, so that after the plurality of module data are stored in one large RAM, the plurality of module data in the RAM can be respectively read/written according to the priority levels, and the plurality of module data are read/written according to the priority levels and the clock sequence, thereby ensuring the reading/writing accuracy, realizing the caching of the plurality of module data by a single RAM, reducing the chip area occupied by the RAM, correspondingly reducing the power consumption of the chip, and prolonging the service life of the chip.
The present invention has been described in connection with the preferred embodiments, but the present invention is not limited to the embodiments disclosed above, and is intended to cover various modifications, equivalent combinations, which are made in accordance with the spirit of the present invention.

Claims (6)

1. A single RAM multi-module data caching method is characterized by comprising the following steps:
a. determining the number N of module data buffered in the RAM, and determining the bit width A required by data transmission in the RAM according to the data transmission speed M in the USB and the actual system clock L;
b. adding ACK feedback identifications to N module data according to priority levels, wherein each ACK feedback identification comprises priority level information;
c. respectively caching the N module data added with the ACK feedback identification into an RAM;
d. and sequentially reading/writing the data of the N modules in the RAM according to the priority level.
2. The method for caching data of a single RAM and multiple modules according to claim 1, wherein the determining of the bit width a required for data transmission in the RAM in step a specifically comprises:
Figure FDA0002981522700000011
the data transmission speed M in the USB and the actual system clock L are both constant.
3. The single-RAM multi-module data caching method of claim 2, wherein in the step b, the priority levels on the ACK feedback identifiers are respectively from level 0 to level N-1, and the priority level of the level 0 is higher than the priority level of the level N-1.
4. The single RAM multi-module data caching method of claim 3, wherein in said step d, when data read/write is performed, the first clock is input to the module data with the priority of 0, and then the other N-1 hour hands are sequentially input to the other N-1 module data.
5. The method for caching single-RAM multi-chunk data according to claim 3, wherein the value range of N is 1-16, and correspondingly the value range of bit width A is 24-216
6. The single-RAM multi-chunk data caching method of claim 4, wherein a priority level of the chunk data for consecutive data reads/writes is set to a lowest priority.
CN202110288714.7A 2021-03-18 2021-03-18 Single RAM multi-module data caching method Pending CN113076061A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110288714.7A CN113076061A (en) 2021-03-18 2021-03-18 Single RAM multi-module data caching method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110288714.7A CN113076061A (en) 2021-03-18 2021-03-18 Single RAM multi-module data caching method

Publications (1)

Publication Number Publication Date
CN113076061A true CN113076061A (en) 2021-07-06

Family

ID=76612757

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110288714.7A Pending CN113076061A (en) 2021-03-18 2021-03-18 Single RAM multi-module data caching method

Country Status (1)

Country Link
CN (1) CN113076061A (en)

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003271378A (en) * 2002-03-15 2003-09-26 Fuji Xerox Co Ltd Storage device
CN1495621A (en) * 2002-06-24 2004-05-12 �¿���˹�����ɷ����޹�˾ Parallel input/output data transmission controller
US20050165876A1 (en) * 2004-01-26 2005-07-28 Fujitsu Limited Multiple-word multiplication-accumulation circuit and Montgomery modular multiplication-accumulation circuit
JP2006012235A (en) * 2004-06-23 2006-01-12 Fuji Xerox Co Ltd Storage device
CN1858695A (en) * 2006-01-24 2006-11-08 华为技术有限公司 Method for increasing RAM utilizing efficiency
CN105468305A (en) * 2015-12-09 2016-04-06 浪潮(北京)电子信息产业有限公司 Data caching method, apparatus and system
CN107086968A (en) * 2016-02-14 2017-08-22 中兴通讯股份有限公司 Traffic scheduling processing method and processing device
CN108401467A (en) * 2017-02-17 2018-08-14 深圳市大疆创新科技有限公司 The control method of storage device, chip and storage device
CN108958700A (en) * 2017-05-22 2018-12-07 深圳市中兴微电子技术有限公司 A kind of first in first out data buffer and data cached method
CN111124961A (en) * 2019-12-30 2020-05-08 武汉先同科技有限公司 Method for realizing conversion from single-port RAM to pseudo-dual-port RAM in continuous read-write mode

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003271378A (en) * 2002-03-15 2003-09-26 Fuji Xerox Co Ltd Storage device
CN1495621A (en) * 2002-06-24 2004-05-12 �¿���˹�����ɷ����޹�˾ Parallel input/output data transmission controller
US20050165876A1 (en) * 2004-01-26 2005-07-28 Fujitsu Limited Multiple-word multiplication-accumulation circuit and Montgomery modular multiplication-accumulation circuit
JP2006012235A (en) * 2004-06-23 2006-01-12 Fuji Xerox Co Ltd Storage device
CN1858695A (en) * 2006-01-24 2006-11-08 华为技术有限公司 Method for increasing RAM utilizing efficiency
CN105468305A (en) * 2015-12-09 2016-04-06 浪潮(北京)电子信息产业有限公司 Data caching method, apparatus and system
CN107086968A (en) * 2016-02-14 2017-08-22 中兴通讯股份有限公司 Traffic scheduling processing method and processing device
CN108401467A (en) * 2017-02-17 2018-08-14 深圳市大疆创新科技有限公司 The control method of storage device, chip and storage device
CN108958700A (en) * 2017-05-22 2018-12-07 深圳市中兴微电子技术有限公司 A kind of first in first out data buffer and data cached method
CN111124961A (en) * 2019-12-30 2020-05-08 武汉先同科技有限公司 Method for realizing conversion from single-port RAM to pseudo-dual-port RAM in continuous read-write mode

Similar Documents

Publication Publication Date Title
US11681452B2 (en) Memory access technology and computer system
CN1977336B (en) System and method for improving performance in computer memory systems supporting multiple memory access latencies
CN112035381B (en) Storage system and storage data processing method
US20230251794A1 (en) Buffer circuit with data bit inversion
US10289313B2 (en) Method and apparatus for improving sequential reading in NAND flash
CN112596681B (en) Rereading command processing method, flash memory controller and solid state disk
CN101162441B (en) Access apparatus and method for data
US9569381B2 (en) Scheduler for memory
KR20080047998A (en) Apparatus and method for switching an apparatus to a power saving mode
CN102203717A (en) Solid state drive optimizer
CN106844583A (en) A kind of optimization method that FAT file system is set up on NOR Flash
CN102999441B (en) Fine granularity memory access method
CN101419838B (en) Method for prolonging using life of flash
CN111625520A (en) Universal mapping method and system for field types of heterogeneous database
US10324959B2 (en) Garbage collection in storage system
CN107943727B (en) High-efficient DMA controller
CN113076061A (en) Single RAM multi-module data caching method
CN111581136B (en) DMA controller and implementation method thereof
CN111143109B (en) ECC memory manager, method and electronic equipment
CN113126921B (en) Optimization method for improving write performance of 3D flash memory chip in solid-state disk
US7127564B2 (en) Double buffered flash programming
CN114253467A (en) Method for managing flash memory module, flash memory controller and electronic device
CN104657283A (en) Method for improving read/write performance of NFTL (Nand flash translation layer) algorithm
CN113419674B (en) Data programming management method, memory and controller thereof, and computer system
KR102126425B1 (en) Data processing apparatus and method for processing data

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20210706

WD01 Invention patent application deemed withdrawn after publication