CN105183374B - A kind of data read-write method and mainboard - Google Patents
A kind of data read-write method and mainboard Download PDFInfo
- 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
Links
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
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
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.
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)
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 |
CN113986133B (en) * | 2021-10-27 | 2024-06-21 | 北京达佳互联信息技术有限公司 | 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)
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)
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 |
-
2015
- 2015-08-28 CN CN201510542803.4A patent/CN105183374B/en active Active
Patent Citations (3)
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 | |
WO2017148242A1 (en) | Method for accessing shingled magnetic recording (smr) hard disk, and server | |
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 | |
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 | |
CN113342279B (en) | Disk array access method, device, equipment and storage medium | |
CN107203480B (en) | Data prefetching method and device | |
US20240104014A1 (en) | Data management method, and storage space management method and apparatus | |
US20180181318A1 (en) | Storage control device | |
CN115543187A (en) | Data processing method and equipment | |
CN116820342A (en) | Data processing method and device of disk array and disk array | |
CN105573668B (en) | A kind of date storage method and device | |
CN114860625A (en) | Data access method, device, equipment and readable storage medium | |
CN106802774A (en) | Write request treating method and apparatus, read request treating method and apparatus | |
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 |
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 |