CN105353982B - A kind of data access processing method and device based on circulation array - Google Patents
A kind of data access processing method and device based on circulation array Download PDFInfo
- Publication number
- CN105353982B CN105353982B CN201510710985.1A CN201510710985A CN105353982B CN 105353982 B CN105353982 B CN 105353982B CN 201510710985 A CN201510710985 A CN 201510710985A CN 105353982 B CN105353982 B CN 105353982B
- Authority
- CN
- China
- Prior art keywords
- read
- target area
- write
- backstage
- block device
- 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
- 238000003672 processing method Methods 0.000 title claims abstract description 9
- 238000013507 mapping Methods 0.000 claims abstract description 37
- 238000000034 method Methods 0.000 claims abstract description 9
- 239000007787 solid Substances 0.000 claims description 3
- 230000015556 catabolic process Effects 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
The present invention provides a kind of data access processing method and device based on circulation array, and the above method is the following steps are included: setting recycles array and establishes the mapping relations between the circulation array and block device region;When carrying out backstage read-write to the target area in the block device, the IO read-write requests of target area described in subsequent access are saved to the chained list of the corresponding recurring number group membership in the target area and after completing backstage read-write to the target area, execute the IO read-write requests in the chained list, block device is divided into multiple regions by way of circulation array mapping, IO interception is carried out for the region of consistency operation, it can avoid the case where a large amount of IO conflict, to reduce the influence to block device IO performance, user experience is greatly promoted.
Description
Technical field
The present invention relates to data access control field more particularly to a kind of data access processing methods based on circulation array
And device.
Background technique
In storage system sometimes on backstage to block device (including memory, solid state hard disk, disk and caches
Device) some read-write operations are carried out, but direct read/write data can damage the data of other IO read-write requests, lead to data
It is inconsistent, need the read-write by first shielding entire block device in this case to complete the operation on backstage, but when backstage is read and write
When operation needs long-play, shielding entire block device will lead to equipment IO performance degradation, greatly reduce user's body
It tests.
Summary of the invention
The present invention provides a kind of data access processing method and device based on circulation array, to solve the above problems.
The present invention provides a kind of data access processing method based on circulation array.The above method the following steps are included:
Circulation array is set and establishes the mapping relations between the circulation array and block device region;
When carrying out backstage read-write to the target area in the block device, the IO of target area described in subsequent access is read and write
Request is saved to the chained list of the corresponding recurring number group membership in the target area and after completing backstage read-write to the target area,
Execute the IO read-write requests in the chained list.
The present invention also provides it is a kind of based on circulation array data access processing unit, including mapping relations establish module,
Backstage module for reading and writing;Wherein, the mapping relations establish module and are connected with the backstage module for reading and writing;
The mapping relations establish module, for circulation array is set and establish the circulation array and block device region it
Between mapping relations and the mapping relations are sent to the backstage module for reading and writing;
The backstage module for reading and writing, when being read and write for carrying out backstage to the target area in the block device, by subsequent visit
Ask that the IO read-write requests of the target area are saved to the chained list of the corresponding recurring number group membership in the target area and to described
After backstage read-write is completed in target area, the IO read-write requests in the chained list are executed.
Pass through following scheme: setting circulation array simultaneously establishes the mapping pass between the circulation array and block device region
System;When carrying out backstage read-write to the target area in the block device, by the IO read-write requests of target area described in subsequent access
It saves to the chained list of the corresponding recurring number group membership in the target area and after completing backstage read-write to the target area, executes
Block device is divided into multiple regions by way of circulation array mapping, for backstage by the IO read-write requests in the chained list
The region of operation carries out IO interception, can avoid the case where a large amount of IO conflict, so that the influence to block device IO performance is reduced,
Greatly promote user experience.
Pass through following scheme: before the target area progress backstage read-write in the block device, further includes: described in calling
The corresponding recurring number group membership in target area counts the IO read-write requests in the target area, when being counted as 0, then
Backstage read-write is carried out to the target area in the block device, read/write conflict is avoided the occurrence of, reduces conflict probability of happening, significantly
Promote user experience.
Detailed description of the invention
The drawings described herein are used to provide a further understanding of the present invention, constitutes part of this application, this hair
Bright illustrative embodiments and their description are used to explain the present invention, and are not constituted improper limitations of the present invention.In the accompanying drawings:
Fig. 1 show the data access processing method flow chart based on circulation array of the embodiment of the present invention 1;
Fig. 2 show the data access processing unit structure chart based on circulation array of the embodiment of the present invention 2;
The data access based on circulation array that Fig. 3 show the embodiment of the present invention 3 handles another structure drawing of device.
Specific embodiment
Hereinafter, the present invention will be described in detail with reference to the accompanying drawings and in combination with Examples.It should be noted that not conflicting
In the case of, the features in the embodiments and the embodiments of the present application can be combined with each other.
Fig. 1 show the data access processing method flow chart based on circulation array of the embodiment of the present invention 1, including following
Step:
Step 101: setting circulation array simultaneously establishes the mapping relations between the circulation array and block device region;
Further, the block device includes memory, solid state hard disk, disk, cache memory.
Further, setting recycles array and establishes the mistake of the mapping relations between the circulation array and block device region
Journey are as follows:
Setting circulation array, it is preceding n-1 member point that the preceding n-1 member recycled in array, which is mapped respectively in block device,
The default size area that do not distribute will recycle the remaining area in the mapping block device of n-th of member in array.
Wherein, default size area can flexibly be set according to the actual situation, such as 1MB.
Such as: recurring number group membership has n, it is assumed that n=10, disk size 1000MB, the preceding each member of n-1 member
The disk areas size of mapping is 1MB, then the region of the last one member mapping is 1000MB-9*1MB=910MB.
It recycles next time, preceding n-1 member remains each member and map 1MB, but the region of the last one member mapping
Become 910MB-9*1MB=820MB, and so on.
Step 102: when carrying out backstage read-write to the target area in the block device, by target area described in subsequent access
IO read-write requests save to the chained list of the corresponding recurring number group membership in the target area and to the target area after the completion of
After platform read-write, the IO read-write requests in the chained list are executed.
Further, before to the target area progress backstage read-write in the block device, further includes:
The corresponding recurring number group membership in the target area is called to count the IO read-write requests in the target area
Number then carries out backstage read-write to the target area in the block device when being counted as 0.
Further, when carrying out backstage read-write to the target area in the block device, the target area will be accessed
IO read-write requests save to the chained list of the corresponding recurring number group membership in the target area and complete backstage to the target area
After read-write, execute the IO read-write requests in the chained list and rejudge the IO read-write requests range whether with next mesh
The backstage read-write in mark region has conflict, and according to judgement as a result, carrying out respective handling.
Further, if the range of the IO read-write requests is included in the next target area for carrying out backstage read-write,
Then the IO read-write requests are intercepted and are saved to the corresponding circulation array in next target area for carrying out backstage read-write
The chained list of member.
Further, if the range of the IO read-write requests is not included in the next target area for carrying out backstage read-write
It is interior, then it executes the IO read-write requests and carries out IO read-write requests counting.
Fig. 2 show the data access processing unit structure chart based on circulation array of the embodiment of the present invention 2, including mapping
Relationship establishes module 201, backstage module for reading and writing 202;Wherein, the mapping relations establish module 201 and mould is read and write on the backstage
Block 202 is connected;
The mapping relations establish module 201, for circulation array to be arranged and establishes the circulation array and block device area
The mapping relations are simultaneously sent to the backstage module for reading and writing 202 by mapping relations between domain;
The backstage module for reading and writing 202 will be subsequent when reading and writing for carrying out backstage to the target area in the block device
The IO read-write requests for accessing the target area are saved to the chained list of the corresponding recurring number group membership in the target area and to institute
It states target area to complete after reading and writing from the background, executes the IO read-write requests in the chained list.
The data access based on circulation array that Fig. 3 show the embodiment of the present invention 3 handles another structure drawing of device, is scheming
On the basis of 2, " counting module 200 " is increased;Wherein, the counting module 200 is connected with the backstage module for reading and writing 202;
The counting module 200, for calling the corresponding recurring number group membership in the target area to the target area
Interior IO read-write requests are counted, and when being counted as 0, send notification information to the backstage module for reading and writing 202;
The backstage module for reading and writing 202 after being also used to receive the notification information, carries out the target area in block device
Backstage is read and write.
Pass through following scheme: setting circulation array simultaneously establishes the mapping pass between the circulation array and block device region
System;When carrying out backstage read-write to the target area in the block device, by the IO read-write requests of target area described in subsequent access
It saves to the chained list of the corresponding recurring number group membership in the target area and after completing backstage read-write to the target area, executes
Block device is divided into multiple regions by way of circulation array mapping, for backstage by the IO read-write requests in the chained list
The region of operation carries out IO interception, can avoid the case where a large amount of IO conflict, so that the influence to block device IO performance is reduced,
Greatly promote user experience.
Pass through following scheme: before the target area progress backstage read-write in the block device, further includes: described in calling
The corresponding recurring number group membership in target area counts the IO read-write requests in the target area, when being counted as 0, then
Backstage read-write is carried out to the target area in the block device, read/write conflict is avoided the occurrence of, reduces conflict probability of happening, significantly
Promote user experience.
The foregoing is only a preferred embodiment of the present invention, is not intended to restrict the invention, for the skill of this field
For art personnel, the invention may be variously modified and varied.All within the spirits and principles of the present invention, made any to repair
Change, equivalent replacement, improvement etc., should all be included in the protection scope of the present invention.
Claims (7)
1. a kind of data access processing method based on circulation array, which comprises the following steps:
Circulation array is set and establishes the mapping relations between the circulation array and block device region;It calls in the block device
The corresponding recurring number group membership in target area the IO read-write requests in the target area are counted, when being counted as 0,
Backstage read-write then is carried out to the target area in the block device;
When carrying out backstage read-write to the target area in the block device, by the IO read-write requests of target area described in subsequent access
It saves to the chained list of the corresponding recurring number group membership in the target area and after completing backstage read-write to the target area, executes
IO read-write requests in the chained list and rejudge the IO read-write requests range whether with behind next target area
Platform read-write has conflict, and according to judgement as a result, carrying out respective handling;
Wherein, the setting recycles array and establishes the process of the mapping relations between the circulation array and block device region
Are as follows:
Setting circulation array, it is that preceding n-1 member divides respectively that the preceding n-1 member recycled in array, which is mapped respectively in block device,
The default size area matched will recycle the remaining area in the mapping block device of n-th of member in array.
2. the method according to claim 1, wherein the block device includes memory, solid state hard disk, disk, height
Fast buffer storage.
3. the method according to claim 1, wherein recurring number group membership has n, it is assumed that n=10, disk size
Disk areas size for 1000MB, the preceding each member's mapping of n-1 member is 1MB, then the region of n-th of member mapping is
1000MB-9*1MB=910MB;
It recycles next time, preceding n-1 member remains each member and map 1MB, and the region of the last one member mapping then becomes
910MB-9*1MB=820MB, and so on.
4. the method according to claim 1, wherein if the range of the IO read-write requests, which is included in, carries out backstage
Read-write next target area in, then the IO read-write requests are intercepted and save to carry out backstage read-write it is next
The chained list of the corresponding recurring number group membership in target area.
5. the method according to claim 1, wherein if after the range of the IO read-write requests is not included in progress
In next target area of platform read-write, then executes the IO read-write requests and carry out IO read-write requests counting.
6. a kind of data access processing unit based on circulation array, which is characterized in that establish module, backstage including mapping relations
Module for reading and writing, counting module;Wherein, the mapping relations establish module and are connected with the backstage module for reading and writing;The count module
Block is connected with the backstage module for reading and writing;
The mapping relations establish module, for circulation array to be arranged and establishes between the circulation array and block device region
The mapping relations are simultaneously sent to the backstage module for reading and writing by mapping relations;
The counting module asks the IO read-write in the target area for the corresponding recurring number group membership in invocation target region
It asks and is counted, when being counted as 0, then notification information is sent to the backstage module for reading and writing, to the target in the block device
Region carries out backstage read-write;
The backstage module for reading and writing, when being read and write for carrying out backstage to the target area in the block device, by subsequent access institute
The IO read-write requests for stating target area are saved to the chained list of the corresponding recurring number group membership in the target area and to the target
Region is completed after backstage reads and writes, and executing the IO read-write requests in the chained list and rejudging the ranges of the IO read-write requests is
The no backstage read-write with next target area, which has, to conflict, and according to judgement as a result, carrying out respective handling;
Wherein, the mapping relations are established module setting circulation array and are established between the circulation array and block device region
The process of mapping relations are as follows:
Setting circulation array, it is that preceding n-1 member divides respectively that the preceding n-1 member recycled in array, which is mapped respectively in block device,
The default size area matched will recycle the remaining area in the mapping block device of n-th of member in array.
7. device according to claim 6, which is characterized in that
The backstage module for reading and writing after being also used to receive the notification information, carries out backstage reading to the target area in block device
It writes.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510710985.1A CN105353982B (en) | 2015-10-28 | 2015-10-28 | A kind of data access processing method and device based on circulation array |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510710985.1A CN105353982B (en) | 2015-10-28 | 2015-10-28 | A kind of data access processing method and device based on circulation array |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105353982A CN105353982A (en) | 2016-02-24 |
CN105353982B true CN105353982B (en) | 2018-12-11 |
Family
ID=55329960
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510710985.1A Active CN105353982B (en) | 2015-10-28 | 2015-10-28 | A kind of data access processing method and device based on circulation array |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105353982B (en) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107765990A (en) * | 2016-08-17 | 2018-03-06 | 中兴通讯股份有限公司 | A kind of system disk management method and device |
CN113467716B (en) * | 2021-06-11 | 2023-05-23 | 苏州浪潮智能科技有限公司 | Method, device, equipment and readable medium for data storage |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6728840B1 (en) * | 2000-10-20 | 2004-04-27 | Emc Corporation | Methods and apparatus for providing host controlled caching of data in a storage system |
CN101393537A (en) * | 2008-09-18 | 2009-03-25 | 北京中星微电子有限公司 | NandFlash amortization management method |
CN101425041A (en) * | 2007-10-30 | 2009-05-06 | 安凯(广州)软件技术有限公司 | Optimizing method for establishing FAT file systems on NAND FLASH memory |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9135168B2 (en) * | 2010-07-07 | 2015-09-15 | Marvell World Trade Ltd. | Apparatus and method for generating descriptors to reaccess a non-volatile semiconductor memory of a storage drive due to an error |
-
2015
- 2015-10-28 CN CN201510710985.1A patent/CN105353982B/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6728840B1 (en) * | 2000-10-20 | 2004-04-27 | Emc Corporation | Methods and apparatus for providing host controlled caching of data in a storage system |
CN101425041A (en) * | 2007-10-30 | 2009-05-06 | 安凯(广州)软件技术有限公司 | Optimizing method for establishing FAT file systems on NAND FLASH memory |
CN101393537A (en) * | 2008-09-18 | 2009-03-25 | 北京中星微电子有限公司 | NandFlash amortization management method |
Also Published As
Publication number | Publication date |
---|---|
CN105353982A (en) | 2016-02-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110135985B (en) | Parallel execution method and system for transactions on block chain | |
US9170755B2 (en) | Command and data selection in storage controller systems | |
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 | |
US10055150B1 (en) | Writing volatile scattered memory metadata to flash device | |
US10628066B2 (en) | Ensuring in-storage data atomicity and consistency at low cost | |
CN103995879A (en) | Data query method, device and system based on OLAP system | |
CN110377233B (en) | SSD (solid State disk) reading performance optimization method and device, computer equipment and storage medium | |
CN107066498A (en) | Key assignments KV storage methods and device | |
US20190332540A1 (en) | Storage management method, electronic device and computer readable medium | |
CN104239096A (en) | Method and unit for realizing security data partitions in Android system | |
CN105183378A (en) | Adaptive cache mixed reading/writing method | |
CN106326398A (en) | Data consistency comparison method and device | |
CN112181902A (en) | Database storage method and device and electronic equipment | |
CN105353982B (en) | A kind of data access processing method and device based on circulation array | |
CN109213423B (en) | Address barrier-based lock-free processing of concurrent IO commands | |
CN114385089B (en) | Cross addressing-based dynamic bank storage method and device and electronic equipment | |
CN104461730A (en) | Virtual resource allocation method and device | |
CN112925606A (en) | Memory management method, device and equipment | |
CN114416612A (en) | Memory access method and device, electronic equipment and storage medium | |
US20130326120A1 (en) | Data storage device and operating method for flash memory | |
CN106202374A (en) | A kind of data processing method and device | |
CN105988724A (en) | Method for writing multiple copies into storage device, and storage device | |
CN113253939B (en) | Data processing method, device, electronic equipment and storage medium | |
CN104750547A (en) | Input-output (IO) request processing method and device of virtual machines | |
CN110162483B (en) | Static memory defragmentation method, device, computer equipment 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 |