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 PDFInfo
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 59
- 239000007787 solid Substances 0.000 title claims abstract description 35
- 238000012545 processing Methods 0.000 title claims abstract description 16
- 238000013507 mapping Methods 0.000 claims abstract description 46
- 239000010813 municipal solid waste Substances 0.000 claims abstract description 44
- 230000008569 process Effects 0.000 claims abstract description 35
- 230000001960 triggered effect Effects 0.000 claims description 6
- 230000006399 behavior Effects 0.000 claims description 4
- 239000000203 mixture Substances 0.000 claims description 4
- 238000004064 recycling Methods 0.000 claims description 4
- 230000005012 migration Effects 0.000 claims description 3
- 238000013508 migration Methods 0.000 claims description 3
- 238000007781 pre-processing Methods 0.000 abstract description 4
- 230000004044 response Effects 0.000 abstract description 4
- 230000008520 organization Effects 0.000 abstract description 3
- 238000013519 translation Methods 0.000 description 4
- 235000012431 wafers Nutrition 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 238000005299 abrasion Methods 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 230000001174 ascending effect Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 230000008439 repair process Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0253—Garbage collection, i.e. reclamation of unreferenced memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0877—Cache access modes
- G06F12/0882—Page mode
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0893—Caches characterised by their organisation or structure
- G06F12/0895—Caches 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
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.
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)
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)
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 |
-
2019
- 2019-07-09 CN CN201910614795.8A patent/CN110515859B/en active Active
Patent Citations (10)
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)
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)
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 |