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 PDF

Info

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
Application number
CN201510710985.1A
Other languages
Chinese (zh)
Other versions
CN105353982A (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.)
Inspur Beijing Electronic Information Industry Co Ltd
Original Assignee
Inspur Beijing Electronic Information Industry 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 Inspur Beijing Electronic Information Industry Co Ltd filed Critical Inspur Beijing Electronic Information Industry Co Ltd
Priority to CN201510710985.1A priority Critical patent/CN105353982B/en
Publication of CN105353982A publication Critical patent/CN105353982A/en
Application granted granted Critical
Publication of CN105353982B publication Critical patent/CN105353982B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/064Management 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

A kind of data access processing method and device based on circulation array
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.
CN201510710985.1A 2015-10-28 2015-10-28 A kind of data access processing method and device based on circulation array Active CN105353982B (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (3)

* Cited by examiner, † Cited by third party
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