CN110515859A - A kind of solid state disk read-write request method for parallel processing - Google Patents

A kind of solid state disk read-write request method for parallel processing Download PDF

Info

Publication number
CN110515859A
CN110515859A CN201910614795.8A CN201910614795A CN110515859A CN 110515859 A CN110515859 A CN 110515859A CN 201910614795 A CN201910614795 A CN 201910614795A CN 110515859 A CN110515859 A CN 110515859A
Authority
CN
China
Prior art keywords
queue
channel
write
request
page
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201910614795.8A
Other languages
Chinese (zh)
Other versions
CN110515859B (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.)
Shenzhen Wanzhida Technology Co ltd
Original Assignee
Hangzhou Dianzi University
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 Hangzhou Dianzi University filed Critical Hangzhou Dianzi University
Priority to CN201910614795.8A priority Critical patent/CN110515859B/en
Publication of CN110515859A publication Critical patent/CN110515859A/en
Application granted granted Critical
Publication of CN110515859B publication Critical patent/CN110515859B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0253Garbage collection, i.e. reclamation of unreferenced memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0877Cache access modes
    • G06F12/0882Page mode
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0893Caches characterised by their organisation or structure
    • G06F12/0895Caches characterised by their organisation or structure of parts of caches, e.g. directory or tag array

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

The invention discloses a kind of solid state disk read-writes to request method for parallel processing.The present invention is made of address mapping module, channel distribution module, channel queue's module, Queue module to be processed, data buffer zone and six part of garbage reclamation module.In preprocessing process, for read-write requests, corresponding read/write channel is calculated, is subsequently sent to the corresponding read-write queue in channel;In flash memory access process, according to request order of arrival Parallel Scheduling from the read-write queue in each channel;For garbage reclamation, using active by the way of passively combining, to reduce influence of the garbage reclamation to solid state disk read-write performance.The present invention is using the channel level parallel organization inside solid state hard disk, as unit of page, is maximized parallel by rational management with realizing data write-in and reading, so that high degree reduces the average response time of request, lifting system overall performance.

Description

A kind of solid state disk read-write request method for parallel processing
Technical field
The invention belongs to solid state hard disk firmware optimization design field, and in particular to a kind of solid state disk read-write request is parallel Processing method.
Background technique
With the fast development of the generation information technologies such as cloud computing, mobile Internet, exponential increase is presented in data volume Trend, therefore more stringent requirements are proposed for storage speed to data and bandwidth.Based on the solid state hard disk of nand flash memory due to it Many advantages, such as high-performance, low-power consumption, noiseless referred to as current mainstream one of storage equipment.
1) nand flash memory that solid state hard disk uses has the following characteristics that with page (page), block (block), plane (plane), wafer (die) is nested from small to large forms.2) basic operation is divided into: reading and writing, erasing, read and write as unit of page, Erasing is in blocks.3) reading and writing, the response time of three kinds of operations of erasing are different, and reading is most fast, writes and takes second place, and wipe most slow.4) it writes It must be wiped before entering data, not support original place to update.5) erasing times are limited, and more than certain erasing times, NAND dodges The overall performance deposited will decline to a great extent, and service life is limited.
Due to the unique operating feature of flash chip, solid state hard disk needs to increase flash translation layer (FTL) (Flash in firmware Translation Layer, FTL) manage large number of flash chip.Solid state hard disk is modeled to only have by flash translation layer (FTL) There is the conventional hard of read-write operation, the read-write requests of topmost paper system are converted to the operational order of flash memory.Specifically, it dodges It deposits conversion layer and needs to complete mapping between logical address and physical address, the abrasion equilibrium of each flash chip is controlled, to nothing The data of effect carry out garbage reclamation.
Possess internal parallel mechanism abundant inside solid state hard disk.General solid state hard disk is made of multiple autonomous channels, Each autonomous channel connects multiple independent flash chips;Each chip includes multiple wafers;Each wafer includes multiple planes; Each plane includes multiple pieces, and each piece includes multiple pages.Therefore include inside solid state hard disk channel level is parallel, chip-scale simultaneously Row, wafer scale is parallel and plane level is parallel.During flash translation layer (FTL) handles request, flash memory internal parallel machine is utilized System, allows read-write requests to concurrently access flash memory, request response time will be greatly reduced.
Summary of the invention
In view of the deficiencies of the prior art mentioned above, the present invention announces a kind of solid state disk read-write request parallel processing side Method.The present invention is using the channel level parallel organization inside solid state hard disk, as unit of page, by rational management to realize that data are write Enter and read maximization parallel, so that high degree reduces the average response time of request, lifting system overall performance.
To achieve the purpose of the present invention, the invention adopts the following technical scheme:
A kind of solid state disk read-write request method for parallel processing, it is by address mapping module, channel distribution module, channel team Column module, Queue module to be processed, data buffer zone and six part of garbage reclamation module composition.Address mapping module is responsible for realization The mapping of the logical address of request to physical address is made of using page grade mapping mode address mapping table and page distribution module; Channel distribution module is responsible for the channel of each page of actual needs access in computation requests;Channel queue's module by each channel team Column composition, the queue in each channel are divided into read request queue and write request queue, and read and write access request is inserted into as unit of page The read-write queue in channel;Queue to be processed saves the request that channel is assigned but practical flash reading and writing is not fully completed, by first The scheduling of queue to be processed is completed into the mode first gone out;Data buffer zone is used to the temporary data read from flash memory;Rubbish returns The recycling that module is responsible for solid state hard disk invalid block is received, garbage collection operation is completed.
A kind of solid state disk read-write request method for parallel processing, process flow include pretreatment, flash memory access and rubbish Three processes are recycled, and three processes can execute parallel, specific step is as follows.
When there are new read-write requests to reach, and when queue to be processed is discontented, pretreatment process, specific work process are triggered It is as follows:
P1 judges to reach request type: if read request, executing P2;Otherwise it is write request, executes P4.
P2, call address mapping block, access address mapping table obtain the corresponding physical page number of each logical page (LPAGE) of read request PPN。
P3 calls channel distribution module, the flash memory channel where it is obtained according to each page of PPN, then by each page It is inserted into the tail of the queue of the reading queue in corresponding flash memory channel, executes P6.
P4, the page distribution module of call address mapping block are each of write request page distribution using strange land more new strategy New physical page number PPN, and address mapping table is updated, execute P5.
P5 calls channel distribution module, the flash memory channel where it is obtained according to each page of PPN, then by each page It is inserted into the tail of the queue of the write queue in corresponding flash memory channel, finally executes P6.
P6 inserts the request into the tail of the queue of queue to be processed, terminates this pretreatment.
When queue to be processed is not sky, flash memory browsing process is triggered, specific work process is as follows:
A1 judges queue head of the queue request type to be processed: if read request, executing A2;Otherwise, A5 is executed.
A2, judges whether request queue head of the queue read request executes completion: if so, executing A4, otherwise executing A3.
A3 reads into the page that queue head of the queue is read in all channels in data buffer zone from flash memory, then rejects all logical The head of the queue of queue is read in road, executes A2.
A4, the reading data from same request in merging data buffer area, and topmost paper system is responded, it rejects to be processed The request of queue head of the queue, terminates this flash memory access operations.
A5, judges whether request queue head of the queue write request executes completion: if so, executing A7, otherwise executing A6.
A6 by the Physical Page under the request write-in corresponding channel of all channel write queue heads of the queue, while rejecting all channels The head of the queue of write queue executes A5.
A7 responds topmost paper system, rejects queue head of the queue request to be processed, terminates this flash memory access operations.
Garbage collection procedure is completed by garbage reclamation module, is combined using active garbage reclamation and passive garbage reclamation Mode.Threshold value TH is less than to the quantity for being classified as free block in empty and some channel when to be processed1When, triggering active garbage reclamation behaviour Make.When executing flash memory access operations, the quantity of free block is less than threshold value TH in some channel2When, pause flash memory access behaviour Make, triggers passive garbage collection operation.Further, the concrete mode of the garbage collection operation is selection channel Xia Bao Data block containing most invalid pages is as invalid block, by the free block in effective page migration to the same channel in invalid block In, then invalid block is wiped.In addition, to trigger passive garbage collection operation, TH less as far as possible1TH should be greater than2
Further, the detailed process of the page distribution method of the write request in the pretreatment process P4 step is as follows:
P41, calculates the erasing times of each channel flash block, is ranked up from small to large by erasing times;
P42, by the number of physical pages N that write request needs be expressed as N=n*C+q form (C is port number, and n is the quotient of N/C, Q is the remainder of N/C);
P43 preferentially distributes the strategy writing and maximizing channel parallel and write according to the smallest channel of erasing times, first to each Channel is distributed n page and is write, to realize maximization concurrent write;Then q page is write distribute to erasing times the smallest preceding q it is logical Road, with the degree of wear in balanced each channel.
Beneficial effect is the present invention compared with prior art:
Solid state disk read-write request method for parallel processing proposed by the present invention utilizes solid state hard disk channel level parallel organization, most The degree of parallelism of bigization read-write requests.In preprocessing process, for read-write requests, corresponding read/write channel is calculated, is then sent To the corresponding read-write queue in channel;In flash memory access process, according to request order of arrival from the read-write queue in each channel Parallel Scheduling;For garbage reclamation, using active by the way of passively combining, to reduce garbage reclamation to solid state disk read-write The influence of performance.In addition, taking into account channel parallel and abrasion equilibrium in the channel assigning process of write request.With existing flash memory Conversion layer technology is compared, and the method that the present invention announces can be greatly reduced request and execute the time, promotes the read-write of solid state hard disk Performance.
Detailed description of the invention
Fig. 1: overall framework figure of the invention
Fig. 2: preprocessing process flow chart of the invention
Fig. 3: flash memory access process flow chart of the invention
Fig. 4: the concrete case of preprocessing process of the invention
Fig. 5: the concrete case of present invention access Flash-process
Specific embodiment
In order to make those skilled in the art be better understood when technical solution of the present invention, below in conjunction with attached drawing and tool Explanation is described in detail to the present invention in body embodiment.Obviously, described embodiment is only that present invention a part is real Example is applied, instead of all the embodiments.Based on the embodiments of the present invention, those of ordinary skill in the art are not making creation Property labour under the premise of every other embodiment obtained, belong to protection scope of the present invention.
In addition, the invention of this hair assumes that topmost paper system is 1 flash memory to the minimum unit that solid state hard disk is written and read Page, i.e., whole page are read or write.In real system, file system is 1 sector to the minimum unit that solid state hard disk is written and read. By alignment operation, sector access very easily can be converted into access to web page, this is not repeated in the invention.
Solid state disk read-write proposed by the present invention requests method for parallel processing, by address mapping module, channel distribution module, Channel queue's module, Queue module to be processed, data buffer zone and six part of garbage reclamation module composition, as shown in Figure 1.
Address mapping module is responsible for realizing the logical address of request to the mapping of physical address, using page grade mapping mode, It is made of address mapping table and page distribution module.The wherein mapping relations between address mapping table record logical page (LPAGE) and Physical Page, Page distributes a module to write request and distributes new Physical Page.When read request arrives, obtained by the address mapping table of address mapping module Take the corresponding Physical Page of logical page (LPAGE);When write request arrives, by the page distribution module of address mapping module to each in write request Logical page (LPAGE) distributes new Physical Page, and updates address mapping table.
Channel distribution module is responsible for the channel of each page of actual needs access in computation requests.Channel distribution module base area The physical page number that location mapping block obtains calculates the corresponding channel of each page, and is inserted into the read-write queue of corresponding channel.
Channel queue's module is made of the queue in each channel, and the queue in each channel, which is divided into read request queue again and writes, asks Queue is asked, the read-write queue that channel is inserted into as unit of page is requested in read and write access by channel distribution module.
Queue to be processed saves the request that channel is assigned but practical flash reading and writing is not fully completed, by first in first out Mode complete the scheduling of queue to be processed.
Data buffer zone is used to the temporary data read from flash memory.
Garbage reclamation module is used to complete garbage collection procedure, is combined using active garbage reclamation and passive garbage reclamation Mode.
Solid state disk read-write request method for parallel processing proposed by the present invention is related in actual treatment access request Pretreatment accesses three processes of flash memory and garbage reclamation.The trigger condition and process flow of these three processes are as follows:
When there are new read-write requests to reach, and when queue to be processed is discontented, pretreatment process, process such as Fig. 2 institute are triggered Show, specific work process is as follows:
Step 1, judge to reach request type: if read request, executing step 2;Otherwise it is write request, executes step 4.
Step 2, call address mapping block, access address mapping table obtain the corresponding physics of each logical page (LPAGE) of read request Page number PPN.
Step 3, channel distribution module is called, corresponding flash memory channel is obtained according to each page of PPN, then by each page It is inserted into the tail of the queue of the reading queue in corresponding flash memory channel, finally executes step 6.
Step 4, the page distribution module of call address mapping block is each page of write request using strange land more new strategy New physical page number PPN is distributed, and updates address mapping table, executes step 5.
Step 5, channel distribution module is called, corresponding flash memory channel is obtained according to each page of PPN, then by each page It is inserted into the tail of the queue of the write queue in corresponding flash memory channel, finally executes step 6.
Step 6, the tail of the queue for inserting the request into queue to be processed terminates this pretreatment.
Further, the detailed process of the page distribution method of the write request in the step 4 is as follows:
P41, calculates the erasing times of each channel flash block, is ranked up from small to large by erasing times;
P42, by the number of physical pages N that write request needs be expressed as N=n*C+q form (C is port number, and n is the quotient of N/C, Q is the remainder of N/C);
P43 preferentially distributes the strategy writing and maximizing channel parallel and write according to the smallest channel of erasing times, first to each Channel is distributed n page and is write, to realize maximization concurrent write;Then q page is write distribute to erasing times the smallest preceding q it is logical Road, with the degree of wear in balanced each channel.
When queue to be processed is not sky, flash memory browsing process is triggered, implementation process is as shown in figure 3, specific works mistake Journey is as follows:
Step 1, judge queue head of the queue request type to be processed: if read request, executing step 2;Otherwise, step 5 is executed.
Step 2, judge whether request queue head of the queue read request executes completion: if so, step 4 is executed, it is no to then follow the steps 3。
Step 3, the page that queue head of the queue is read in all channels is read into data buffer zone from flash memory, is then rejected all The head of the queue of queue is read in channel, executes step 2.
Step 4, from the reading data of same request in merging data buffer area, and respond topmost paper system, reject to The request of queue head of the queue is handled, this flash memory access operations is terminated.
Step 5, judge whether request queue head of the queue write request executes completion: if so, step 7 is executed, it is no to then follow the steps 6。
Step 6, the request of all channel write queue heads of the queue is written in the Physical Page under corresponding channel, while rejects institute There is the head of the queue of channel write queue, executes step 5.
Step 7, topmost paper system is responded, queue head of the queue request to be processed is rejected, terminates this flash memory access operations.
When to be processed to being classified as sky, and the quantity of free block is less than threshold value TH in some channel1When, triggering active rubbish returns It brings drill to an end work.When in progress flash memory access operations, and in some channel, the quantity of free block is less than threshold value TH2When, pause flash memory is visited It asks operation, triggers passive garbage collection operation.Practical garbage collection operation is the number selected under the channel comprising most invalid pages Then invalid block is wiped by the free block in effective page migration to the same channel in invalid block as invalid block according to block It removes.In addition, to trigger passive garbage collection operation, TH less as far as possible1TH should be greater than2
In order to which parallel processing process of the invention is further expalined, it is illustrated in conjunction with specific actual request. For the convenience of description, assuming flash memory port number C=4, the flash array in each channel includes 128 Physical Page, i.e. 1-128 object Manage page corresponding channel 1,129-256 Physical Page corresponding channel 2,257-384 Physical Page corresponding channel 3,385-512 physics Page corresponding channel 4.Request queue and channel read-write queue are all sky, and channel is arranged as according to flash block erasing times are ascending 4,3,2,1。
Embodiment 1: pretreatment operation.
Pretreatment operation in queue is as shown in Figure 4.R1 is requested, W1, R2 are reached sequentially in time, and R, which is represented, herein reads Request, W represent write request, and number represents order of arrival.Its treatment process is as follows:
C1, queue to be processed is less than, starts to execute request pretreatment operation, read request R1 (78,2).78 represent visit herein Ask the beginning logical page number (LPN) of operation, 2 represent two pages (similarly hereinafter) of access.Address mapping table according to Fig.4, can be obtained reality The physical page number for needing to access is 66 and 301, executes C2.
C2, Physical Page 66,301 is respectively in channel 1,3.It is inserted into the reading in channel 1 and channel 3 by channel distribution module respectively Queue executes C3.
C3, queue to be processed is less than, continues to execute request pretreatment operation, write request W1 (236,5).Address mapping module 4 pages preceding in W1 are assigned in 4 channels, the 5th page is assigned in channel 4.Assuming that distribution information is 236-103,237- 247,238-331,239-500,240-501.Map information is updated to address mapping module, executes C4.
C4, Physical Page 103,247,331,500,501 is respectively in channel 1,2,3,4,4.Channel distribution module is distinguished It is inserted into channel 1, channel 2, channel 3, the write queue in channel 4, execution C5.
C5, queue to be processed is less than, continues to execute request pretreatment operation, read request R2 (126,3).Access address mapping It is 126-79,127-210,128-407 that module, which obtains address mapping information, executes C6.
C6, Physical Page 79,210,407 is respectively in channel 1,2,4.It is inserted into channel by channel distribution module respectively 1, the reading queue in channel 2 and channel 4 executes C7.
C7, queue to be processed is less than, but without subsequent request, pretreatment operation execution terminates.
Embodiment 2: flash memory access operations.
Read request disposition in queue is as shown in figure 5, its treatment process is as follows:
C1, queue to be processed are not sky, and head of the queue is read request R1, and R1 is not carried out completion, therefore reads 4 channels and read teams The head of the queue page number of column reads Physical Page 66,210,301,407 to data buffer zone from 4 channels respectively.4 channels are read The request of queue head of the queue is rejected, and R1 executes completion at this time, and R1 is rejected from queue to be processed, merges the Physical Page 66 of R1 in buffer area With 301 and upload, execute C2.
C2, queue to be processed are not sky, and head of the queue is read request W1, and W1 is not carried out completion, therefore 4 channels are written and write team Line up head, writes data into 103,247,331,500 Physical Page under 4 channels respectively.4 channel write queue heads of the queue are requested It rejects, executes C3.
C3, queue to be processed are not sky, and head of the queue is read request W1, and W1 is not carried out completion, therefore 4 channels are written and write team Line up head, the only write queue in channel 4 is not empty, writes data into 501 Physical Page under channel 4.By 4 write queue head of the queue of channel It rejects, W1 executes completion at this time, and W1 is rejected from queue to be processed, executes C4.
C4, queue to be processed are not sky, and head of the queue is read request R2, and R2 is not carried out completion, therefore reads 4 channels and read teams Line up head, the reading queue in only channel 1 is not sky, reads Physical Page 79 from channel 1.Queue head of the queue is read in channel 1 to reject, at this time R2 execution terminates, and R2 is rejected from queue to be processed, merges the Physical Page 79,210,407 in buffer area and uploads, executes C5.
C5, queue to be processed are sky, and execution terminates.
The foregoing is merely preferred embodiments of the invention, are not intended to restrict the invention, to the technology of this field For 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 (6)

1. a kind of solid state disk read-write requests parallel processing apparatus, it is characterised in that distribute mould including address mapping module, channel Block, channel queue's module, Queue module to be processed, data buffer zone and garbage reclamation module;Address mapping module is responsible for realization The mapping of the logical address of request to physical address is made of using page grade mapping mode address mapping table and page distribution module; Channel distribution module is responsible for the channel of each page of actual needs access in computation requests;Channel queue's module by each channel team Column composition, the queue in each channel are divided into read request queue and write request queue, and read and write access request is inserted into as unit of page The read-write queue in channel;Queue to be processed saves the request that channel is assigned but practical flash reading and writing is not fully completed, by first The scheduling of queue to be processed is completed into the mode first gone out;Data buffer zone is used to the temporary data read from flash memory;Rubbish returns The recycling that module is responsible for solid state hard disk invalid block is received, garbage collection operation is completed.
2. a kind of solid state disk read-write requests method for parallel processing, it is characterised in that returned including pretreatment, flash memory access and rubbish Three processes are received, and three processes can execute parallel, the specific steps of which are as follows:
When there are new read-write requests to reach, and when queue to be processed is discontented, pretreatment process is triggered;
When queue to be processed is not sky, flash memory browsing process is triggered;
Garbage collection procedure is completed by garbage reclamation module, the side combined using active garbage reclamation and passive garbage reclamation Formula;Threshold value TH is less than to the quantity for being classified as free block in empty and some channel when to be processed1When, triggering active garbage reclamation behaviour Make;When executing flash memory access operations, the quantity of free block is less than threshold value TH in some channel2When, pause flash memory access behaviour Make, triggers passive garbage collection operation;Further, the concrete mode of the garbage collection operation is selection channel Xia Bao Data block containing most invalid pages is as invalid block, by the free block in effective page migration to the same channel in invalid block In, then invalid block is wiped;In addition, to trigger passive garbage collection operation, TH less as far as possible1TH should be greater than2
3. a kind of solid state disk read-write according to claim 2 requests method for parallel processing, it is characterised in that pretreated stream Steps are as follows by Cheng Shixian:
P1. judgement reaches request type: if read request, executing P2;Otherwise it is write request, executes P4;
P2. call address mapping block, access address mapping table obtain the corresponding physical page number PPN of each logical page (LPAGE) of read request;
P3. channel distribution module is called, the flash memory channel where it is obtained according to each page of PPN, is then inserted into each page The tail of the queue of the reading queue in corresponding flash memory channel, executes P6;
P4. the page distribution module of call address mapping block is that each of write request page distribution is new using strange land more new strategy Physical page number PPN, and address mapping table is updated, execute P5;
P5. channel distribution module is called, the flash memory channel where it is obtained according to each page of PPN, is then inserted into each page The tail of the queue of the write queue in corresponding flash memory channel, finally executes P6;
P6. the tail of the queue for inserting the request into queue to be processed terminates this pretreatment.
4. a kind of solid state disk read-write according to claim 3 requests method for parallel processing, it is characterised in that flash memory access Process realizes that steps are as follows:
A1. judge queue head of the queue request type to be processed: if read request, executing A2;Otherwise, A5 is executed;
A2. judge whether request queue head of the queue read request executes completion: if so, executing A4, otherwise executing A3;
A3. the page that queue head of the queue is read in all channels is read into data buffer zone from flash memory, then rejects all channels and reads The head of the queue of queue executes A2;
A4. from the reading data of same request in merging data buffer area, and topmost paper system is responded, rejects queue to be processed Head of the queue request, terminates this flash memory access operations;
A5. judge whether request queue head of the queue write request executes completion: if so, executing A7, otherwise executing A6;
A6. by the Physical Page under the request write-in corresponding channel of all channel write queue heads of the queue, while all channels is rejected and write team The head of the queue of column executes A5;
A7. topmost paper system is responded, queue head of the queue request to be processed is rejected, terminates this flash memory access operations.
5. a kind of solid state disk read-write according to claim 4 requests method for parallel processing, it is characterised in that pretreated stream The detailed process of the page distribution method of write request in journey P4 step is as follows:
P41. the erasing times for calculating each channel flash block are ranked up from small to large by erasing times;
P42., the number of physical pages N that write request needs is expressed as to the form of N=n*C+q, C is port number, and n is the quotient of N/C, and q is The remainder of N/C;
P43. the strategy writing and maximizing channel parallel and write preferentially is distributed according to the smallest channel of erasing times, first gives each channel N page of distribution is write, to realize maximization concurrent write;Then q page is write and distributes to the smallest preceding q channel of erasing times, with The degree of wear in balanced each channel.
6. a kind of solid state disk read-write request method for parallel processing according to claim 3 or 4 or 5, it is characterised in that should Method is related to address mapping module, channel distribution module, channel queue's module, Queue module to be processed, data buffer zone and rubbish Rubbish recycling module;Address mapping module is responsible for realizing the logical address of request to the mapping of physical address, using page grade mapping side Formula is made of address mapping table and page distribution module;Channel distribution module is responsible for each page of actual needs access in computation requests Channel;Channel queue's module is made of the queue in each channel, and the queue in each channel is divided into read request queue and write request The read-write queue that channel is inserted into as unit of page is requested in queue, read and write access;Queue to be processed save channel be assigned but The scheduling of queue to be processed is completed in the request that practical flash reading and writing is not fully completed in the way of first in first out;Data buffer zone For the temporary data read from flash memory;Garbage reclamation module is responsible for the recycling of solid state hard disk invalid block, completes garbage reclamation Operation.
CN201910614795.8A 2019-07-09 2019-07-09 Parallel processing method for read-write requests of solid state disk Active CN110515859B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910614795.8A CN110515859B (en) 2019-07-09 2019-07-09 Parallel processing method for read-write requests of solid state disk

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910614795.8A CN110515859B (en) 2019-07-09 2019-07-09 Parallel processing method for read-write requests of solid state disk

Publications (2)

Publication Number Publication Date
CN110515859A true CN110515859A (en) 2019-11-29
CN110515859B CN110515859B (en) 2021-07-20

Family

ID=68623266

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910614795.8A Active CN110515859B (en) 2019-07-09 2019-07-09 Parallel processing method for read-write requests of solid state disk

Country Status (1)

Country Link
CN (1) CN110515859B (en)

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111176883A (en) * 2019-12-24 2020-05-19 中山大学 Erasure code based active reconstruction method and reading method for flash memory solid-state disk data
CN111324307A (en) * 2020-02-13 2020-06-23 西安微电子技术研究所 Satellite-borne NAND FLASH type solid-state memory and method for distributing storage space
CN111580752A (en) * 2020-04-28 2020-08-25 中国人民大学 Data storage method, data storage equipment, computer program and storage medium
CN111582739A (en) * 2020-05-13 2020-08-25 华中科技大学 Method for realizing high bandwidth under condition of multi-tenant solid-state disk performance isolation
CN111708713A (en) * 2020-05-20 2020-09-25 杭州电子科技大学 Intelligent garbage recycling and scheduling method for solid state disk
CN111857601A (en) * 2020-07-30 2020-10-30 暨南大学 Solid-state disk cache management method based on garbage recovery and channel parallelism
CN112835534A (en) * 2021-02-26 2021-05-25 上海交通大学 Garbage recycling optimization method and device based on storage array data access
CN113126900A (en) * 2019-12-30 2021-07-16 美光科技公司 Separate core for media management of memory subsystem
CN114185492A (en) * 2021-12-14 2022-03-15 福建师范大学 Solid state disk garbage recycling algorithm based on reinforcement learning
CN114546294A (en) * 2022-04-22 2022-05-27 苏州浪潮智能科技有限公司 Solid state disk reading method, system and related components
CN114840448A (en) * 2022-05-13 2022-08-02 厦门大学 Method for accelerating garbage recovery of 3D flash memory by utilizing inter-channel parallel
CN115840542A (en) * 2023-02-24 2023-03-24 浪潮电子信息产业股份有限公司 Hard disk request processing method, system, storage medium and electronic equipment
CN116540948A (en) * 2023-07-04 2023-08-04 绿晶半导体科技(北京)有限公司 Solid state disk garbage disposal method and solid state disk thereof
CN118069068A (en) * 2024-04-16 2024-05-24 苏州元脑智能科技有限公司 Solid state disk management method and device, electronic equipment and storage medium

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101169703A (en) * 2007-11-05 2008-04-30 湖南源科创新科技股份有限公司 Solid state hard disk memory card based on RAID technology
CN101498994A (en) * 2009-02-16 2009-08-05 华中科技大学 Solid state disk controller
CN102713866A (en) * 2009-12-15 2012-10-03 国际商业机器公司 Reducing access contention in flash-based memory systems
CN103365788A (en) * 2013-08-06 2013-10-23 山东大学 Self-adaption local garbage collecting method used for real-time flash memory conversion layer
CN103902475A (en) * 2014-04-23 2014-07-02 哈尔滨工业大学 Solid state disk concurrent access method and device based on queue management mechanism
CN104090847A (en) * 2014-06-25 2014-10-08 华中科技大学 Address distribution method of solid-state storage device
CN107515728A (en) * 2016-06-17 2017-12-26 清华大学 Play the data managing method and device of concurrent characteristic inside flash memory device
US20180024779A1 (en) * 2016-07-25 2018-01-25 Toshiba Memory Corporation Storage device and storage control method
EP3447607A1 (en) * 2017-08-23 2019-02-27 Toshiba Memory Corporation Credit based command scheduling
CN109739775A (en) * 2018-11-20 2019-05-10 北京航空航天大学 The flash translation layer (FTL) composting recovery method locked based on the multistage

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101169703A (en) * 2007-11-05 2008-04-30 湖南源科创新科技股份有限公司 Solid state hard disk memory card based on RAID technology
CN101498994A (en) * 2009-02-16 2009-08-05 华中科技大学 Solid state disk controller
CN102713866A (en) * 2009-12-15 2012-10-03 国际商业机器公司 Reducing access contention in flash-based memory systems
CN103365788A (en) * 2013-08-06 2013-10-23 山东大学 Self-adaption local garbage collecting method used for real-time flash memory conversion layer
CN103902475A (en) * 2014-04-23 2014-07-02 哈尔滨工业大学 Solid state disk concurrent access method and device based on queue management mechanism
CN104090847A (en) * 2014-06-25 2014-10-08 华中科技大学 Address distribution method of solid-state storage device
CN107515728A (en) * 2016-06-17 2017-12-26 清华大学 Play the data managing method and device of concurrent characteristic inside flash memory device
US20180024779A1 (en) * 2016-07-25 2018-01-25 Toshiba Memory Corporation Storage device and storage control method
EP3447607A1 (en) * 2017-08-23 2019-02-27 Toshiba Memory Corporation Credit based command scheduling
CN109739775A (en) * 2018-11-20 2019-05-10 北京航空航天大学 The flash translation layer (FTL) composting recovery method locked based on the multistage

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
S. WU: "GC-Aware Request Steering with Improved Performance and Reliability for SSD-Based RAIDs", 《2018 IEEE INTERNATIONAL PARALLEL AND DISTRIBUTED PROCESSING SYMPOSIUM (IPDPS)》 *
杜晨杰: "缓冲区管理层对固态盘的有效性研究", 《浙江万里学院学报》 *
梁杰: "闪存容错阵列系统中I/O性能的优化研究", 《中国博士学位论文全文数据库 信息科技辑 》 *
罗勇: "基于混合缓存机制的垃圾回收策略研究", 《中国优秀硕士学位论文全文数据库 信息科技辑》 *

Cited By (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111176883A (en) * 2019-12-24 2020-05-19 中山大学 Erasure code based active reconstruction method and reading method for flash memory solid-state disk data
CN111176883B (en) * 2019-12-24 2022-05-20 中山大学 Erasure code based active reconstruction method and reading method for flash memory solid-state disk data
CN113126900A (en) * 2019-12-30 2021-07-16 美光科技公司 Separate core for media management of memory subsystem
CN111324307A (en) * 2020-02-13 2020-06-23 西安微电子技术研究所 Satellite-borne NAND FLASH type solid-state memory and method for distributing storage space
CN111580752A (en) * 2020-04-28 2020-08-25 中国人民大学 Data storage method, data storage equipment, computer program and storage medium
CN111580752B (en) * 2020-04-28 2023-09-26 中国人民大学 Data storage method, device, computer program and storage medium
CN111582739A (en) * 2020-05-13 2020-08-25 华中科技大学 Method for realizing high bandwidth under condition of multi-tenant solid-state disk performance isolation
CN111582739B (en) * 2020-05-13 2022-02-18 华中科技大学 Method for realizing high bandwidth under condition of multi-tenant solid-state disk performance isolation
CN111708713B (en) * 2020-05-20 2022-07-05 杭州电子科技大学 Intelligent garbage recycling and scheduling method for solid state disk
CN111708713A (en) * 2020-05-20 2020-09-25 杭州电子科技大学 Intelligent garbage recycling and scheduling method for solid state disk
CN111857601A (en) * 2020-07-30 2020-10-30 暨南大学 Solid-state disk cache management method based on garbage recovery and channel parallelism
CN111857601B (en) * 2020-07-30 2023-09-01 暨南大学 Solid-state disk cache management method based on garbage collection and channel parallelism
CN112835534A (en) * 2021-02-26 2021-05-25 上海交通大学 Garbage recycling optimization method and device based on storage array data access
CN114185492B (en) * 2021-12-14 2023-07-07 福建师范大学 Solid state disk garbage recycling method based on reinforcement learning
CN114185492A (en) * 2021-12-14 2022-03-15 福建师范大学 Solid state disk garbage recycling algorithm based on reinforcement learning
CN114546294B (en) * 2022-04-22 2022-07-22 苏州浪潮智能科技有限公司 Solid state disk reading method, system and related components
CN114546294A (en) * 2022-04-22 2022-05-27 苏州浪潮智能科技有限公司 Solid state disk reading method, system and related components
CN114840448A (en) * 2022-05-13 2022-08-02 厦门大学 Method for accelerating garbage recovery of 3D flash memory by utilizing inter-channel parallel
CN114840448B (en) * 2022-05-13 2024-06-04 厦门大学 Method for accelerating garbage collection of 3D flash memory by utilizing inter-channel parallel
CN115840542A (en) * 2023-02-24 2023-03-24 浪潮电子信息产业股份有限公司 Hard disk request processing method, system, storage medium and electronic equipment
CN115840542B (en) * 2023-02-24 2023-06-02 浪潮电子信息产业股份有限公司 Method and system for processing request of hard disk, storage medium and electronic equipment
CN116540948A (en) * 2023-07-04 2023-08-04 绿晶半导体科技(北京)有限公司 Solid state disk garbage disposal method and solid state disk thereof
CN116540948B (en) * 2023-07-04 2023-08-29 绿晶半导体科技(北京)有限公司 Solid state disk garbage disposal method and solid state disk thereof
CN118069068A (en) * 2024-04-16 2024-05-24 苏州元脑智能科技有限公司 Solid state disk management method and device, electronic equipment and storage medium
CN118069068B (en) * 2024-04-16 2024-07-02 苏州元脑智能科技有限公司 Solid state disk management method and device, electronic equipment and storage medium

Also Published As

Publication number Publication date
CN110515859B (en) 2021-07-20

Similar Documents

Publication Publication Date Title
CN110515859A (en) A kind of solid state disk read-write request method for parallel processing
CN104461393B (en) Mixed mapping method of flash memory
CN106528438B (en) A kind of segmented rubbish recovering method of solid storage device
CN109919310B (en) GPU memory optimization method and system for deep learning training task
WO2017206649A1 (en) Data distribution method for decentralized distributed heterogeneous storage system
CN1258713C (en) Data distribution dynamic mapping method based on magnetic disc characteristic
CN107193646A (en) A kind of high-efficiency dynamic paging method that framework is hosted based on mixing
CN106066890B (en) Distributed high-performance database all-in-one machine system
CN106843756A (en) Memory pages recovery method and system based on page classifications
CN103605615B (en) Block-level-data-based directional allocation method for hierarchical storage
CN109582593B (en) FTL address mapping reading and writing method based on calculation
CN106775476A (en) Mixing memory system and its management method
CN103336744A (en) Garbage recovery method for solid-state storage device and system for garbage recovery method
CN106445405A (en) Flash storage-oriented data access method and apparatus
CN110389942A (en) A kind of the key assignments separate-storage method and system of no garbage reclamation
CN110347613B (en) Method for realizing RAID in multi-tenant solid-state disk, controller and multi-tenant solid-state disk
US20180107601A1 (en) Cache architecture and algorithms for hybrid object storage devices
CN103927277A (en) CPU (central processing unit) and GPU (graphic processing unit) on-chip cache sharing method and device
CN109783398A (en) One kind is based on related perception page-level FTL solid state hard disk performance optimization method
CN109710184A (en) Hierarchical hybrid storage method and system for tile record disk perception
CN109240939B (en) Method for rapidly processing solid state disk TRIM
CN103902475B (en) Solid state disk concurrent access method and device based on queue management mechanism
He et al. Locality-aware replacement algorithm in flash memory to optimize cloud computing for smart factory of industry 4.0
CN107729268A (en) A kind of memory expansion apparatus and method based on CAPI interfaces
CN1955939A (en) Backup and recovery method based on virtual flash disk

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20240812

Address after: 518000 1002, Building A, Zhiyun Industrial Park, No. 13, Huaxing Road, Henglang Community, Longhua District, Shenzhen, Guangdong Province

Patentee after: Shenzhen Wanzhida Technology Co.,Ltd.

Country or region after: China

Address before: 310018 No. 2 street, Xiasha Higher Education Zone, Hangzhou, Zhejiang

Patentee before: HANGZHOU DIANZI University

Country or region before: China