CN105183374B - A kind of data read-write method and mainboard - Google Patents

A kind of data read-write method and mainboard Download PDF

Info

Publication number
CN105183374B
CN105183374B CN201510542803.4A CN201510542803A CN105183374B CN 105183374 B CN105183374 B CN 105183374B CN 201510542803 A CN201510542803 A CN 201510542803A CN 105183374 B CN105183374 B CN 105183374B
Authority
CN
China
Prior art keywords
read
write
data
fpga
hotspot database
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.)
Active
Application number
CN201510542803.4A
Other languages
Chinese (zh)
Other versions
CN105183374A (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.)
Beijing Tengling Technology Co Ltd
Original Assignee
Beijing Tengling Technology 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 Beijing Tengling Technology Co Ltd filed Critical Beijing Tengling Technology Co Ltd
Priority to CN201510542803.4A priority Critical patent/CN105183374B/en
Publication of CN105183374A publication Critical patent/CN105183374A/en
Application granted granted Critical
Publication of CN105183374B publication Critical patent/CN105183374B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

The application provides a kind of mainboard, and applied to storage server, the mainboard includes CPU, the data read-write module based on FPGA, internal memory;Disk array based on FPGA data read-write module and CPU and storage server is respectively connected with;Internal memory is connected with the data read-write module based on FPGA;Data read-write module based on FPGA, the read-write I/O request issued for receiving CPU, read/write address corresponding to parsing acquisition carried out to the read-write I/O request, and judges to get whether the read/write address hits allocation index in the internal memory in default hotspot database;When the read/write address got hits the allocation index in default hotspot database, read-write operation corresponding with the read-write I/O request is performed locally based on the hot spot data in the hotspot database.This mainboard can improve the access speed of hot spot data and the overall readwrite performance of storage server.

Description

A kind of data read-write method and mainboard
Technical field
The application is related to the communications field, more particularly to a kind of data read-write method and mainboard.
Background technology
Storage server is a kind of server that can provide very big memory space, and it must have quick process chip, Larger RAM (Random Access Memory, random access memory), and very big internal disk space, so as to What reply terminal user was likely to occur at any time applies allotment demand.
In storage server, mainboard is typically the core of a storage server design.Storage server mainboard shows Have in framework, CPU is generally extended by SAS (Serial Attached SCSI, i.e., serial SCSI technologies) controllers and SAS Device is established with disk array and connected, and when carrying out reading and writing data, CPU will receive read I O request from I/O functional areas and write IO please Ask and disk array is issued to by SAS controller and SAS expander, to complete corresponding read-write operation.
In read-write operation corresponding to completion, the disk unit in disk array is rotated disk array with constant speed, In order to complete read operation and write operation, the magnetic head of disk must be able to be moved on required magnetic track, and required by wait The starting position of sector is rotated under magnetic head, then starts read operation and write operation again.
Therefore, for disk unit when carrying out reading and writing data, the total duration spent by reading and writing data can generally include tracking Time, rotate delay time and transmission time three parts.Because in actual applications, disk is when carrying out reading and writing data, magnetic head Generally long between tracking time and rotation delay, if CPU frequently accesses disk, the most of the time of disk work is all seeking Road, operating efficiency will be very low, necessarily cause whole computing system operation slow, therefore accelerated very to disk access It is necessary.
The content of the invention
The application proposes a kind of data read-write method, and applied to storage server, the mainboard of the storage server includes CPU, the data read-write module based on FPGA, internal memory;It is described based on FPGA data read-write module and the CPU and described to deposit The disk array of storage server is respectively connected with;The internal memory is connected with the data read-write module based on FPGA;It is described Method includes:
Step A, the described data read-write module based on FPGA receives the read-write I/O request that the CPU is issued, and to described Read-write I/O request carries out read/write address corresponding to parsing acquisition;
Step B, the described data read-write module based on FPGA judges to get whether the read/write address is hit in described Deposit the allocation index in default hotspot database;
Step C, when the read/write address got hits the allocation index in the default hotspot database, institute State and be performed locally and the read-write IO based on the hot spot data in the hotspot database based on FPGA data read-write module Read-write operation corresponding to request.
Optionally, the step C is specifically included:
When the address read in default hotspot database described in address hit that the read I O request that parsing CPU is issued is got During index, hot spot data corresponding with the allocation index is read in default hotspot database from the internal memory, and will read To hot spot data return to CPU, so that the hot spot data to be sent to the initiation end main frame of the read I O request by CPU;
The address in the default hotspot database is hit when the write address that the write IO request that parsing CPU is issued is got During index, write-in data corresponding with the write IO request are stored in the hotspot database, in the hotspot database with should Hot spot data is updated corresponding to allocation index.
Optionally, the step B is specifically included:
Judging to get whether the read/write address hits address rope in the internal memory in default hotspot database Before drawing, for data corresponding with the read/write address conduct interviews number statistics;
Whether the access times for judging to count reach threshold value;
When the access times of any data counted reach threshold value, it is stored in using the data as hot spot data described In default hotspot database, and create in the hotspot database the corresponding pass between the data and the allocation index of the data System.
Optionally, the step B further comprises:
When the duration that any hot spot data is not read in the default hotspot database reaches preset duration, The hot spot data is written back to the disk array from the internal memory, and deletes what is preserved in the default hotspot database Allocation index corresponding with the hot spot data.
Optionally, the internal memory includes high-capacity flash memory.
The application also proposes a kind of mainboard, and applied to storage server, the mainboard includes CPU, the data based on FPGA Module for reading and writing, internal memory;Wherein, the data read-write module based on FPGA and the CPU and the magnetic of the storage server Disk array is respectively connected with;The internal memory is connected with the data read-write module based on FPGA;Wherein:
The data read-write module based on FPGA, the read-write I/O request issued for receiving the CPU, and to the reading Write IO request carries out read/write address corresponding to parsing acquisition;
The data read-write module based on FPGA determines whether to get whether the read/write address is hit in described Deposit the allocation index in default hotspot database;
It is described to be based on when the read/write address got hits the allocation index in the default hotspot database FPGA data read-write module is further used for being performed locally and the reading based on the hot spot data in the hotspot database Read-write operation corresponding to write IO request.
Optionally, the data read-write module based on FPGA is further used for:
When the address read in default hotspot database described in address hit that the read I O request that parsing CPU is issued is got During index, hot spot data corresponding with the allocation index is read in default hotspot database from the internal memory, and will read To hot spot data return to CPU, so that the hot spot data to be sent to the initiation end main frame of the read I O request by CPU;
The address in the default hotspot database is hit when the write address that the write IO request that parsing CPU is issued is got During index, write-in data corresponding with the write IO request are stored in the hotspot database, in the hotspot database with should Hot spot data is updated corresponding to allocation index.
Optionally, the data read-write module based on FPGA is further used for:
Judging to get whether the read/write address hits address rope in the internal memory in default hotspot database Before drawing, for data corresponding with the read/write address conduct interviews number statistics;
Whether the access times for judging to count reach threshold value;
When the access times of any data counted reach threshold value, it is stored in using the data as hot spot data described In default hotspot database, and create in the hotspot database the corresponding pass between the data and the allocation index of the data System.
Optionally, the data read-write module based on FPGA is further used for:
When the duration that any hot spot data is not read in the default hotspot database reaches preset duration, The hot spot data is written back to the disk array from the internal memory, and deletes what is preserved in the default hotspot database Allocation index corresponding with the hot spot data.
Optionally, the internal memory includes high-capacity flash memory.
The application proposes a kind of mainboard framework of new storage server, and the mainboard framework includes CPU, based on FPGA's Data read-write module, internal memory;The data read-write module based on FPGA and the CPU and the disk of the storage server Array is respectively connected with;The internal memory is connected with the data read-write module based on FPGA.CPU is carrying out reading and writing data When, the data read-write module based on FPGA receives the read-write I/O request that CPU is issued, and parsing acquisition is carried out to the read-write I/O request Corresponding read/write address, and judge to get whether the read/write address is hit in the internal memory in default hotspot database Allocation index;When the read/write address got hits the allocation index in the default hotspot database, the base It is performed locally and the read-write I/O request based on the hot spot data in the hotspot database in FPGA data read-write module Corresponding read-write operation.
Due in the mainboard framework, when reading and writing data hit hotspot database corresponding to the read-write I/O request that CPU is initiated In hot spot data when, by by based on FPGA data read-write module according to based on the data in the hotspot database at it Read-write operation corresponding with the read-write I/O request is completed on ground, without the read-write I/O request is issued into disk array to hold Read-write operation corresponding to row, therefore the read-write operation number that can effectively reduce monolithic disk in disk array saves disk Duration is sought, so as to realize the acceleration of disk access, the access speed of hot spot data is greatly improved, improves storage The overall readwrite performance of server.
Brief description of the drawings
Fig. 1 is a kind of mainboard Organization Chart for storage server that the embodiment of the application one provides;
Fig. 2 is the mainboard Organization Chart for another storage server that the embodiment of the application one provides;
Fig. 3 is a kind of flow chart for data read-write method that the embodiment of the application one provides.
Embodiment
Fig. 1 is referred to, Fig. 1 is the mainboard configuration diagram of storage server in existing realization.
As shown in figure 1, in the mainboard framework of storage server, business I/O port, CPU, IOH (Input are generally included Output Hub, input and output hub), internal memory, SAS controller, SAS expander and RAID array.
Wherein, CPU is responsible for the work that operating system, RAID algorithm and all business processings calculate correlation.IOH is support CPU chipset, it is responsible for providing some low-speed interfaces;For example, management network port, button and serial ports etc..Internal memory, for being System provides larger capacity and caching faster;For example, the internal memory can be the internal memory of DDR3 specifications.SAS controller, it is responsible for SAS protocol conversion, and the processing of associated storage instruction are provided.SAS expander, it is responsible for expanding the port number of SAS controller, phase When in an interchanger.RAID array, for the array with redundant ability that is made up of independent disk, disk array can be by Many less expensive disks of price, a capacity being combined into huge disk group, so as to lift the effect of whole disk system Rate;For example, RAID array can be SATA (the Serial Advanced Technology by compatible SAS protocol Attachment, Serial Advanced Technology Attachment) hard disk or SAS hard disks.
In above-mentioned mainboard framework, the read-write operation of data is mainly responsible for processing by CPU.
For CPU when carrying out the read operation of data, read I O request enters CPU from business I/O port, and CPU is asked receiving reading IO After asking, the read I O request is buffered in internal memory first, then CPU reads buffered read I O request from internal memory, then will The read I O request is handed down to disk array by SAS controller, then by SAS expander.
After disk array receives the read I O request that CPU is issued, the disk of disk array starts to rotate, and tracking, then performs After read operation corresponding with the read I O request, the data read are cached to by SAS controller, then by SAS expander In internal memory, then the data of caching are read by CPU from internal memory, the originating end master to the read I O request is sent to by business I/O port Machine.
For CPU when carrying out the write operation of data, write IO request enters CPU from business I/O port, and CPU is asked receiving this and write IO After asking, first by the write IO request and the data buffer storage of this secondary write-in in internal memory, then CPU is read from internal memory The write IO request of caching, then the write IO request is handed down to disk array by SAS controller, then by SAS expander.
After disk array receives the write IO request that CPU is issued, the disk of disk array starts to rotate, and tracking, then performs After write operation corresponding with the write IO request writes the data for being buffered in the secondary write-in of this in internal memory successfully, a write-in is returned Successful notice message, the notice message are cached in internal memory by SAS controller, then by SAS expander, then by CPU from The successful notice message of the write-in of caching is read in internal memory, the originating end master to write IO request is sent to by business I/O port Machine.
It can be seen that in the existing mainboard framework of storage server, the disk of disk array receive IO that CPU issues please It is generally long between magnetic head tracking time and rotation delay when seeking progress reading and writing data, if CPU frequently accesses disk, disk The most of the time of work is all seeking, and operating efficiency will be very low, necessarily causes whole computing system operation slow, therefore Disk access is accelerated extremely to be necessary.
In view of this, the application proposes a kind of mainboard framework of new storage server, the mainboard framework include CPU, Data read-write module, internal memory based on FPGA;The data read-write module based on FPGA takes with the CPU and the storage The disk array of business device is respectively connected with;The internal memory is connected with the data read-write module based on FPGA.CPU is being carried out During reading and writing data, the data read-write module based on FPGA receives the read-write I/O request that CPU is issued, and the read-write I/O request is carried out Read/write address corresponding to parsing acquisition, and judge to get whether the read/write address hits default focus number in the internal memory According to the allocation index in storehouse;When the read/write address got hits the allocation index in the default hotspot database When, it is described to be performed locally and the reading based on the hot spot data in the hotspot database based on FPGA data read-write module Read-write operation corresponding to write IO request.
Due in the mainboard framework, when reading and writing data hit hotspot database corresponding to the read-write I/O request that CPU is initiated In hot spot data when, will by based on data of the FPGA data read-write module in hotspot database its locally complete with Read-write operation corresponding to the read-write I/O request, performed without the read-write I/O request is issued into disk array corresponding Read-write operation, thus can effectively reduce monolithic disk in disk array read-write operation number save disk tracking when It is long, so as to realize the acceleration of disk access, the access speed of hot spot data is greatly improved, improves storage server Overall readwrite performance.
The application is described below by specific embodiment and with reference to specific application scenarios.
Fig. 2 is refer to, Fig. 2 is a kind of mainboard framework that the embodiment of the application one provides, applied to storage server.
As shown in Fig. 2 in the mainboard framework, including CPU, based on FPGA (Field Programmable Gate Array, i.e. field programmable gate array) data read-write module (hereinafter referred to as FPGA), business I/O port, disk array and with The first internal memory that CPU is connected and the second internal memory being connected with FPGA.Wherein, the FPGA is connected with CPU;The FPGA It is connected with the disk array of storage server;First internal memory can be the internal memory of DDR3 specifications;Second internal memory can To be high-capacity flash memory.
What deserves to be explained is FPGA and the disk array of storage server when being attached, can be controlled by SAS with And SAS expander is connected with disk array, can also by FPGA analog-driven come realize the function of SAS controller with Disk array directly establishes connection.
Wherein, by FPGA analog-driven be connected to realize that the function of SAS controller is directly established with disk array This implementation, can effectively shorten data paths of the CPU when carrying out disk access, reduce time delay.
In the mainboard framework, a hot spot data can be pre-set in the second internal memory being connected with the FPGA Storehouse, it is used in the hotspot database deposit allocation index corresponding to hot spot data and the hot spot data.
When realizing, the hotspot database can be one default for recording hot spot data and allocation index Cache tables, second internal memory can be the cachings of Large Copacity, and the caching of the wherein Large Copacity can be the common interior of Large Copacity Deposit or the flash memory of Large Copacity;It is for instance possible to use hundreds of G sizes pass through flash memory caused by cascade system or general Logical internal memory.
Wherein, when the caching of above-mentioned Large Copacity is the flash memory of Large Copacity, the characteristic based on flash memory itself, it is ensured that fall Hot spot data will not be lost after electricity.When the caching of above-mentioned Large Copacity is the common memory of Large Copacity, process performance can be improved, But, it is necessary to set an independent stand-by power supply for the common memory of the Large Copacity during in order to ensure that hot spot data is not lost.Separately Outside because the caching of above-mentioned Large Copacity has larger capacity, therefore a large amount of hot spot datas can be cached, so as to increase hot spot data Access hit rate.
After FPGA is in the read-write I/O request issued by CPU received, the read-write I/O request to receiving can be passed through Parsed to obtain corresponding read/write address, if the allocation index in the read/write address hit hotspot database parsed When, FPGA can directly be performed locally corresponding read-write operation based on the hot spot data in the hotspot database, from without Will the read-write I/O request be issued to disk array to perform corresponding read-write operation.
In this way, due to completing the parsing of read-write I/O request by FPGA to substitute CPU, therefore can share CPU calculating pressure, so as to greatly improve the access speed of hot spot data, lift the overall read-write of storage server Performance.
In above-mentioned mainboard framework, the read-write operation of data is still responsible for processing by CPU.
The process for carrying out data reading and writing operation to CPU below is described.
In the mainboard framework, FPGA is used to receive the read-write I/O request that the CPU is issued, and to the read-write I/O request Carry out read/write address corresponding to parsing acquisition.After corresponding read/write address is got, FPGA, which may determine that, gets the reading Whether write address hits the allocation index in default hotspot database in the internal memory;When the read/write address life got Described in allocation index in default hotspot database when, FPGA can be existed based on the hot spot data in the hotspot database Locally execute read-write operation corresponding with the read-write I/O request.
Specifically, when user initiates a read operation by main frame to storage server, can be sent to storage server One read I O request, the data that this secondary reading can be included in the I/O request store in the disk array of storage server LBA (Logical Block Address, logical block addresses) address.Storage server is when receiving read I O request, the reading I/O request can enter CPU by business I/O port, and the read I O request is buffered in by CPU first after the read I O request is received In first internal memory.Then CPU reads the buffered read I O request from internal memory again, and the read I O request is handed down into FPGA.
Same reason, can be to storage server when user initiates a write operation by main frame to storage server A write IO request is sent, the LBA addresses that write data can be included in the I/O request.Storage server writes IO in reception When request and the data to be write, the write IO request and the data to be write can enter CPU, CPU by business I/O port After the write IO request and the data to be write is received, first by the write IO request and the data buffer storage to be write In one internal memory, then CPU reads the buffered write IO request from internal memory again, and the read I O request is handed down into FPGA.
In the mainboard framework, FPGA, can be to receiving after receive the read I O request and write IO request that CPU is issued Read I O request and write IO request are parsed, then same according to parsing to obtain corresponding reading address and write address The number pair of address data corresponding with the reading address and write address conduct interviews number statistics;Wherein, the access times of data The number for the number and write-in read can be included.
For example, after FPGA is by parsing the read I O request that receives or writing IO and get an address first, show For data corresponding with the address there occurs once reading or writing, FPGA can be that data record corresponding to the address is once visited Ask;After FPGA is by parsing the read I O request that receives or writing IO and get the address again, show corresponding with the address Data again there occurs once read or write-access, then FPGA the access times counted can be updated, The access times of data corresponding to the address are added one, by that analogy.
In this way, FPGA can conduct interviews secondary during the read-write of data to all data read and write Number statistics.Meanwhile can also be by by the access times counted and default threshold for the access times that statistics is completed, FPGA Value is compared to determine that the data which is read and write are hot spot data.
When realizing, FPGA, can be real-time by the access times counted in the statistic processes for conducting interviews number Compared with default threshold value, when the access times of any data reach default threshold value, then it can determine that the data are Hot spot data, the data are saved in hotspot database, and the address of the data and the data is established in hotspot database Corresponding relation between index.Wherein, the default threshold value, can be according to reality in this application without being particularly limited to Business demand is set
For example, after the read I O request that receives of FPGA parsings gets an address again, now FPGA can should The access times of data corresponding to address add one, and are simultaneously compared the current access times of the data with default threshold value Compared with if now the access times of the data reach threshold value, when FPGA is receiving number read of disk array return According to when, can be saved in using the data as hot spot data in hotspot database, while using the LBA addresses of the data as address Index the corresponding relation established in hotspot database with the data.Same reason, when the IO that writes that FPGA parsings receive please Ask after getting an address again, now FPGA can add the access times of data corresponding to the address one, and simultaneously will The current access times of the data are compared with default threshold value, if now the access times of the data reach threshold value, The data of this secondary write-in can be saved in hotspot database by FPGA directly as hot spot data, while by the data LBA addresses are established and the corresponding relation of the data as allocation index in hotspot database.
Certainly, in actual applications, the hot spot data preserved in hotspot database, can also manually be referred to by keeper It is fixed, in the present embodiment without being particularly limited to;For example, keeper can will be with every a kind of hot spot service phase from disk array The data of pass are manually copied to hotspot database.
For the hot spot data being stored in hotspot database, the data in FPGA is received for hotspot database again Read I O request or write IO request when, corresponding read-write operation can be directly completed from hotspot database, without will read I/O request or write IO request are issued to disk array to carry out corresponding read-write operation.
For example, when realizing, when FPGA receives a read I O request issued by CPU, FPGA first can be to this Read I O request is parsed to obtain corresponding reading address, and then FPGA can be by the reading address parsed and hotspot database Allocation index matched successively, to judge whether the reading address hits the allocation index in hot spot data;If the reading When the allocation index in hot spot data is hit in location, now data corresponding with the reading address are hot spot data, and FPGA can be direct Read operation corresponding with the read I O request is performed locally, reading and the reading address corresponding data from hotspot database, then The data read are returned into CPU, then are sent to initiator's main frame of the read I O request by business I/O port by CPU.Certainly, If the allocation index in the reading address misses hotspot database, then the read I O request is issued to disk array by FPGA, Sought by the disk on disk array, data are read from the disk of disk array.
When FPGA receives a write IO request issued by CPU, FPGA first can solve to the write IO request Analyse to obtain corresponding write address, then FPGA can be by the allocation index in the write address and hotspot database that parse successively Matched, to judge whether the write address hits the allocation index in hot spot data;If the write address hits hot spot data In allocation index when, now data corresponding with the write address are hot spot data, then this write operation for covering write-in behaviour Make, FPGA can directly be performed locally write operation corresponding with the write IO request, will be buffered in the sheet in CPU the first internal memory The data of secondary write-in are saved in hotspot database, and legacy data corresponding with the write address in hot spot data is covered Renewal.Certainly, if allocation index in the miss hotspot database of the write address, then the write IO request is issued to by FPGA Disk array, sought by the disk on disk array, the data that will be write are written in the disk of disk array.
It can be seen that in this way, FPGA is when processing is received by the CPU read I O requests issued and write IO request, such as Allocation index in the address hit hotspot database that fruit parses, then FPGA then need not be by read I O request or write IO request Disk array is issued to carry out corresponding read-write operation, directly can perform corresponding read-write operation local, so as to To reduce the read-write number for being directed to disk in disk array, reduce in disk array due to disk arm is mobile and during caused tracking Between, improve the access speed of hot spot data.
In addition, for the data in hotspot database, FPGA can also be according to default algorithm in hotspot database Data and allocation index are updated in real time, by sluggish write back data in hotspot database to disk array.Wherein, For FPGA when the data in hotspot database are updated in real time, used algorithm is in this embodiment without especially limit It is fixed.
In a kind of algorithm shown in the present embodiment, FPGA can set a default duration, when in hotspot database Hot spot data be not accessed for a long time, and the duration for continuing not to be accessed reaches the default duration of setting, So now FPGA then can be by the write back data preserved in hotspot database to disk array, and deletes in hotspot database Allocation index corresponding to the hot spot data preserved.For example, for the allocation index preserved in hotspot database, FPGA can divide The time point that the allocation index last time is matched is not recorded, when any allocation index preserved in hotspot database was apart from last time When the duration at the time point being matched reaches the default duration, show not living enough in this period of the hot spot data Jump, FPGA can be by the write back data to disk array, and deletes the allocation index of the data in hotspot database.It can be seen that In this way, it is ensured that the data in hotspot database are active hot spot data in certain period of time.
By above description, the application proposes a kind of mainboard framework of new storage server, in the mainboard framework Data read-write module, internal memory including CPU, based on FPGA;The data read-write module based on FPGA and the CPU and institute The disk array for stating storage server is respectively connected with;The internal memory is connected with the data read-write module based on FPGA. For CPU when carrying out reading and writing data, the data read-write module based on FPGA receives the read-write I/O request that CPU is issued, to the read-write I/O request carries out read/write address corresponding to parsing acquisition, and judges to get whether the read/write address is hit in the internal memory in advance If hotspot database in allocation index;When the read/write address got is hit in the default hotspot database It is described to be performed locally based on FPGA data read-write module based on the hot spot data in the hotspot database during allocation index Read-write operation corresponding with the read-write I/O request.
Due in the mainboard framework, when reading and writing data hit hotspot database corresponding to the read-write I/O request that CPU is initiated In hot spot data when, by by based on FPGA data read-write module according to based on the data in the hotspot database at it Read-write operation corresponding with the read-write I/O request is completed on ground, without the read-write I/O request is issued into disk array to hold Read-write operation corresponding to row, therefore the read-write operation number of monolithic disk in disk array can be effectively reduced, save disk Tracking duration, so as to realize the acceleration of disk access, greatly improve the access speed of hot spot data, improve and deposit Store up the overall readwrite performance of server.
Corresponding with said apparatus embodiment, present invention also provides the embodiment of method.
Fig. 3 is referred to, the application proposes a kind of reading/writing method of data, applied to storage server, the storage service The mainboard of device has framework as illustrated in FIG. 2, including CPU, the data read-write module based on FPGA, internal memory;Wherein, the base It is respectively connected with FPGA data read-write module and the CPU and the storage server disk array;The internal memory It is connected with the data read-write module based on FPGA.
When the data read-write module based on FPGA is loaded with the read-write logic of setting, methods described performs following walk Suddenly:
Step 301, the data read-write module based on FPGA receives the read-write I/O request that the CPU is issued, and to the reading Write IO request carries out read/write address corresponding to parsing acquisition;
Step 302, the data read-write module based on FPGA judges to get whether the read/write address hits the internal memory In allocation index in default hotspot database;
Step 303, when the read/write address got hits the allocation index in the default hotspot database, It is described to be performed locally and the read-write based on the hot spot data in the hotspot database based on FPGA data read-write module Read-write operation corresponding to I/O request.
In the present embodiment, the step 303 specifically includes:
When the address read in default hotspot database described in address hit that the read I O request that parsing CPU is issued is got During index, hot spot data corresponding with the allocation index is read in default hotspot database from the internal memory, and will read To hot spot data return to CPU, so that the hot spot data to be sent to the initiation end main frame of the read I O request by CPU;
The address in the default hotspot database is hit when the write address that the write IO request that parsing CPU is issued is got During index, write-in data corresponding with the write IO request are stored in the hotspot database, in the hotspot database with should Hot spot data is updated corresponding to allocation index.
In the present embodiment, the step 302 specifically includes:
Judging to get whether the read/write address hits address rope in the internal memory in default hotspot database Before drawing, for data corresponding with the read/write address conduct interviews number statistics;
Whether the access times for judging to count reach threshold value;
When the access times of any data counted reach threshold value, it is stored in using the data as hot spot data described In default hotspot database, and create in the hotspot database the corresponding pass between the data and the allocation index of the data System.
In the present embodiment, the step 302 further comprises:
When the duration that any hot spot data is not read in the default hotspot database reaches preset duration, The hot spot data is written back to the disk array from the internal memory, and deletes what is preserved in the default hotspot database Allocation index corresponding with the hot spot data.
In the present embodiment, high-capacity flash memory is saved as in described.
Those skilled in the art will readily occur to the application its after considering specification and putting into practice invention disclosed herein Its embodiment.The application is intended to any modification, purposes or the adaptations of the application, these modifications, purposes or Person's adaptations follow the general principle of the application and including the undocumented common knowledges in the art of the application Or conventional techniques.Description and embodiments are considered only as exemplary, and the true scope of the application and spirit are by following Claim is pointed out.
It should be appreciated that the precision architecture that the application is not limited to be described above and is shown in the drawings, and And various modifications and changes can be being carried out without departing from the scope.Scope of the present application is only limited by appended claim.
The preferred embodiment of the application is the foregoing is only, not limiting the application, all essences in the application God any modification, equivalent substitution and improvements done etc., should be included within the scope of the application protection with principle.

Claims (10)

1. a kind of data read-write method, applied to storage server, it is characterised in that the mainboard of the storage server includes CPU, the data read-write module based on FPGA, internal memory;It is described based on FPGA data read-write module and the CPU and described to deposit The disk array of storage server is respectively connected with;The internal memory is connected with the data read-write module based on FPGA;It is described Method includes:
Step A, the described data read-write module based on FPGA receives the read-write I/O request that the CPU is issued, and to the read-write I/O request carries out read/write address corresponding to parsing acquisition;
Step B, the described data read-write module based on FPGA judges to get whether the read/write address is hit in the internal memory Allocation index in default hotspot database;Wherein, the allocation index is the data in either objective disk storage address When accessed number reaches threshold value, the target that the data read-write module based on FPGA is added in hotspot database Disk storage address;
Step C, when the read/write address got hits the allocation index in the default hotspot database, the base It is performed locally and the read-write I/O request based on the hot spot data in the hotspot database in FPGA data read-write module Corresponding read-write operation.
2. according to the method for claim 1, it is characterised in that the step C is specifically included:
When the allocation index read in default hotspot database described in address hit that the read I O request that parsing CPU is issued is got When, read corresponding with allocation index hot spot data in default hotspot database from the internal memory, and will read Hot spot data returns to CPU, so that the hot spot data to be sent to the initiation end main frame of the read I O request by CPU;
The allocation index in the default hotspot database is hit when the write address that the write IO request that parsing CPU is issued is got When, write-in data corresponding with the write IO request are stored in the hotspot database, in the hotspot database with the address Hot spot data is updated corresponding to index.
3. according to the method for claim 1, it is characterised in that the step B is specifically included:
Judge to get the read/write address whether hit allocation index in the internal memory in default hotspot database it Before, for data corresponding with the read/write address conduct interviews number statistics;
Whether the access times for judging to count reach threshold value;
When the access times of any data counted reach threshold value, it is stored in using the data as hot spot data described default Hotspot database in, and create in the hotspot database corresponding relation between the data and the allocation index of the data.
4. according to the method for claim 3, it is characterised in that the step B further comprises:
When the duration that any hot spot data is not read in the default hotspot database reaches preset duration, by this Hot spot data is written back to the disk array from the internal memory, and delete preserved in the default hotspot database with this Allocation index corresponding to hot spot data.
5. according to any described method of Claims 1 to 4, it is characterised in that the internal memory includes high-capacity flash memory.
6. a kind of mainboard, applied to storage server, it is characterised in that the mainboard includes CPU, the reading and writing data based on FPGA Module, internal memory;Wherein, the data read-write module based on FPGA and the CPU and the disk battle array of the storage server Row are respectively connected with;The internal memory is connected with the data read-write module based on FPGA;Wherein:
The data read-write module based on FPGA, the read-write I/O request issued for receiving the CPU, and to the read-write IO Request carries out read/write address corresponding to parsing acquisition;
The data read-write module based on FPGA determines whether to get whether the read/write address is hit in the internal memory Allocation index in default hotspot database;Wherein, the allocation index is the data in either objective disk storage address When accessed number reaches threshold value, the target that the data read-write module based on FPGA is added in hotspot database Disk storage address;
It is described to be based on FPGA when the read/write address got hits the allocation index in the default hotspot database Data read-write module be further used for being performed locally and the read-write IO based on the hot spot data in the hotspot database Read-write operation corresponding to request.
7. mainboard according to claim 6, it is characterised in that the data read-write module based on FPGA is further used In:
When the allocation index read in default hotspot database described in address hit that the read I O request that parsing CPU is issued is got When, read corresponding with allocation index hot spot data in default hotspot database from the internal memory, and will read Hot spot data returns to CPU, so that the hot spot data to be sent to the initiation end main frame of the read I O request by CPU;
The allocation index in the default hotspot database is hit when the write address that the write IO request that parsing CPU is issued is got When, write-in data corresponding with the write IO request are stored in the hotspot database, in the hotspot database with the address Hot spot data is updated corresponding to index.
8. mainboard according to claim 6, it is characterised in that the data read-write module based on FPGA is further used In:
Judge to get the read/write address whether hit allocation index in the internal memory in default hotspot database it Before, for data corresponding with the read/write address conduct interviews number statistics;
Whether the access times for judging to count reach threshold value;
When the access times of any data counted reach threshold value, it is stored in using the data as hot spot data described default Hotspot database in, and create in the hotspot database corresponding relation between the data and the allocation index of the data.
9. mainboard according to claim 8, it is characterised in that the data read-write module based on FPGA is further used In:
When the duration that any hot spot data is not read in the default hotspot database reaches preset duration, by this Hot spot data is written back to the disk array from the internal memory, and delete preserved in the default hotspot database with this Allocation index corresponding to hot spot data.
10. according to any described mainboard of claim 6~9, it is characterised in that the internal memory includes high-capacity flash memory.
CN201510542803.4A 2015-08-28 2015-08-28 A kind of data read-write method and mainboard Active CN105183374B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510542803.4A CN105183374B (en) 2015-08-28 2015-08-28 A kind of data read-write method and mainboard

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510542803.4A CN105183374B (en) 2015-08-28 2015-08-28 A kind of data read-write method and mainboard

Publications (2)

Publication Number Publication Date
CN105183374A CN105183374A (en) 2015-12-23
CN105183374B true CN105183374B (en) 2018-04-06

Family

ID=54905483

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510542803.4A Active CN105183374B (en) 2015-08-28 2015-08-28 A kind of data read-write method and mainboard

Country Status (1)

Country Link
CN (1) CN105183374B (en)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107451070B (en) * 2016-06-01 2020-08-04 腾讯科技(深圳)有限公司 Data processing method and server
CN106649654A (en) * 2016-12-12 2017-05-10 京信通信技术(广州)有限公司 Data updating method and device
CN106990916B (en) * 2017-03-01 2020-04-07 北京腾凌科技有限公司 Method and device for processing read-write request
CN107579936A (en) * 2017-09-11 2018-01-12 北京腾凌科技有限公司 Message transmitting method, controller and storage system
CN108595269B (en) * 2018-04-26 2020-10-09 北京腾凌科技有限公司 Data processing method, instruction generation device and data read-write device
CN113986133A (en) * 2021-10-27 2022-01-28 北京达佳互联信息技术有限公司 Data processing method and device, data storage system and electronic equipment
CN115098045B (en) * 2022-08-23 2022-11-25 成都止观互娱科技有限公司 Data storage system and network data reading and writing method

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101510219A (en) * 2009-03-31 2009-08-19 成都市华为赛门铁克科技有限公司 File data accessing method, apparatus and system
CN101839974A (en) * 2010-05-05 2010-09-22 北京航空航天大学 Dual-interface radar data recorder
CN102870100A (en) * 2012-06-30 2013-01-09 华为技术有限公司 Data buffer device, data storage system and method

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7415565B2 (en) * 2002-10-31 2008-08-19 Ring Technology Enterprises, Llc Methods and systems for a storage system with a program-controlled switch for routing data
TW200805394A (en) * 2006-07-07 2008-01-16 Alcor Micro Corp Memory storage device and the read/write method thereof

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101510219A (en) * 2009-03-31 2009-08-19 成都市华为赛门铁克科技有限公司 File data accessing method, apparatus and system
CN101839974A (en) * 2010-05-05 2010-09-22 北京航空航天大学 Dual-interface radar data recorder
CN102870100A (en) * 2012-06-30 2013-01-09 华为技术有限公司 Data buffer device, data storage system and method

Also Published As

Publication number Publication date
CN105183374A (en) 2015-12-23

Similar Documents

Publication Publication Date Title
CN105183374B (en) A kind of data read-write method and mainboard
CN105138469B (en) A kind of data read-write method and mainboard
US8914557B2 (en) Optimizing write and wear performance for a memory
US10860494B2 (en) Flushing pages from solid-state storage device
US20170123712A1 (en) Data Deduplication Method and Apparatus
US6301640B2 (en) System and method for modeling and optimizing I/O throughput of multiple disks on a bus
WO2017063495A1 (en) Data migration method and apparatus
US9710283B2 (en) System and method for pre-storing small data files into a page-cache and performing reading and writing to the page cache during booting
WO2017148242A1 (en) Method for accessing shingled magnetic recording (smr) hard disk, and server
US20160011966A1 (en) Solid state memory command queue in hybrid device
US20220317894A1 (en) Supporting A Stateless Controller In A Storage System
CN104267912A (en) NAS (Network Attached Storage) accelerating method and system
WO2015085747A1 (en) Data access storage method and apparatus
CN107203480B (en) Data prefetching method and device
US20240104014A1 (en) Data management method, and storage space management method and apparatus
US10628048B2 (en) Storage control device for controlling write access from host device to memory device
CN115543187A (en) Data processing method and equipment
CN105573668B (en) A kind of date storage method and device
CN106802774A (en) Write request treating method and apparatus, read request treating method and apparatus
CN114860625A (en) Data access method, device, equipment and readable storage medium
CN103473184B (en) The caching method of file system and system
CN105353978B (en) A kind of data of PCIE SSD arrays read method, system and reading/writing method
US10049053B1 (en) Classifying performance of an external storage resource pool associated with a performance tier in a federated tiered storage system for overload avoidance and auto-tiering
CN104461394A (en) RAID (redundant array of independent disk) and method for reading data from same
CN114023367B (en) Hard disk pressure test method, system, terminal and storage medium

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant