CN107832018A - A kind of RAID implementation and SSD - Google Patents

A kind of RAID implementation and SSD Download PDF

Info

Publication number
CN107832018A
CN107832018A CN201711171925.2A CN201711171925A CN107832018A CN 107832018 A CN107832018 A CN 107832018A CN 201711171925 A CN201711171925 A CN 201711171925A CN 107832018 A CN107832018 A CN 107832018A
Authority
CN
China
Prior art keywords
data
write
nvram
valid data
band
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.)
Pending
Application number
CN201711171925.2A
Other languages
Chinese (zh)
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 Union Memory Information System Co Ltd
Original Assignee
Shenzhen Union Memory Information System Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shenzhen Union Memory Information System Co Ltd filed Critical Shenzhen Union Memory Information System Co Ltd
Priority to CN201711171925.2A priority Critical patent/CN107832018A/en
Publication of CN107832018A publication Critical patent/CN107832018A/en
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • G06F3/0611Improving I/O performance in relation to response time
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0616Improving the reliability of storage systems in relation to life time, e.g. increasing Mean Time Between Failures [MTBF]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0688Non-volatile semiconductor memory arrays
    • 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/0866Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

The invention discloses the implementation of RAID a kind of and SSD, it is characterized in that after solid-state hard disk controller NFC receives write request, judge whether the valid data of write-in meet the valid data length of a band, the verification data of write-in data is calculated if meeting, and valid data and verification data are write in FLASH same band;The presently written valid data then write valid data in NVRAM less than the valid data of a band.By postponing write-in check information strategy and introducing nonvolatile memory NVRAM, reduce in garbage collection procedure to the evolutionary operator probability of data write-in, realize the effect improved to host side response speed and lifting solid-state disk service life.

Description

A kind of RAID implementation and SSD
Technical field
The present invention relates to solid state hard disc control technology, more particularly to a kind of RAID implementation and SSD.
Background technology
SSD (solid state hard disc) has been widely used in various occasions, and with the development of technology, particle is from 2D NAND Flash develop into 3D NAND FLASH, and performance is also up to 3.2GBps.
For SSD based on NANDFLASH to improve reliability, error correction algorithm can all be used by increasing the service life, from BCH to now LDPC, error correction algorithm is also evolving.To build Large Copacity, high-performance and highly reliable storage system, can also in SSD Use redundant arrays of inexpensive disks (RAID) technology.The RAID that traditional SSD is used needs firmware largely to be intervened in read error.
Fig. 1 is existing SSD RAID (4+1) read operation flow chart, and existing SSD RAID check informations are evenly distributed in On SSD, bar reel number is calculated by logical page (LPAGE) LPA, when carrying out data read operation, is operated by following process step:
1) main frame host notifies SSD to have new order, and command information is got local FIFO by SSD hardware modules automatically;
2) SSD firmwares are inquired about and obtain new order;
3) acquired order is submitted to CM (order management) module and performed by SSD firmwares;
4) CM completes pretreatment (read and write abruption etc.), submits algoritic module further to perform;
5) algoritic module distribution read buffer read buffer, and initiate to rear end read request;Algoritic module passes according to data Defeated address, build data transfer request;
6) hardware completes data transfer;
7) notice software data is transmitted, and algoritic module is to rear end write request;
8) NFC receives write request, initiates RAID operation, waits RAID to complete to carry out NAND flash write-ins.
Fig. 2 is flow chart when existing SSD carries out garbage reclamation:
1) initial data PAGE0~2 are read from NAND flash;
2) it is invalid page to mark dummy page and parity page;
3) PAGE0~PAGE2 and new page combinations are subjected to RAID;
4) new PAGE0~2, New page and new parity page are write into NAND flash;
5) old page0~2, dummy page, old parity page are wiped;
, it is necessary to carry out three page read operation during whole GC (garbage collection), 5 page's Write operation, 5 page correspond to block wiping operation, total time-consuming 3tR+5tprog+5tER.Elapsed time is longer, reduces simultaneously NANDflash life-span.
The content of the invention
For disadvantages described above, the present invention seeks to how to reduce introduce after RAID mechanism caused by write scale-up problem.
A kind of RAID implementation is proposed in order to solve the problem above present invention, it is characterised in that solid state hard disc controls After device NFC receives write request, judge whether the valid data of write-in meet the valid data length of a band, if full Verification data that is sufficient then calculating write-in data, and valid data and verification data are write in FLASH same band;It is described Valid data are then write NVRAM (Non-Volatile by presently written valid data less than the valid data of a band Random Access Memory) in.
Described RAID implementation, it is characterised in that the presently written valid data have less than band The part verification data of the currently active data volume is first calculated when imitating data, the currently active data and part verification data are write In NVRAM, the preceding valid data and part verification data that write every time merge into partial test page data.
Described RAID implementation, it is characterised in that the presently written valid data have less than band When imitating data, first retrieve in NVRAM and whether there is data, be adapted to and the currently active data if there is then searching NVRAM and finding The data for merging into a RAID merge calculating verification data, and the data after merging and verification data are write into FLASH's In same band.
Described RAID implementation, it is characterised in that the data stored in NVRAM are carried out in garbage collection operation Arrange, the data that partial test page data is merged into a RAID with the data progress data newly write merge calculating school Data are tested, the data after merging and verification data are write in FLASH same band.
Described RAID implementation, it is characterised in that before data are write to solid-state hard disk controller NFC, hard disk pipe The algoritic module in firmware is managed when receiving host write command, first checks the data in NVRAM, searching whether to exist can be with Data in writing commands are spliced into the data of a band, are sent if there is the valid data for being then spliced into same band Give solid-state hard disk controller NFC;If there is no the data then retrieved again after being delayed after a while in NVRAM, if also It is to be not present, then valid data is directly sent to solid-state hard disk controller NFC;If there is being then spliced into same band Valid data are sent to solid-state hard disk controller NFC.
A kind of SSD, it is characterised in that increase NVRAM, page data, solid-state hard disk controller NFC are tested for storage part branch school After receiving write request, judge whether the valid data of write-in meet the valid data length of a band, if meeting The verification data of write-in data is calculated, and valid data and verification data are write in FLASH same band;It is described current The valid data of write-in then write valid data in NVRAM less than the valid data of a band;Described presently written has The part verification data of the currently active data volume is first calculated during the valid data for imitating one band of data deficiencies, by the currently active number Write according to part verification data in NVRAM, the preceding valid data and part verification data that write every time merge into partial test Page data.
Described SSD, it is characterised in that the presently written valid data less than band valid data when, first It whether there is data in retrieval NVRAM, be adapted to merge into one with the currently active data if there is then searching NVRAM and finding RAID data merge calculating verification data, and the data after merging and verification data are write to FLASH same band In.
Described SSD, it is characterised in that the data stored in NVRAM are arranged in garbage collection operation, by part Examine page data to merge into RAID data with the data progress data newly write and merge calculating verification data, will close Data and verification data after and are write in FLASH same band.
Described SSD, it is characterised in that before data are write to solid-state hard disk controller NFC, in hard disk management firmware Algoritic module when receiving host write command, first check NVRAM in data, search whether exist can with writing commands Data be spliced into the data of a band, be sent to solid state hard disc if there is the valid data for being then spliced into same band Controller NFC;If there is no the data then retrieved again after being delayed after a while in NVRAM, if be still not present, Valid data are directly sent to solid-state hard disk controller NFC;Sent out if there is the valid data for being then spliced into same band Give solid-state hard disk controller NFC.
The beneficial effects of the invention are as follows:By postponing write-in check information strategy and introducing nonvolatile memory NVRAM, Reduce in garbage collection procedure to the evolutionary operator probability of data write-in, realize and improve to host side response speed and lifting solid state hard disc The effect in life-span.
Brief description of the drawings
Fig. 1 is existing SSD RAID (4+1) read operation flow chart;
Fig. 2 is flow chart when existing SSD carries out garbage reclamation;
Fig. 3 is the write-in flow chart of check information delay write-in;
Fig. 4 is garbage collection operation flow chart after improving.
Embodiment
Below in conjunction with the accompanying drawing in the embodiment of the present invention, the technical scheme in the embodiment of the present invention is carried out clear, complete Site preparation describes, it is clear that described embodiment is only part of the embodiment of the present invention, rather than whole embodiments.It is based on Embodiment in the present invention, those of ordinary skill in the art are obtained every other under the premise of creative work is not made Embodiment, belong to the scope of protection of the invention.
Fig. 3 is the write-in flow chart of check information delay write-in, when algoritic module receives writing commands, first checks NVRAM In data, if with the data in writing commands can be spliced into 4page with regard to direct forward end initiate data transfer request;Otherwise Waited for a period of time using T.O. mechanism, if still can not splice, just initiate data transfer request, and initiate to write to NFC Request.
After NFC receives write request, carry out RAID if data volume meets 4page, wait RAID to complete, by data and Parity write-in NAND FLASH;Otherwise the RAID verifications of current data amount are only initiated, by current data and partial Parity writes NVRAM.
Fig. 4 is garbage collection operation flow chart after improving, and idiographic flow is as follows:
1) PAGE0~PAGE2 and part parity page in NVRAM are read;
2) part parity page and new page is combined and carries out RAID;
3) PAGE0~2, New page and new paritypage are write into NAND flash;
4) the buffer resources on NVRAM are discharged.
Need to read 4 page from NVRAM during whole GC, and delete 4 page, to NAND flash write-ins 5 Individual page, by time of the consumed time much smaller than NAND FLASH consumption is wiped in NVRAM read-write, it is possible to ignore NVRAM operating times, total time-consuming 5tR.Compared with existing RAID schemes, GC of the present invention takes less.
When hard disk breaks down, because NVRAM is nonvolatile memory, the data kept in NVRAM can be used for Recover data, therefore, the data in NVRAM can turn into " half failure page " before being wiped free of.
In terms of service life, SSD block PE cycle are in 3*103~104, and NVRAM block erasing times reach 1015, therefore, compared with SSD, NVRAM loss can be ignored.
By using delay write check information strategy, reduce the number of SSD write-ins, GC occur so as to reduce Probability.
The above disclosed interest field for being only an embodiment of the present invention, sheet can not being limited with this certainly, One of ordinary skill in the art will appreciate that all or part of flow of above-described embodiment is realized, and according to the claims in the present invention institute The equivalent variations of work, still fall within the scope that the present invention is covered.

Claims (9)

1. a kind of RAID implementation, it is characterised in that after solid-state hard disk controller NFC receives write request, judge to write Valid data whether meet the valid data length of a band, the verification data of write-in data is calculated if meeting, and By in valid data and verification data write-in FLASH same band;Less than one bar of the presently written valid data The valid data of band, then valid data are write in NVRAM.
2. RAID according to claim 1 implementation, it is characterised in that the presently written valid data deficiency The part verification data of the currently active data volume is first calculated during the valid data of one band, by the currently active data and part school Test in data write-in NVRAM, the preceding valid data and part verification data that write every time merge into partial test page data.
3. RAID according to claim 2 implementation, it is characterised in that the presently written valid data deficiency During the valid data of one band, first retrieve in NVRAM and whether there is data, if there is then search NVRAM find be adapted to and The data that the currently active data merge into a RAID merge calculating verification data, by the data and verification data after merging Write in FLASH same band.
4. RAID according to claim 2 implementation, it is characterised in that the data stored in NVRAM are in garbage reclamation Arranged in operation, partial test page data is carried out to the data progress that data merge into a RAID with the data newly write Joint account verification data, the data after merging and verification data are write in FLASH same band.
5. the implementation of the RAID according to Claims 1-4 any one, it is characterised in that controlled to solid state hard disc Before device NFC write-in data, the algoritic module in hard disk management firmware is first checked in NVRAM when receiving host write command Data, the data of a band can be spliced into the data in writing commands by searching whether to exist, if there is being then spliced into The valid data of same band are sent to solid-state hard disk controller NFC;If there is no then after being delayed after a while again The data in NVRAM are retrieved, if be still not present, valid data are directly sent to solid-state hard disk controller NFC;If Solid-state hard disk controller NFC is sent in the presence of the valid data for being then spliced into same band.
6. a kind of SSD, it is characterised in that increase NVRAM, test page data for storage part branch school, solid-state hard disk controller NFC connects After receiving write request, judge whether the valid data of write-in meet the valid data length of a band, counted if meeting The verification data of write-in data is calculated, and valid data and verification data are write in FLASH same band;It is described currently to write The valid data entered then write valid data in NVRAM less than the valid data of a band;It is described presently written effective The part verification data of the currently active data volume is first calculated during the valid data of one band of data deficiencies, by the currently active data Write with part verification data in NVRAM, the preceding valid data and part verification data that write every time merge into partial test page Data.
7. SSD according to claim 6, it is characterised in that the presently written valid data have less than band When imitating data, first retrieve in NVRAM and whether there is data, be adapted to and the currently active data if there is then searching NVRAM and finding The data for merging into a RAID merge calculating verification data, and the data after merging and verification data are write into FLASH's In same band.
8. SSD according to claim 7, it is characterised in that the data stored in NVRAM are carried out in garbage collection operation Arrange, the data that partial test page data is merged into a RAID with the data progress data newly write merge calculating school Data are tested, the data after merging and verification data are write in FLASH same band.
9. according to the SSD described in claim 6 to 8 any one, it is characterised in that writing number to solid-state hard disk controller NFC According to preceding, the algoritic module in hard disk management firmware first checks the data in NVRAM, searched when receiving host write command With the presence or absence of the data that a band can be spliced into the data in writing commands, if there is being then spliced into same band Valid data are sent to solid-state hard disk controller NFC;If there is no then being retrieved again in NVRAM after being delayed after a while Data, if be still not present, valid data are directly sent to solid-state hard disk controller NFC;If there is being then spliced into The valid data of same band are sent to solid-state hard disk controller NFC.
CN201711171925.2A 2017-11-22 2017-11-22 A kind of RAID implementation and SSD Pending CN107832018A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201711171925.2A CN107832018A (en) 2017-11-22 2017-11-22 A kind of RAID implementation and SSD

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711171925.2A CN107832018A (en) 2017-11-22 2017-11-22 A kind of RAID implementation and SSD

Publications (1)

Publication Number Publication Date
CN107832018A true CN107832018A (en) 2018-03-23

Family

ID=61653241

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711171925.2A Pending CN107832018A (en) 2017-11-22 2017-11-22 A kind of RAID implementation and SSD

Country Status (1)

Country Link
CN (1) CN107832018A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108519859A (en) * 2018-03-30 2018-09-11 北京联想核芯科技有限公司 Method for reading data, device, equipment and medium

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6467022B1 (en) * 1998-04-16 2002-10-15 International Business Machines Corporation Extending adapter memory with solid state disks in JBOD and RAID environments
CN102567216A (en) * 2011-12-29 2012-07-11 北京交控科技有限公司 Reliable storage method for prolonging service life of flash memory
CN103488583A (en) * 2013-09-09 2014-01-01 华中科技大学 High-performance reliable solid-state disk realizing method
CN103729149A (en) * 2013-12-31 2014-04-16 创新科存储技术有限公司 Data storage method
CN105468998A (en) * 2014-09-03 2016-04-06 腾讯科技(深圳)有限公司 Data protection method, data protection apparatus and solid state disk storage system
US20160179422A1 (en) * 2014-12-19 2016-06-23 Samsung Electronics Co., Ltd. Method of performing garbage collection and raid storage system adopting the same
CN105761756A (en) * 2016-02-01 2016-07-13 天固科技(杭州)有限公司 Scheme for improving performance and reliability of mass solid state disc by utilizing high-performance non-volatile solid-state memory

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6467022B1 (en) * 1998-04-16 2002-10-15 International Business Machines Corporation Extending adapter memory with solid state disks in JBOD and RAID environments
CN102567216A (en) * 2011-12-29 2012-07-11 北京交控科技有限公司 Reliable storage method for prolonging service life of flash memory
CN103488583A (en) * 2013-09-09 2014-01-01 华中科技大学 High-performance reliable solid-state disk realizing method
CN103729149A (en) * 2013-12-31 2014-04-16 创新科存储技术有限公司 Data storage method
CN105468998A (en) * 2014-09-03 2016-04-06 腾讯科技(深圳)有限公司 Data protection method, data protection apparatus and solid state disk storage system
US20160179422A1 (en) * 2014-12-19 2016-06-23 Samsung Electronics Co., Ltd. Method of performing garbage collection and raid storage system adopting the same
CN105761756A (en) * 2016-02-01 2016-07-13 天固科技(杭州)有限公司 Scheme for improving performance and reliability of mass solid state disc by utilizing high-performance non-volatile solid-state memory

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
岐艳芳等: "《大学计算机-计算思维及项目化应用教程》", 31 August 2016 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108519859A (en) * 2018-03-30 2018-09-11 北京联想核芯科技有限公司 Method for reading data, device, equipment and medium
CN108519859B (en) * 2018-03-30 2021-04-20 深圳忆联信息系统有限公司 Data reading method, device, equipment and medium

Similar Documents

Publication Publication Date Title
US9996435B2 (en) Reliability scheme using hybrid SSD/HDD replication with log structured management
US10282252B2 (en) RAID storage device and method of management thereof
US10884914B2 (en) Regrouping data during relocation to facilitate write amplification reduction
US8386699B2 (en) Method for giving program commands to flash memory for writing data according to a sequence, and controller and storage system using the same
CN101656104B (en) Flash memory storage system and data writing method thereof
EP3230846B1 (en) Performing an atomic write operation across multiple storage devices
CN103136121B (en) Cache management method for solid-state disc
US8301861B2 (en) Startup reconstruction of logical-to-physical address translation data for solid state disks
US9898229B1 (en) Systems and methods of memory reads
US9898216B2 (en) Data storage system and specific command execution method thereof
CN102662608B (en) Method and the device of time delay are read in a kind of reduction
KR101856506B1 (en) Data storage device and data write method thereof
US20140143476A1 (en) Usage of cache and write transaction information in a storage device
JP2019502987A (en) Multipage failure recovery in non-volatile memory systems
US20120144152A1 (en) Transaction log recovery
CN111007991B (en) Method for separating read-write requests based on NVDIMM and computer thereof
US20200089606A1 (en) Use of a logical-to-logical translation map and a logical-to-physical translation map to access a data storage device
US20150161035A1 (en) Retirement of physical memory based on dwell time
CN109117383A (en) Method for managing flash memory module and flash memory controller
WO2021139166A1 (en) Error page identification method based on three-dimensional flash storage structure
US11656792B2 (en) Mirroring data in write caches of a controller of a non-volatile memory
CN107832018A (en) A kind of RAID implementation and SSD
KR20190050154A (en) A data storage device
CN108121509B (en) Method for improving RAID efficiency during SSD read operation and SSD
CN107807790A (en) A kind of method of solid state hard disc data write-in

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
RJ01 Rejection of invention patent application after publication

Application publication date: 20180323

RJ01 Rejection of invention patent application after publication