CN101187896A - On-spot programmable gate array data cache management method - Google Patents
On-spot programmable gate array data cache management method Download PDFInfo
- Publication number
- CN101187896A CN101187896A CNA200710125017XA CN200710125017A CN101187896A CN 101187896 A CN101187896 A CN 101187896A CN A200710125017X A CNA200710125017X A CN A200710125017XA CN 200710125017 A CN200710125017 A CN 200710125017A CN 101187896 A CN101187896 A CN 101187896A
- Authority
- CN
- China
- Prior art keywords
- data
- read
- address
- operation module
- write
- 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
Links
Images
Landscapes
- Memory System Of A Hierarchy Structure (AREA)
Abstract
The invention discloses a managing method for gate array data cache which can be programmed on site, when data is written, firstly, a writing operating module writes slicing data into a data memory, and records the length of the slicing data and gains the starting address in the data memory of the slicing data, and secondly, the writing operating module writes the length of the slicing data and the staring address in the data memory into the a storing controller. When data is read, firstly, a reading operating module reads the length of the slicing data which is gained by the storing controller and the staring address in the data memory, and secondly, the reading operating module reads the slicing data after giving the reading address of the data memory according to the staring address. The position of each massage slicing in the data memory is led to gain explicit mark by the technical proposal of the invention.
Description
Technical field
The present invention relates to a kind of management method of metadata cache, the management method of especially a kind of FPGA (FieldProgrammable Gate Array, field programmable gate array) metadata cache.
Background technology
After FPGA receives pending data, data are write data FIFO (FirstInput First Output, First Input First Output), i.e. data-carrier store, and control information write control FIFO, i.e. memory controller; When control FIFO non-NULL, expression has data.Downstream module reads to control the controlled information of FIFO0, reads corresponding data then and handled from data FIFO.
Conventional FIFO realizes comprising a fifo controller and dual port RAM (random-access memory, random-access memory), and a bite of dual port RAM is as write port, and another mouthful be as read port, the reading-writing port independent operation.Fifo controller is finished the management of read-write operation, comprises read-write operation address pointer, a FIFO internal data counter, the empty full state indication of DCON and FIFO inside.As the patent No. is " ZL200410034425.0 ", and the Chinese patent that name is called " a kind of multi-channel data Cushioning Design method and apparatus " has promptly been described the implementation method of above-mentioned FIFO.Yet, the read/write address of its dual port RAM is produced by fifo controller, the outside module of initiating write operation or read operation can't be known current read/write address, in case writing module and read through model have one operating mistake takes place, will cause the inner and follow-up data of whole RAM to take place chaotic and can't recover; And, message with different passages in this patent carries out buffer memory by passage, requires each passage that one group of FIFO control information must be arranged, as read/write address pointer, empty full state indication, individual counter etc., number of channels will cause managing the waste of inconvenience and logical resource more for a long time; Moreover, needing to set a DCON in this patent, a plurality of passages just need a plurality of different DCON.
The patent No. has been described a kind of method of packet buffer for the United States Patent (USP) of " US5664116 ", it is data cached promptly to adopt independent FIFO of each channel allocation to come, but the position of each message fragment in data FIFO do not have clear and definite sign, when in case read-write operation has a side to make a mistake, the data of whole buffer area all can read confusion, cause the mistake that can't recover.
Summary of the invention
The technical problem to be solved in the present invention provides a kind of management method of FPGA metadata cache, make the position of each message fragment in data FIFO obtain clear and definite sign, guaranteed the correctness of certain message fragment subsequent packet buffer memory when read-write operation makes a mistake.
The technical solution adopted for the present invention to solve the technical problems is:
A kind of management method of FPGA metadata cache,
May further comprise the steps during write data:
A, write operation module write data FIFO with fragment data, write down the length of described fragment data and obtain the start address of described fragment data in described data FIFO;
B, described write operation module write control FIFO with the length and the start address in described data FIFO thereof of described fragment data;
May further comprise the steps during read data:
A, read operation module read length and the start address in described data FIFO thereof that described control FIFO obtains fragment data;
B, described read operation module according to described start address provide described data FIFO read the address after, read described fragment data.
In the such scheme, during write data, described start address is transferred to described write operation module by described data FIFO by preset interface.
In the such scheme, during read data, described data FIFO read the address be by described read operation module according to described start address, provide by preset interface.
In the such scheme, during read data, described step B realizes by following steps:
(1), described read operation module provides the address of reading of described data FIFO by described preset interface;
(2), described read operation module is carried out a read operation according to the described address of reading;
(3), judge according to the length of described fragment data whether described fragment data is all read, if all read, process ends then, otherwise, read to get back to after the address adds 1 step (2) with described.
In the such scheme, described fragment data comprises by regular length divides burst that message data obtains and data channel number, start of message (SOM) sign and ENMES sign.
Beneficial effect of the present invention mainly shows: the address of the present invention return data FIFO when write operation, and when read operation, provide the start address of data FIFO, make the position of each message fragment in data FIFO obtain clear and definite sign, even certain message fragment makes a mistake when read-write operation, it is chaotic not cause that also whole data FIFO takes place, and guarantees the correctness of subsequent packet buffer memory; Moreover the present invention writes data FIFO with channel number together in company with data, only manages a data FIFO, just can the buffer memory multi-channel data, greatly simplified the complexity that realizes, and saved logical resource.
Description of drawings
Fig. 1 is the method flow diagram of write data FIFO in the management of FPGA metadata cache of the present invention;
Fig. 2 is the method flow diagram of read data FIFO in the management of FPGA metadata cache of the present invention.
Embodiment
The invention will be further described in conjunction with Fig. 1 and Fig. 2 respectively below.
With reference to Fig. 1, when the up-stream module of FPGA sent message data, the management method of metadata cache may further comprise the steps:
Step 101: the write operation module judges whether control FIFO and data FIFO be all non-full, if both are all non-full, then showing can also the buffer memory message data, enters step 102; Otherwise, show and can not receive data that execution in step 101 once more from up-stream module;
Step 102: the write operation module receives message data, and obtains data channel number, start of message (SOM) sign and ENMES sign;
Step 103: the write operation module is divided message data and is obtained burst by regular length, and with each burst respectively together with data channel number, start of message (SOM) sign and the ENMES sign form each fragment data;
Step 104: the write operation module all writes data FIFO with a fragment data, writes down the length of this fragment data and obtains the start address of this fragment data in data FIFO; Wherein, this start address is to be transferred to the write operation module by data FIFO by default Wr_addr interface; The length of record fragment data is because the length of message is fixing, often is not the integral multiple of the regular length set when dividing, and this makes the regular length that the curtailment of last burst of message data is set;
Step 105: the write operation module writes control FIFO with the length of this fragment data and the start address in data FIFO thereof;
Step 106: the write operation module judges whether that fragment data need write data FIFO in addition, if, get back to step 104, otherwise, process ends.
With reference to Fig. 2, when FPGA read message data, the management method of metadata cache may further comprise the steps:
Step 201: the read operation module is judged whether non-NULL of control FIFO, if not empty, and expression has at least a fragment data to be buffered in the data FIFO, enters step 202; Otherwise execution in step 201 once more;
Step 202: the read operation module reads control FIFO and obtains the length of a fragment data and the start address in data FIFO thereof;
Step 203: the read operation module provides the address of reading of data FIFO by default Rd_addr interface according to this start address according to the read operation module;
Step 204: the read operation module is read the address according to this data FIFO is carried out a read operation, controls initial value among the FIFO simultaneously and is 0 reading times counter and add 1;
Step 205: judge according to the value of the length of this fragment data and reading times counter whether this fragment data reads and finish that if both are identical, the expression fragment data has read and finished, and gets back to step 201 and carries out decision operation once more; Otherwise, enter step 206;
Step 206: this is read the address increases by 1, and gets back to step 204.
Claims (5)
1. the management method of an on-spot programmable gate array data cache is characterized in that,
May further comprise the steps during write data:
A, write operation module are write entry data memory with fragment data, write down the length of described fragment data and obtain the start address of described fragment data in described data-carrier store;
B, described write operation module write memory controller with the length and the start address in described data-carrier store thereof of described fragment data;
May further comprise the steps during read data:
A, read operation module read length and the start address in described data-carrier store thereof that described memory controller obtains fragment data;
B, described read operation module according to described start address provide described data-carrier store read the address after, read described fragment data.
2. the management method of on-spot programmable gate array data cache as claimed in claim 1, it is characterized in that: during write data, described start address is transferred to described write operation module by described data-carrier store by preset interface.
3. the management method of on-spot programmable gate array data cache as claimed in claim 2 is characterized in that: during read data, described data-carrier store read the address be by described read operation module according to described start address, provide by preset interface.
4. the management method of on-spot programmable gate array data cache as claimed in claim 3 is characterized in that, during read data, described step B realizes by following steps:
(1), described read operation module provides the address of reading of described data-carrier store by described preset interface;
(2), described read operation module is carried out a read operation according to the described address of reading;
(3), judge according to the length of described fragment data whether described fragment data is all read, if all read, process ends then, otherwise, read to get back to after the address adds 1 step (2) with described.
5. as the management method of one of them described on-spot programmable gate array data cache of claim 1 to 4, it is characterized in that: described fragment data comprises by regular length divides burst that message data obtains and data channel number, start of message (SOM) sign and ENMES sign.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200710125017XA CN101187896B (en) | 2007-12-14 | 2007-12-14 | On-spot programmable gate array data cache management method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200710125017XA CN101187896B (en) | 2007-12-14 | 2007-12-14 | On-spot programmable gate array data cache management method |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101187896A true CN101187896A (en) | 2008-05-28 |
CN101187896B CN101187896B (en) | 2011-04-06 |
Family
ID=39480300
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200710125017XA Expired - Fee Related CN101187896B (en) | 2007-12-14 | 2007-12-14 | On-spot programmable gate array data cache management method |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101187896B (en) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101447928B (en) * | 2008-12-31 | 2011-09-14 | 华为技术有限公司 | Method and device for processing fragment information |
CN102546397A (en) * | 2011-12-16 | 2012-07-04 | 福建星网锐捷网络有限公司 | Method, apparatus and device for balancing traffic of uplink aggregation port |
CN107220187A (en) * | 2017-05-22 | 2017-09-29 | 北京星网锐捷网络技术有限公司 | A kind of buffer memory management method, device and field programmable gate array |
CN107911317A (en) * | 2017-11-30 | 2018-04-13 | 杭州迪普科技股份有限公司 | A kind of method for dispatching message and device |
CN108628780A (en) * | 2018-04-28 | 2018-10-09 | 上海与德科技有限公司 | A kind of data communications method, system and electric vehicle |
CN108733598A (en) * | 2018-05-07 | 2018-11-02 | 济南浪潮高新科技投资发展有限公司 | A kind of data transmission method and data transmission device |
CN111224903A (en) * | 2018-11-26 | 2020-06-02 | 深圳市中兴微电子技术有限公司 | Data transmission method, data transmission equipment and computer readable storage medium |
CN113312282A (en) * | 2021-06-10 | 2021-08-27 | 京微齐力(北京)科技有限公司 | FIFO read-write control circuit, control method, chip and equipment |
CN113342717A (en) * | 2021-06-22 | 2021-09-03 | 京微齐力(深圳)科技有限公司 | FIFO read-write control method and control circuit |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102457441B (en) * | 2012-01-16 | 2014-06-25 | 瑞斯康达科技发展股份有限公司 | PSN (Packet Switched Network) data packet processing method and device |
-
2007
- 2007-12-14 CN CN200710125017XA patent/CN101187896B/en not_active Expired - Fee Related
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101447928B (en) * | 2008-12-31 | 2011-09-14 | 华为技术有限公司 | Method and device for processing fragment information |
CN102546397A (en) * | 2011-12-16 | 2012-07-04 | 福建星网锐捷网络有限公司 | Method, apparatus and device for balancing traffic of uplink aggregation port |
CN107220187A (en) * | 2017-05-22 | 2017-09-29 | 北京星网锐捷网络技术有限公司 | A kind of buffer memory management method, device and field programmable gate array |
CN107220187B (en) * | 2017-05-22 | 2020-06-16 | 北京星网锐捷网络技术有限公司 | Cache management method and device and field programmable gate array |
CN107911317A (en) * | 2017-11-30 | 2018-04-13 | 杭州迪普科技股份有限公司 | A kind of method for dispatching message and device |
CN107911317B (en) * | 2017-11-30 | 2020-05-12 | 杭州迪普科技股份有限公司 | Message scheduling method and device |
CN108628780A (en) * | 2018-04-28 | 2018-10-09 | 上海与德科技有限公司 | A kind of data communications method, system and electric vehicle |
CN108733598A (en) * | 2018-05-07 | 2018-11-02 | 济南浪潮高新科技投资发展有限公司 | A kind of data transmission method and data transmission device |
CN111224903A (en) * | 2018-11-26 | 2020-06-02 | 深圳市中兴微电子技术有限公司 | Data transmission method, data transmission equipment and computer readable storage medium |
CN111224903B (en) * | 2018-11-26 | 2022-10-14 | 深圳市中兴微电子技术有限公司 | Data transmission method, data transmission equipment and computer readable storage medium |
CN113312282A (en) * | 2021-06-10 | 2021-08-27 | 京微齐力(北京)科技有限公司 | FIFO read-write control circuit, control method, chip and equipment |
CN113342717A (en) * | 2021-06-22 | 2021-09-03 | 京微齐力(深圳)科技有限公司 | FIFO read-write control method and control circuit |
Also Published As
Publication number | Publication date |
---|---|
CN101187896B (en) | 2011-04-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101187896B (en) | On-spot programmable gate array data cache management method | |
US20210048954A1 (en) | Geometry-aware command scheduling | |
CN101740102B (en) | Multi-channel flash memory chip array structure and write-in and read-out methods thereof | |
EP2377028B1 (en) | Modifying commands | |
US7057942B2 (en) | Memory management device and memory device | |
US9304692B2 (en) | Solid-state drive command grouping | |
EP1712985A1 (en) | Method and system for storing logical data blocks into flash-blocks in multiple non-volatile memories which are connected to at least one common data I/O bus | |
CN108958907A (en) | Context-aware dynamic command for data-storage system is dispatched | |
CN102652313B (en) | Flash memory controller and operation method | |
CN103049396B (en) | The method of writing with a brush dipped in Chinese ink of data and device | |
CN101241446A (en) | Command scheduling method and apparatus of virtual file system embodied in nonvolatile data storage device | |
TW200832415A (en) | High speed interface for non-volatile memory | |
CN102253898B (en) | Memory management method and memory management device of image data | |
JP2001022617A (en) | File managing method | |
US9400603B2 (en) | Implementing enhanced performance flash memory devices | |
CN103744621A (en) | Circular read-write method and device for buffer | |
TWI512609B (en) | Methods for scheduling read commands and apparatuses using the same | |
JP5378197B2 (en) | Memory controller, memory card, nonvolatile memory system | |
CN107608906A (en) | The method for reducing in-chip FLASH erasing times | |
CN109840047A (en) | It is a kind of to reduce the method and device for reading delay | |
CN106325759A (en) | DDR (Double Data Rate) method and device capable of dynamically configuring port bandwidths | |
CN101515221A (en) | Method, device and system for reading data | |
CN116225990A (en) | Multichannel DDR read-write arbitration device based on FPGA | |
CN104391804B (en) | A kind of NAND flash data storage methods | |
TW201426756A (en) | Method of arranging data in a non-volatile memory and a memory control system thereof |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20110406 Termination date: 20141214 |
|
EXPY | Termination of patent right or utility model |