CN1439966A - Multichannel FILO data buffer storage devices - Google Patents

Multichannel FILO data buffer storage devices Download PDF

Info

Publication number
CN1439966A
CN1439966A CN03121413A CN03121413A CN1439966A CN 1439966 A CN1439966 A CN 1439966A CN 03121413 A CN03121413 A CN 03121413A CN 03121413 A CN03121413 A CN 03121413A CN 1439966 A CN1439966 A CN 1439966A
Authority
CN
China
Prior art keywords
read
passage
address
write
ram
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
CN03121413A
Other languages
Chinese (zh)
Other versions
CN1201234C (en
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.)
Huawei Technologies Co Ltd
Original Assignee
BEIJIANG GANGWAN NETWORK 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 BEIJIANG GANGWAN NETWORK Co Ltd filed Critical BEIJIANG GANGWAN NETWORK Co Ltd
Priority to CNB031214134A priority Critical patent/CN1201234C/en
Publication of CN1439966A publication Critical patent/CN1439966A/en
Application granted granted Critical
Publication of CN1201234C publication Critical patent/CN1201234C/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Static Random-Access Memory (AREA)

Abstract

A data buffer storing device of first in first out with multichannel, used for carrying on FIFO data buffering for each of buffering data coming from the multichannel includes data storing unit, read/write pointer control unit and state labelling unit, of which the data storing unit only applies a dual port RAM (R1) and the read/write pointer control for each channel is also integrated separately into one read/write pointer control unit so as to decrease the resources for a large number of read/write pointer counter as well as to simplify the complicacy of interface logic.

Description

Hyperchannel first in first out data buffering memory storage
Technical field
The present invention relates to use in a kind of ASIC (Application SpecificIntegrated Circuit application-specific IC) or FPGA (the Field Programable GateArray field programmable gate array) design memory bank of first in first out (FIFO, First In FirstOut) mechanism to realize the device that multi-channel data cushions in data communication service.
Background technology
At present, in the ASIC or FPGA design of data communication service, often need to handle the buffering of a plurality of channel datas, common implementation method all is the mode with stack, promptly uses a FIFO to cushion separately to each passage.FIFO also can be regarded as a kind of abbreviation that is used for the memory bank of data buffering in the ASIC/FPGA design.Usually will realize that the FIFO memory function needs three parts: data storage cell, read-write pointer control module and state indicate the unit.Wherein data storage cell uses the two-port RAM store data; Read-write pointer control module is used to indicate the position of next read/write operation, and usage counter is realized usually; State indicates the unit by data being counted the full state of the sky that produces current FIFO.Under the few situation of port number, adopt method for designing clear thinking, the realization of stack FIFO realization multichannel buffer simple, but increase along with port number, ASIC or the FPGA resource used in order to structure FIFO are huge, not only need to be the identical internal control unit of the FIFO repetitive construct of each passage, expend a large amount of counter resources, and take the lot of data interconnection resources at interface.
For instance, as shown in Figure 1, data stream S is through behind the state machine St1, is assigned among the FIFO of 64 stacks and cushions F1-F64.If the data width of each FIFO is 8bit in this case, the FIFO degree of depth is 64, spent resource also need expend the counter of 64 * 2 6bit that constitute the read/write address pointer and the data counter of 64 * 6bit except 64 64 * 8 two-port RAM.What is more important, the output of 8 bit data of 64 FIFO also need multiplexed (MUX) logic that 64 * 8bit is wide, and this MUX will expend a large amount of combination logic resource, and logical wiring herein will be very difficult also simultaneously.Therefore therefore the dominant frequency of total system can be had a strong impact on.As seen, the increase along with port number realizes that the stack meeting of FIFO is more and more difficult.
Summary of the invention
At above-mentioned existing in prior technology defective and deficiency based on stack, the object of the present invention is to provide a kind of simple in structure, save resource, the fast hyperchannel data fifo buffer storage of access speed.
For realizing this purpose, the present invention is core concept with the memory partition, designed a kind of hyperchannel first in first out (FIFO) data buffering memory storage, be used for the data fifo that the buffered data from a plurality of passages carries out is separately cushioned, this device comprises: data storage cell, read-write pointer control module and state indicate the unit;
Described data storage cell by at least one double-port RAM (RAM) (R1), address resource to this RAM is redistributed, it is divided into a plurality of blocks by physical address, each block and each passage form certain mapping relations, for from the read/write operation of certain passage with the corresponding block of this passage in according to the access of FIFO mechanism;
Described read-write pointer control module is made up of read pointer control module and write pointer control module, described read pointer control module can be respectively the position of next read operation in each passage indication and the corresponding block of this passage, and described write pointer control module can be respectively the position of next write operation in each passage indication and the corresponding block of this passage.
Described state indicates sky/full state that unit (F) is used for writing down current each FIFO block of above-mentioned RAM.
More particularly, described two-port RAM (R1) can adopt the mode of high low address combination to conduct interviews, and the high address is corresponding with the port numbers of passage, and status address also is that the position of the next read/write operation of each block is then produced by the read/write pointer control module; Each FIFO block of described two-port RAM (R1) is divided according to the high address.
Because the shared two-port RAM of a plurality of passages (R1) among the present invention, the read/write pointer control of each passage also is integrated in the read/write pointer control module respectively, therefore reduced the resource that a plurality of independent FIFO in the prior art construct employed a large amount of read-write pointer counters, and simplified the complexity of interface logic, the dominant frequency along with saving system in ASIC or FPGA design of the simplification of structure and resource can be improved simultaneously.
Description of drawings
By the accompanying drawing of the following detailed and the corresponding embodiment of the invention, will understand the present invention fully more comprehensively.Certainly, accompanying drawing should not be used to limit the invention in the specific example, and it just plays the effect of explaining and helping to understand.
Fig. 1 shows the system chart that adopts a plurality of FIFO to support multichannel buffer
Fig. 2 shows the internal frame diagram of the instantiation that adopts hyperchannel data fifo snubber assembly of the present invention
Embodiment
Fig. 2 is the internal frame diagram that adopts the instantiation of hyperchannel data fifo snubber assembly of the present invention.As shown in Figure 2, data storage cell comprises that a two-port RAM R1 is used for a plurality of passages are carried out data buffering, and the address resource of this RAM R1 is redistributed, and divides the block visit into by passage, and each block inside can be regarded as the FIFO of respective channel.
The read/write pointer control module is by constituting by at least one totalizer A1/A2 and a single port RAM R2/R3.The address of the single port RAM R2/R3 of described read/write pointer control module is also pressed passage and is divided, with deposit in the corresponding R2/R3 of certain passage address with the corresponding R1 block of this passage in the side-play amount of next read/write operation position.After each read/write operation finishes, all use read/write totalizer A1/A2 that current side-play amount is added and leave in the lump in the R2/R3 unit corresponding, as the side-play amount of the read/write operation next time of the corresponding block of this passage with access port.
The visit of data storage unit is preferably adopted the mode of height address combination generation, the high address uses the port numbers of passage to realize, low order address is then provided by the read/write pointer control module, each block address of R1 is the tunnel ends slogan in the present embodiment, and the storage address of each passage respective block side-play amount also is the port numbers of passage among the R2/R3.
When certain passage has produced the request of writing buffered data, buffered data to be written will be as the input of R1, the port numbers of this passage will be as the high address input of R1, be used to the block of indicating buffered data to write, this port numbers also will be as the address input of R2 simultaneously, be used to indicate the storage address of this block side-play amount, R2 will take out side-play amount and send the low order address input of R1 as R1 to according to this address, R1 will make up the high address and low order address is located the position that buffered data writes, and these data are write.Simultaneously totalizer A1 adds the side-play amount of taking out and returns in the lump in the appropriate address of depositing among the R2, as this passage respective block side-play amount of write operation next time.
When certain passage has produced the request of reading buffered data, the port numbers of this passage will be as the high address input of R1, be used to indicate the block of playback buffer data, this port numbers also will be as the address input of R3 simultaneously, be used to indicate the storage address of this block side-play amount, R3 will send the low order address input of R1 as R1 according to the side-play amount that take out this address to, and R1 will make up the high address and low order address is located buffered data to be read, and with this data output.Simultaneously totalizer A2 adds the side-play amount of taking out and returns in the lump in the appropriate address of depositing among the R3, as the side-play amount of this passage respective block read operation next time.
Realized like this visit of a plurality of ports is only needed one a group of data line and a set of address lines, avoided using the interconnection line of multi-group data line, saved a large amount of logic interconnection resources, and simplified Interface design.
As shown in Figure 2, the address space of R1 is divided equally by port number, and the read/write address of R1 is formed by the output data combination of tunnel ends slogan and R2/R3, and port numbers also is the address of R2/R3 simultaneously.Can realize the mapping one by one in passage and address ram space like this.Therefore the data of each passage can directly be visited at the ram space of mapping.
Still with the example that is applied as of Fig. 1, compare with the FIFO among Fig. 1, the resource of this multiport FIFO is many two 64 * 6 RAM, but saved 63 * 2 * 6bit counter resources that constitutes the read/write address counter has also saved 8 to 64 encoding and decoding logic and a large amount of interconnection resources.
Any reference symbol does not in the present invention limit protection scope of the present invention." comprise " that a speech do not get rid of the appearance of other assembly of the present invention outside listed." one " before assembly or unit does not get rid of the existence of a plurality of this assemblies or unit.

Claims (5)

1. hyperchannel first in first out data buffering memory storage, this device comprises: data storage cell, read-write pointer control module and state indicate the unit;
It is characterized in that: described data storage cell comprises at least one double-port RAM RAM, this RAM is divided into a plurality of blocks by physical address, each block and each passage form mapping relations, for from the read/write operation of certain passage with the corresponding block of this passage in according to the access of FIFO mechanism;
Described read-write pointer control module is made up of read pointer control module and write pointer control module, described read pointer control module can indicate the position of next read operation in the corresponding with it block for each passage, and described write pointer control module can indicate the position of next write operation in the corresponding with it block for each passage.
Described state indicates sky/full state that the unit is used for writing down current each FIFO block of above-mentioned RAM.
2. hyperchannel first in first out data buffering memory storage as claimed in claim 1 is characterized in that, the two-port RAM of described data storage cell adopts the mode of height address combination to carry out read; The high address is corresponding with the port numbers of passage, and status address also is that the position of the next read/write operation of each block is then produced by the read/write pointer control module; Each FIFO block of the two-port RAM of described data storage cell is divided according to the high address.
3. hyperchannel first in first out data buffering memory storage as claimed in claim 2, it is characterized in that, the performance of the corresponding relation of described high address and port numbers is: the port numbers of each passage is the high address of read/write operation, also is the high address that each tunnel ends slogan will be input to indication read/write operation in the two-port RAM of described data storage cell.
4. as claim 2 or 3 described hyperchannel first in first out data buffering memory storages, it is characterized in that, described read/write pointer control module includes at least one single port RAM and is attached thereto the totalizer that connects and constitutes, the port numbers that the address of described single port RAM is divided also with each passage forms corresponding relation, with the read/write offset amount of depositing this passage in the corresponding single port address ram of passage, when certain passage is had read, described single port RAM then is connected to the read/write offset amount of this passage on the low level read/write address line of described data storage cell two-port RAM and combines the writing of indicating two-port RAM with high-order read/write address as output, and data are read/write by this position, finish the described totalizer in back in each read/write operation and current side-play amount is added return the side-play amount of depositing in the single port ram cell corresponding in the lump as the read/write operation next time of this passage with the tunnel ends slogan.
5. hyperchannel first in first out data buffering memory storage as claimed in claim 4, it is characterized in that, the corresponding relation performance that forms with each tunnel ends slogan is divided in the address of described single port RAM: the port numbers of each passage is the storage address of this passage read/write operation side-play amount among the described single port RAM, and promptly the port numbers of each passage will be input to the storage address of this passage read/write operation side-play amount of indication among the described single port RAM.
CNB031214134A 2003-03-28 2003-03-28 Multichannel FILO data buffer storage devices Expired - Fee Related CN1201234C (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNB031214134A CN1201234C (en) 2003-03-28 2003-03-28 Multichannel FILO data buffer storage devices

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNB031214134A CN1201234C (en) 2003-03-28 2003-03-28 Multichannel FILO data buffer storage devices

Publications (2)

Publication Number Publication Date
CN1439966A true CN1439966A (en) 2003-09-03
CN1201234C CN1201234C (en) 2005-05-11

Family

ID=27797250

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB031214134A Expired - Fee Related CN1201234C (en) 2003-03-28 2003-03-28 Multichannel FILO data buffer storage devices

Country Status (1)

Country Link
CN (1) CN1201234C (en)

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100337226C (en) * 2004-04-08 2007-09-12 华为技术有限公司 Dada buffer designing method with multiple channels and device thereof
CN100367243C (en) * 2004-11-12 2008-02-06 国际商业机器公司 Method and system for handling read and write operation of read-modify-write commands
CN100375063C (en) * 2004-11-30 2008-03-12 中兴通讯股份有限公司 Method and device for managing transmitting buffer area in field programmable gate array
CN100391231C (en) * 2005-12-06 2008-05-28 海信集团有限公司 Domestic terminal apparatus capable of realizing flow medium data high speed transmission
CN100395680C (en) * 2005-05-26 2008-06-18 华为技术有限公司 Configuration method and device for asynchronous clock field parameter
CN100424663C (en) * 2004-02-10 2008-10-08 中国科学院计算技术研究所 Implementing asynchronous first-in first-out data transmission by double-port direct access storage device
CN100442783C (en) * 2006-04-12 2008-12-10 杭州华三通信技术有限公司 Method and device of read-write buffer storage location based on field programable logical array
CN102054536B (en) * 2009-11-09 2012-10-03 上海华虹Nec电子有限公司 Device for testing DP (Dual Port) SRAM (Static Random Access Memory) by utilizing ALPG tester
CN103455442A (en) * 2013-08-30 2013-12-18 华为技术有限公司 Multi-channel first-in first-out buffer queue controller and access method
CN108292162A (en) * 2015-12-11 2018-07-17 图芯芯片技术有限公司 Software definition fifo buffer for multi-thread access
CN110134366A (en) * 2019-05-21 2019-08-16 合肥工业大学 A kind of method and device being written in parallel to multichannel FIFO
CN110134365A (en) * 2019-05-21 2019-08-16 合肥工业大学 A kind of multi-channel parallel reads the method and device of FIFO

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105373494A (en) * 2015-12-01 2016-03-02 中国科学院上海技术物理研究所 FPGA based four-port RAM

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100424663C (en) * 2004-02-10 2008-10-08 中国科学院计算技术研究所 Implementing asynchronous first-in first-out data transmission by double-port direct access storage device
CN100337226C (en) * 2004-04-08 2007-09-12 华为技术有限公司 Dada buffer designing method with multiple channels and device thereof
CN100367243C (en) * 2004-11-12 2008-02-06 国际商业机器公司 Method and system for handling read and write operation of read-modify-write commands
CN100375063C (en) * 2004-11-30 2008-03-12 中兴通讯股份有限公司 Method and device for managing transmitting buffer area in field programmable gate array
CN100395680C (en) * 2005-05-26 2008-06-18 华为技术有限公司 Configuration method and device for asynchronous clock field parameter
CN100391231C (en) * 2005-12-06 2008-05-28 海信集团有限公司 Domestic terminal apparatus capable of realizing flow medium data high speed transmission
CN100442783C (en) * 2006-04-12 2008-12-10 杭州华三通信技术有限公司 Method and device of read-write buffer storage location based on field programable logical array
CN102054536B (en) * 2009-11-09 2012-10-03 上海华虹Nec电子有限公司 Device for testing DP (Dual Port) SRAM (Static Random Access Memory) by utilizing ALPG tester
CN103455442A (en) * 2013-08-30 2013-12-18 华为技术有限公司 Multi-channel first-in first-out buffer queue controller and access method
WO2015027754A1 (en) * 2013-08-30 2015-03-05 华为技术有限公司 Multi-channel first-in first-out cache queue controller and access method
CN103455442B (en) * 2013-08-30 2016-06-08 华为技术有限公司 Hyperchannel first outer buffer queue controller and access method
CN108292162A (en) * 2015-12-11 2018-07-17 图芯芯片技术有限公司 Software definition fifo buffer for multi-thread access
CN110134366A (en) * 2019-05-21 2019-08-16 合肥工业大学 A kind of method and device being written in parallel to multichannel FIFO
CN110134365A (en) * 2019-05-21 2019-08-16 合肥工业大学 A kind of multi-channel parallel reads the method and device of FIFO
CN110134365B (en) * 2019-05-21 2022-10-11 合肥工业大学 Method and device for reading FIFO (first in first out) in parallel by multiple channels
CN110134366B (en) * 2019-05-21 2022-10-11 合肥工业大学 Method and device for parallel writing in multi-channel FIFO

Also Published As

Publication number Publication date
CN1201234C (en) 2005-05-11

Similar Documents

Publication Publication Date Title
CN1201234C (en) Multichannel FILO data buffer storage devices
EP2313890B1 (en) Independently controllable and reconfigurable virtual memory devices in memory modules that are pin-compatible with standard memory modules
CN101231877B (en) N-port memory and method for accessing n-port memory M memory address
US20090097348A1 (en) Integrated circuit including a memory module having a plurality of memory banks
US6779055B2 (en) First-in, first-out memory system having both simultaneous and alternating data access and method thereof
CN101236774B (en) Device and method for single-port memory to realize the multi-port storage function
CN101710270A (en) High-speed mass memory based on flash memory and chip data management method
CN103544124B (en) The access method of Nand flash storages
CN111611180B (en) Dynamic shared buffer area supporting multiple protocols
CN106250321A (en) The data processing method of 2R1W memorizer and data handling system
CN106066833A (en) The method of access multiport memory module and related Memory Controller
CN100557584C (en) Be used for Memory Controller and method that network and storer are coupled
CN2632767Y (en) Multichannel firist-in last-out data buffering memory
CN100568382C (en) Push-up storage
CN106339327B (en) A kind of computer system and blade server cabinet
CN101789840B (en) Pan-T crossing device and pan-T crossing method
CN111221754A (en) Storage device with read-write collision prevention function
US7136309B2 (en) FIFO with multiple data inputs and method thereof
CN102930898B (en) Method of structuring multiport asynchronous storage module
CN109388344B (en) Dual-port SRAM access control system and method based on bandwidth expansion cross addressing
CN104407996B (en) The unequal dual port RAM read-write of data-bus width and arbitration controller
US20080301366A1 (en) Raid system and data transfer method in raid system
CN101883046A (en) Data cache architecture applied to EPON terminal system
CN116414732A (en) DDR 3-based high-speed high-capacity double-channel double-buffer storage system
CN116136827A (en) Multi-port storage device, read-write method and device

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
ASS Succession or assignment of patent right

Owner name: HUAWEI TECHNOLOGY CO., LTD.

Free format text: FORMER OWNER: GANGWAN NETWORK CO., LTD.

Effective date: 20060922

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20060922

Address after: 518129 Bantian HUAWEI headquarters office building, Longgang District, Guangdong, Shenzhen

Patentee after: Huawei Technologies Co., Ltd.

Address before: 100089, No. 21 West Third Ring Road, Beijing, Haidian District, Long Ling Building, 13 floor

Patentee before: Harbour Networks Holdings Limited

C17 Cessation of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20050511

Termination date: 20110328