CN108205423A - 一种物理硬盘磨损均衡方法、装置及系统 - Google Patents
一种物理硬盘磨损均衡方法、装置及系统 Download PDFInfo
- Publication number
- CN108205423A CN108205423A CN201611187151.8A CN201611187151A CN108205423A CN 108205423 A CN108205423 A CN 108205423A CN 201611187151 A CN201611187151 A CN 201611187151A CN 108205423 A CN108205423 A CN 108205423A
- Authority
- CN
- China
- Prior art keywords
- data
- physical
- physical block
- hard disk
- erasing times
- 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 67
- 238000005299 abrasion Methods 0.000 title claims abstract description 55
- 238000013500 data storage Methods 0.000 claims abstract description 25
- 238000003860 storage Methods 0.000 claims description 216
- 238000013507 mapping Methods 0.000 claims description 71
- 238000012795 verification Methods 0.000 claims description 69
- 238000012937 correction Methods 0.000 claims description 35
- 230000005540 biological transmission Effects 0.000 claims description 8
- 238000012360 testing method Methods 0.000 claims description 7
- 238000013461 design Methods 0.000 description 20
- 238000010586 diagram Methods 0.000 description 12
- 238000004590 computer program Methods 0.000 description 7
- 238000012986 modification Methods 0.000 description 7
- 230000004048 modification Effects 0.000 description 7
- 238000012545 processing Methods 0.000 description 5
- 239000007787 solid Substances 0.000 description 5
- 238000006243 chemical reaction Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 239000013256 coordination polymer Substances 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000005055 memory storage Effects 0.000 description 3
- 238000003491 array Methods 0.000 description 2
- 238000000151 deposition Methods 0.000 description 2
- 238000013519 translation Methods 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000010304 firing Methods 0.000 description 1
- 230000001771 impaired effect Effects 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012856 packing Methods 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0674—Disk device
- G06F3/0676—Magnetic disk device
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
- G06F11/1048—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using arrangements adapted for a specific error detection or correction feature
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
- G06F11/1068—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in sector programmable memories, e.g. flash disk
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
- G06F3/0616—Improving the reliability of storage systems in relation to life time, e.g. increasing Mean Time Between Failures [MTBF]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/0652—Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Quality & Reliability (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本申请公开了一种物理硬盘磨损均衡方法、装置及系统,用以解决现有技术中存在的SSD磨损均衡结果准确性较低的问题。所述方法包括:控制器确定待写入数据的逻辑地址,并确定第二物理硬盘中的第二物理块;其中,所述第二物理块的擦除次数小于所述第一物理块的擦除次数、且在所述N个物理硬盘中所述第二物理硬盘中的第二物理块的擦除次数与所述第一物理块的擦除次数差值最大;在确定所述第一物理块对应的擦除次数与位于第二物理硬盘中的第二物理块的擦除次数的差值大于预设阈值时,所述控制器将所述第一物理块中存储的数据与所述第二物理块中存储的数据进行交换,并将所述待写入数据存储到所述第二物理块中。
Description
技术领域
本申请涉及存储技术领域,特别涉及一种物理硬盘磨损均衡方法、装置及系统。
背景技术
固态磁盘(英文:Solid State Disk,简称:SSD)由于其优越的性能,逐渐替换传统的磁盘,越来越多地应用于存储领域。第5代冗余磁盘阵列(英文:Redundant Arrays ofInexpensive Disks 5,简称:RAID5)是存储领域常见的一种数据存储技术,提高了硬盘的读写性能和数据安全性。因此将RAID5应用于SSD,可以有效的提高SSD的读写性能和数据安全性。
以图1所示的物理硬盘0至物理硬盘3组成的RAID 5为例对RAID5应用于固态磁盘的方法进行说明。其中,A1-AP位于同一个条带,B1-BP位于同一个条带,C1-CP位于同一个条带,D1-DP位于同一个条带,并且A1-A3,B1-B3,C1-C3,D1-D3均为RAID 5中存储的数据,AP为A1,A2和A3的校验码,BP为B1,B2和B3的校验码,CP为C1,C2和C3的校验码,DP为D1,D2和D3的校验码。当RAID5中的一个SSD存储的数据损坏后,假设为物理硬盘0中的A1,可以利用剩下物理硬盘中存储的数据和相应的校验码恢复被损坏的数据,即利用数据A2、A3和校验码AP对A1进行恢复,具体的,A1=A2xor A3xor AP。
如果RAID5中SSD中存储的数据经常更新,会导致擦除次数较多,磨损比较严重。通常情况下,RAID5中的每一个SSD的数据更新频率不同,因此,RAID5中的SSD磨损不均衡。为确保RAID5中的每个SSD被擦除的次数相当,需要针对RAID5中的各个SSD进行磨损均衡。
其中,RAID5包括至少3个SSD。RAID 5把数据和相对应的校验码存储到组成RAID5的各个SSD上,并且校验码和相对应的数据分别存储于不同的SSD上。
现有技术中,常用的磨损均衡方法为将RAID5中修改次数超过阈值的校验码与修改次数最小的校验码交换存储位置以对各个SSD的磨损进行均衡,但是现有技术仅对各个SSD中校验码所在的存储区域进行了均衡,并且用校验码的修改次数代表SSD的磨损程度准确性较低,因此基于RAID5中各个SSD上校验码的修改次数对各个SSD进行磨损均衡得到的均衡结果准确性较低,RAID5中SSD磨损依旧不均衡。
发明内容
本申请实施例提供一种物理硬盘磨损均衡方法、装置及系统,用以解决现有技术中存在的固态磁盘磨损均衡结果准确性较低的问题。
第一方面,本发明实施例提供了一种物理硬盘磨损均衡方法,所述方法应用于盘间RAID系统,所述盘间RAID系统中包括N个物理硬盘,所述方法包括:
控制器确定待写入数据的逻辑地址,并根据所述待写入数据的逻辑地址对应的第一物理硬盘中的第一物理块的擦除次数、以及其它物理硬盘中与所述第一物理块位于同一条带内的物理块的擦除次数,确定第二物理硬盘中的第二物理块。然后在确定所述第一物理块对应的擦除次数与位于第二物理硬盘中的第二物理块的擦除次数的差值大于预设阈值时,所述控制器将所述第一物理块中存储的数据与所述第二物理块中存储的数据进行交换。在将数据进行交换之后,将所述待写入数据存储到所述第二物理块中。
其中,所述第二物理块的擦除次数小于所述第一物理块的擦除次数、且在所述N个物理硬盘中所述第二物理硬盘中的第二物理块的擦除次数与所述第一物理块的擦除次数差值最大。
本申请实施例在盘间RAID系统中写入数据时,通过将待写入数据的逻辑地址对应的第一物理块中存储的数据与第二物理块中存储的数据进行交换,所述第二物理块的擦除次数小于第一物理块的擦除次数,并且所述第二物理块的擦除次数小于所述第一物理块的擦除次数、且在所述N个物理硬盘中所述第二物理硬盘中的第二物理块的擦除次数与所述第一物理块的擦除次数差值最大,然后将待写入数据存储到第二物理块中,相比于现有技术中将修改次数大于阈值的校验码与修改次数最小的校验码交换存储位置以对各个物理块的磨损进行均衡,本申请实施例基于物理块的擦除次数对各个物理块的进行均衡,提高了物理块磨损均衡的准确性,使得同一条带内的每个物理块被擦除的次数相当,各个物理块的磨损均衡。
在一种可能的设计中,所述控制器获取所述待写入数据的逻辑地址对应的第一物理硬盘中的第一物理块的擦除次数,包括:
所述控制器根据第一映射表获取所述待写入数据的逻辑地址对应的第一物理块的逻辑地址;所述第一映射表用于记录数据的逻辑地址与物理块的逻辑地址之间的映射关系;
所述控制器根据第二映射表获取所述第一物理块的逻辑地址对应的所述第一物理块的擦数次数,所述第二映射表用于记录物理块的逻辑地址与物理块的擦除次数的映射关系。
通过上述设计,通过采用映射表记录数据的逻辑地址与物理块的逻辑地址之间的映射关系以及物理块的逻辑地址与物理块的擦除次数的映射关系,可以快速准确的获取待写入数据的逻辑地址对应的第一物理硬盘中的第一物理块的擦除次数。
在一种可能的设计中,所述方法还包括:
所述控制器在获取所述待写入数据的逻辑地址对应的第一物理块的擦除次数失败时,在所述第二映射表中创建所述第一物理块的逻辑地址与所述第一物理块的擦除次数的映射关系,并将所述第一物理块的擦除次数记录为零。
通过上述设计,所述控制器在获取所述待写入数据的逻辑地址对应的第一物理块的擦除次数失败时,创建所述第一物理块的逻辑地址与所述第一物理块的擦除次数的映射关系,可以及时记录物理块的擦除次数,确定物理块的磨损状况。
在一种可能的设计中,所述控制器将所述第一物理块中存储的数据与所述第二物理块中存储的数据进行交换后,所述方法还包括:
所述控制器将所述第一物理块的擦除次数以及第二物理块的擦除次数分别进行更新。
通过上述设计,在将所述第一物理块中存储的数据与所述第二物理块中存储的数据进行交换后,及时对所述第一物理块的擦除次数以及第二物理块的擦除次数分别进行更新,提高了记录物理块的擦除次数的第二映射表的实时性以及准确性。
其中,所述控制器将所述第一物理块中存储的数据与所述第二物理块中存储的数据进行交换后,所述控制器在所述第一映射表中将所述待写入数据的逻辑地址与所述第一物理块的物理地址的映射关系删除,并记录所述待写入数据的逻辑地址与所述第二物理块的物理地址的映射关系。
第二方面,本申请实施例提供了一种物理硬盘磨损均衡方法,其特征在于,所述方法包括:
物理硬盘接收读数据指令,所述读数据指令用于指示待读取数据存储在所述物理硬盘中的第一存储区域;然后根据所述读数据指令,从所述第一存储区域读取所述待读取数据,并对所述待读取数据进行纠错码(英文:Error Correcting Code,简称:ECC)校验得到校验结果,所述校验结果中包括所述待读取数据中存在比特bit错误的bit数量;
当确定所述校验结果指示所述bit数量大于第一阈值时,所述物理硬盘获取所述第一存储区域的擦除次数;
当确定所述擦除次数大于第二阈值时,所述物理硬盘将所述第一存储区域的校验方式由ECC校验切换为盘内RAID校验。
本申请实施例通过采用ECC校验和盘内RAID校验自动切换的方式,擦除次数少的存储区域的校验方式为ECC校验,擦除次数多的存储区域的校验方式由ECC校验切换为盘内RAID校验,相比于现有技术中存储区域采用ECC校验的方式,本申请实施例在减少了数据校验开销的同时,保证了数据可靠性。
在一种可能的设计中,所述方法还包括:
当确定所述校验结果指示所述bit数量小于或等于所述第一阈值时,所述物理硬盘根据所述ECC对所述待读取数据中存在bit错误的数据进行纠正得到纠正后的数据,并将所述纠正后的数据存储到所述第一存储区域中。
通过上述设计,在所述bit数量小于或等于所述第一阈值时,物理硬盘根据所述ECC对所述待读取数据中存在bit错误的数据进行纠正,节省了数据校验时的开销。
在一种可能的设计中,所述方法还包括:
当确定所述校验结果指示所述bit数量大于第一阈值时,所述物理硬盘向用于控制所述物理硬盘的控制器发送数据重构指令,所述数据重构指令携带所述待读取数据、且用于指示所述控制器对所述待读取数据进行重构;
所述物理硬盘接收所述控制器发送的重构后的所述待读取数据,并将重构后的所述待读取数据存储到所述第一存储区域中。
当确定所述校验结果指示所述bit数量大于第一阈值时,通过指示控制所述物理硬盘的控制器对待读取数据进行重构,保证了数据的可靠性,延长了物理硬盘的使用寿命。
在一种可能的设计中,所述方法还包括:
当确定所述擦除次数小于或等于所述第二阈值时,所述物理硬盘获取所述第一存储区域的错误次数,所述错误次数为在向所述第一存储区域存储数据的过程中,存入的数据出现bit错误的bit数量大于所述第一阈值的次数;
当确定所述错误次数大于第三阈值时,所述物理硬盘将所述第一存储区域的校验方式由ECC校验切换为盘内RAID校验。
此外,当所述错误次数次小于第三阈值时,所述物理硬盘根据所述ECC对所述待读取数据中存在bit错误的数据进行纠正得到纠正后的数据,并将所述纠正后的数据存储到所述第一存储区域中。
上述设计,通过将存储区域的校验方式由ECC校验切换为盘内RAID校验,保证了数据的可靠性,减少了数据校验的开销。
在一种可能的设计中,所述方法还包括:
当确定所述错误次数大于第三阈值时,所述物理硬盘将所述第一存储区域、存储所述第一存储区域所对应的数据的纠错码的第二存储区域、以及与所述第一存储区域不相邻且校验方式为ECC校验的至少一个存储区域,组成一个盘内RAID系统;
所述盘内RAID系统用于针对所述第一存储区域的数据执行盘内RAID校验。
上述设计,通过将磨损严重的第一存储区域与磨损较少且与第一存储区域不相邻的至少一个存储区域组成一个盘内RAID系统,使得第一存储区域的数据可以根据磨损较少且与第一存储区域不相邻的至少一个存储区域进行恢复,保证了数据的可靠性。
第三方面,本申请实施例提供一种物理硬盘磨损均衡装置,其特征在于,所述装置应用于盘间冗余磁盘阵列系统,所述盘间冗余磁盘阵列系统中包括N个物理硬盘,所述装置用于对所述N个物理硬盘进行控制,所述装置包括:
内存转换(英文:Flash translation layer,简称:FTL)模块,用于记录N个物理硬盘中每个物理块的物理地址以及每个物理块对应的擦除次数;
控制模块,用于确定待写入数据的逻辑地址,并根据所述FTL模块中获取所述待写入数据的逻辑地址对应的第一物理硬盘中的第一物理块的擦除次数、以及在其它物理硬盘中与所述第一物理块位于同一条带内的物理块的擦除次数,确定第二物理硬盘中的第二物理块;在确定所述第一物理块对应的擦除次数与位于第二物理硬盘中的第二物理块的擦除次数的差值大于预设阈值时,将所述第一物理块中存储的数据与所述第二物理块中存储的数据进行交换;并将所述待写入数据存储到所述第二物理块中;其中,所述第二物理块的擦除次数小于所述第一物理块的擦除次数、且在所述N个物理硬盘中所述第二物理硬盘中的第二物理块的擦除次数与所述第一物理块的擦除次数差值最大。
在一种可能的设计中,所述控制模块,在所述FTL模块中获取所述待写入数据的逻辑地址对应的第一物理硬盘中的第一物理块的擦除次数时,具体用于:
根据所述FTL模块中存储的第一映射表获取所述待写入数据的逻辑地址对应的第一物理块的逻辑地址;所述第一映射表用于记录数据的逻辑地址与物理块的逻辑地址之间的映射关系;
根据所述FTL模块中存储的第二映射表获取所述第一物理块的逻辑地址对应的所述第一物理块的擦数次数,所述第二映射表用于记录物理块的逻辑地址与物理块的擦除次数的映射关系。
在一种可能的设计中,所述控制模块,还用于在所述FTL模块中获取所述待写入数据的逻辑地址对应的第一物理块的擦除次数失败时,在所述FTL模块中存储的所述第二映射表中创建所述第一物理块的逻辑地址与所述第一物理块的擦除次数的映射关系,并在所述FTL模块中将所述第一物理块的擦除次数记录为零。
在一种可能的设计中,所述控制模块将所述第一物理块中存储的数据与所述第二物理块中存储的数据进行交换后,还用于:
将所述FTL模块中记录的所述第一物理块的擦除次数以及第二物理块的擦除次数分别进行更新。
第四方面,本申请实施例提供一种磨损均衡装置,其特征在于,所述装置包括闪存FLASH模块、FTL模块、控制模块以及校验模块,其中:
所述FLASH模块,用于存储数据,其中,所述FLASH模块包括多个存储区域;
所述FTL模块,用于记录所述FLASH模块的多个存储区域中每个存储区域对应的擦除次数;
所述控制模块,用于接收读数据指令,所述读数据指令用于指示待读取数据存储在所述FLASH模块中的第一存储区域;根据所述读数据指令,从所述第一存储区域读取所述待读取数据,并指示所述校验模块对所述待读取数据进行纠错码ECC校验;
所述校验模块,基于所述控制模块的指示,对所述控制模块读取的待读取数据进行校验得到校验结果,所述校验结果中包括所述待读取数据中存在比特bit错误的bit数量;
所述控制模块,还用于在确定所述校验模块得到的所述校验结果指示所述bit数量大于第一阈值时,在所述FTL模块中获取所述第一存储区域的擦除次数;当确定所述擦除次数大于第二阈值时,指示所述校验模块将所述第一存储区域的校验方式由ECC校验切换为盘内冗余磁盘阵列RAID校验;
所述校验模块,还用于在所述控制模块指示下,将所述第一存储区域的校验方式由ECC校验切换为盘内RAID校验。
在一种可能的设计中,所述控制模块,还用于在确定所述校验模块得到的所述校验结果指示所述bit数量小于或等于所述第一阈值时,根据所述ECC对所述待读取数据中存在bit错误的数据进行纠正得到纠正后的数据,并将所述纠正后的数据存储到所述FLASH模块中的所述第一存储区域中。
在一种可能的设计中,所述控制模块,还用于在确定所述校验模块得到的所述校验结果指示所述bit数量大于第一阈值时,向用于控制所述装置的控制器发送数据重构指令,所述数据重构指令携带所述待读取数据、且用于指示所述控制器对所述待读取数据进行重构;并在接收到所述控制器发送的重构后的所述待读取数据时,将重构后的所述待读取数据存储到所述FLASH模块中的所述第一存储区域中。
在一种可能的设计中,所述FTL模块,还用于记录所述FLASH模块的多个存储区域中每个存储区域对应的错误次数,所述错误次数为在向所述第一存储区域存储数据的过程中,存入的数据出现bit错误的bit数量大于所述第一阈值的次数;
所述控制模块,还用于在确定所述擦除次数小于或等于所述第二阈值时,在所述FTL模块中获取所述第一存储区域的错误次数;并在确定所述错误次数大于第三阈值时,指示所述校验模块将所述第一存储区域的校验方式由ECC校验切换为盘内RAID校验。
在一种可能的设计中,当确定所述错误次数大于第三阈值时,所述控制模块还用于将所述FTL模块中的所述第一存储区域、用于存储所述第一存储区域所对应的数据的纠错码的第二存储区域、以及与所述第一存储区域不相邻且校验方式为ECC校验的至少一个存储区域,组成一个盘内RAID系统;
所述校验模块基于所述盘内RAID系统中存储的数据针对所述第一存储区域的数据执行盘内RAID校验。
第五方面,本申请实施例提供一种物理硬盘磨损均衡系统,其特征在于,包括一个控制器,以及N个物理硬盘,其中:
所述控制器,用于执行第一方面所述的方法;
每个物理硬盘,用于执行第二方面所述的方法。
本申请实施例在盘间RAID系统中写入数据时,通过将待写入数据的逻辑地址对应的第一物理块中存储的数据与第二物理块中存储的数据进行交换,所述第二物理块的擦除次数小于第一物理块的擦除次数,并且所述第二物理块的擦除次数小于所述第一物理块的擦除次数、且在所述N个物理硬盘中所述第二物理硬盘中的第二物理块的擦除次数与所述第一物理块的擦除次数差值最大,然后将待写入数据存储到第二物理块中,相比于现有技术中将修改次数大于阈值的校验码与修改次数最小的校验码交换存储位置以对各个物理块的磨损进行均衡,本申请实施例基于物理块的擦除次数对各个物理块的进行均衡,提高了物理块磨损均衡的准确性,使得同一条带内的每个物理块被擦除的次数相当,各个物理块的磨损均衡。
附图说明
图1为现有技术中盘间RAID5系统的结构示意图;
图2为本申请实施例提供的一种物理硬盘磨损均衡系统的结构示意图;
图3为本申请实施例提供的一种物理硬盘磨损均衡方法的流程图;
图4为本申请实施例提供的一种物理硬盘磨损均衡方法的流程图;
图5为本申请实施例提供的一种物理硬盘磨损均衡方法的流程图;
图6为本申请实施例提供的另一种物理硬盘磨损均衡方法的流程图;
图7为本申请实施例提供的一种物理硬盘磨损均衡方法的流程图;
图8为本申请实施例提供的一种物理硬盘磨损均衡装置的结构示意图;
图9为本申请实施例提供的另一种物理硬盘磨损均衡装置的结构示意图。
具体实施方式
下面将结合附图对本申请作进一步地详细描述。
本申请实施例提供一种物理硬盘磨损均衡方法、装置及系统,用以解决现有技术中存在的固态磁盘磨损均衡结果准确性较低的问题。其中,方法和装置是基于同一发明构思的,由于方法及装置解决问题的原理相似,因此装置与方法的实施可以相互参见,重复之处不再赘述。
参见图2所示,为本申请实施例提供的一种物理硬盘磨损均衡系统20,该系统包括一个控制器21,以及N个物理硬盘,图2中以N等于3为例,3个物理硬盘分别为22a、22b以及22c。所述物理硬盘可以为SSD,也可以为SSD磁盘框(英文:Just Bundle Of Disks,简称:JBOD),也可以为SSD闪存阵列。
所述控制器21,用于对所述N个物理硬盘进行控制,并在接收到数据时,将接收到的数据存储到所述N个物理硬盘中的至少一个物理硬盘中。
每个物理硬盘,用于存储接收到的所述控制器21发送的数据,以及在接收到读数据指令时对待读取的数据进行校验。
其中,每个物理硬盘分别通过PCIe总线与总线交换器PCIe Switch 23相连,PCIeSwitch 23通过PCIe总线与控制器21相连,控制器21通过PCIe总线与服务器主板24相连。PCIe总线在图2中仅用一条粗线表示。
为了使得本申请的实施例更容易被理解,下面,首先对本申请的实施例中涉及的一些描述加以说明,这些说明不应视为对本申请所要求的保护范围的限定。
条带:一个条带把排列的多个磁盘横向切成了一条一条的,硬盘本身相当于竖条,而横条和竖条切开之后形成的小格子就是物理块,如图1的A1、A2、B1等均为一个物理块。其中一个物理块中包括多个存储区域,即多个FLASH页。以图1所示的盘间RAID5系统为例对条带进行解释,在图1所示的物理硬盘0至物理硬盘3组成的盘间RAID 5系统中,A1-AP位于同一个条带,B1-BP位于同一个条带,C1-CP位于同一个条带,D1-DP位于同一个条带。
盘内RAID:将物理硬盘中所有的存储区域组成一个盘内RAID,其中一个存储区域用于存储盘内RAID校验码,其余存储区域用于存储写入的数据,当任一存储区域出现错误时,可以利用其它存储区域进行恢复。假设,一个物理硬盘中包括2个物理块,分别为a和b,其中每个物理块2个存储区域,分别为a1,a2,b1,b2,其中,a1,a2,b1分别用于存储写入的数据,b2用于存储盘内RAID校验码。
盘间RAID:由M个物理硬盘组成,并将所述M个物理硬盘分成至少一个条带。针对每个条带,一个物理块用于存储盘间RAID校验码,其余的物理块用于存储写入的数据。当任一物理块出现错误时,可以利用同一条带内其它物理块进行恢复。
ECC校验:即为在数据存储位上增加一个存储位用于存储一个用数据加密的代码,即为ECC。当数据被写入物理硬盘时,会生成所述写入的数据所对应的ECC,并保存。当读取所述写入的数据时,保存下来的ECC就会和基于读到数据使用预设算法产生的ECC做比较,若相同,则数据没有出现错误,若不相同,则不相同的部分在所述写入的数据中对应的数据位出现错误。如果在ECC校验过程中的两个ECC不相同,则根据保存下来的ECC确定数据中不正确的数据位,再根据保存下来的ECC纠正数据。
盘间RAID校验:当数据被写入某一条带内的一个物理块时,生成条带内的数据对应的盘间RAID校验码,并且盘间RAID校验码被存储到条带内的其它用于存储盘间RAID校验码的物理块中。当读取某一物理块中存储的数据时,保存下来的盘间RAID校验码就会和基于待读数据产生的盘间RAID校验码进行比较,若相同,则数据没有出现错误,若不相同,则数据存在错误。
盘间RAID校验码可以通过如下方式确定:
AP=AP1xor AP2xor……xor APn;
其中,AP为同一条带内各个物理块中存储的数据的盘间RAID校验码,AP1至APn分别为该条带内各个物理块中存储的数据,n为该条带中用于存储写入的数据的物理块的数量。
盘内RAID校验:当数据被写入某一物理硬盘的一个存储区域时,生成物理硬盘内的数据对应的盘内RAID校验码,并且盘内RAID校验码被存储到物理硬盘内的其它用于存储盘内RAID校验码的存储区域中。当读取某一存储区域中存储的数据时,保存下来的盘内RAID校验码就会和基于待读数据产生的盘内RAID校验码进行比较,若相同,则数据没有出现错误,若不相同,则数据存在错误。
比如:盘内RAID校验码可以通过如下方式确定:
BP=BP1xor BP2xor……xor BPm;
其中,BP为物理硬盘中各个存储区域中存储的数据的盘内RAID校验码,BP1至BPn分别为该物理硬盘内各个存储区域中存储的数据,m为该物理硬盘中用于存储写入的数据的存储区域的数量。
数据重构:针对盘间RAID系统,同一条带的任一物理块出现错误时,根据该条带内的其他物理块对该错误数据进行重构,例如,b1,b2,b3,b4处于同一个条带,当b3出现错误时,通过b1,b2,b4对b3进行恢复,具体为b3=b1xor b2xor b4。
下面结合附图对本申请优选的实施方式进行详细说明。
参阅图3所示,为本申请实施例提供的一种物理硬盘磨损均衡方法的流程图,所述方法可以应用于盘间RAID系统,所述盘间RAID系统中包括N个物理硬盘,所述方法具体可以由图2所示的控制器21执行,具体可以包括如下:
S301,控制器确定待写入数据的逻辑地址。
其中,在所述控制器确定待写入数据的逻辑地址之前,所述控制器接收到数据,当确定接收到的数据的数量大于所述条带内的任一物理块的存储空间大小时,所述控制器将所述接收到的数据划分成至少一个待写入数据,所述待写入数据所占的存储空间大小等于所述物理块的存储空间大小。
S302,所述控制器根据所述待写入数据的逻辑地址对应的第一物理硬盘中的第一物理块的擦除次数、以及其它物理硬盘中与所述第一物理块位于同一条带内的物理块的擦除次数,确定第二物理硬盘中的第二物理块。
其中,所述第二物理块的擦除次数小于所述第一物理块的擦除次数、且在所述N个物理硬盘中所述第二物理硬盘中的第二物理块的擦除次数与所述第一物理块的擦除次数差值最大。
需要说明的是,所述N个物理硬盘中位于同一条带内的物理块的存储空间大小可以为1024kb。
S303,所述控制器在确定所述第一物理块对应的擦除次数与位于第二物理硬盘中的第二物理块的擦除次数的差值大于预设阈值时,所述控制器将所述第一物理块中存储的数据与所述第二物理块中存储的数据进行交换。
其中,所述控制器将所述第一物理块中存储的数据与所述第二物理块中存储的数据进行交换,具体可以通过如下方式实现:
所述控制器将所述第一物理块中存储的数据进行复制并保存在所述第一物理硬盘中的数据缓存区中,并将所述第二物理块中存储的数据进行复制并保存在所述第二物理硬盘中的数据缓存区中。然后分别对所述第一物理块和所述第二物理块进行擦除。最后将复制的所述第二物理块中存储的数据从所述第二物理硬盘中的数据缓存区传输到所述第一物理块中,并将复制的所述第一物理块中存储的数据从所述第一物理硬盘中的数据缓存区传输到所述第一物理块中。
S304,所述控制器将所述待写入数据存储到所述第二物理块中。
本申请实施例在盘间RAID系统中写入数据时,通过将待写入数据的逻辑地址对应的第一物理块中存储的数据与第二物理块中存储的数据进行交换,所述第二物理块的擦除次数小于第一物理块的擦除次数,并且所述第二物理块的擦除次数小于所述第一物理块的擦除次数、且在所述N个物理硬盘中所述第二物理硬盘中的第二物理块的擦除次数与所述第一物理块的擦除次数差值最大,然后将待写入数据存储到第二物理块中,相比于现有技术中将修改次数大于阈值的校验码与修改次数最小的校验码交换存储位置以对各个物理块的磨损进行均衡,本申请实施例基于物理块的擦除次数对各个物理块的进行均衡,提高了物理块磨损均衡的准确性,使得同一条带内的每个物理块被擦除的次数相当,各个物理块的磨损均衡。
参见图4所示,为本申请实施例提供的另一种物理硬盘磨损均衡方法的流程图。该物理硬盘磨损均衡方法包括:
S401,控制器接收数据包。
S402,控制器将接收到的数据包划分成至少一个待写入数据。
针对每一个待写入数据,执行如下步骤:
S403,控制器确定待写入数据的逻辑地址。
S404,控制器查询是否存在所述待写入数据的逻辑地址对应的第一物理硬盘中的第一物理块的擦除次数;若是,执行S405;若否,执行S408。
其中,所述控制器查询是否存在所述待写入数据的逻辑地址对应的第一物理硬盘中的第一物理块的擦除次数时,具体可以通过如下方式实现:
A1,所述控制器根据第一映射表获取所述待写入数据的逻辑地址对应的第一物理块的逻辑地址;所述第一映射表用于记录数据的逻辑地址与物理块的逻辑地址之间的映射关系。
A2,所述控制器在第二映射表中查询是否存在所述第一物理块的逻辑地址对应的所述第一物理块的擦数次数,所述第二映射表用于记录物理块的逻辑地址与物理块的擦除次数的映射关系。
通过采用映射表记录数据的逻辑地址与物理块的逻辑地址之间的映射关系以及物理块的逻辑地址与物理块的擦除次数的映射关系,可以快速准确的获取待写入数据的逻辑地址对应的第一物理硬盘中的第一物理块的擦除次数。
S405,控制器确定第二物理硬盘中的第二物理块。
其中,所述第二物理块的擦除次数小于所述第一物理块的擦除次数、且在所述N个物理硬盘中所述第二物理硬盘中的第二物理块的擦除次数与所述第一物理块的擦除次数差值最大。
例如,以N等于4为例,所述4个物理硬盘中所述第一物理块所在的条带中包括:所述第一物理块、物理块a、物理块b和物理块c,其中,第一物理块的擦除次数为5,所述物理块a的擦除次数为1,物理块b的擦除次数为7,物理块c的擦除次数为3。物理块a、物理块b和物理块c分别与所述第一物理块的擦除次数差值为4、2、2。可以看出,物理块a的擦除次数为1小于所述第一物理块的擦除次数,且物理块a与所述第一物理块的擦除次数差值最大,因此控制器确定第二物理硬盘中的第二物理块为物理块a。
S406,所述控制器将所述第一物理块中存储的数据与所述第二物理块中存储的数据进行交换。
具体的,所述控制器在确定所述第一物理块对应的擦除次数与位于第二物理硬盘中的第二物理块的擦除次数的差值大于预设阈值时,所述控制器将所述第一物理块中存储的数据与所述第二物理块中存储的数据进行交换。
S407,所述控制器将所述待写入数据存储到所述第二物理块中。
S408,控制器创建所述第一物理块的逻辑地址与所述第一物理块的擦除次数的映射关系,并将所述第一物理块的擦除次数记录为零。
所述控制器在获取所述待写入数据的逻辑地址对应的第一物理块的擦除次数失败时创建所述第一物理块的逻辑地址与所述第一物理块的擦除次数的映射关系,可以及时记录物理块的擦除次数,确定物理块的磨损状况。
可选的,在执行完步骤S406所述控制器将所述第一物理块中存储的数据与所述第二物理块中存储的数据进行交换之后,还可以执行S407a。
S407a,控制器更新所述第一物理块的擦除次数以及第二物理块的擦除次数。
其中,S407a与S407执行的先后顺序,本申请实施例中不作具体限定。
在将所述第一物理块中存储的数据与所述第二物理块中存储的数据进行交换后及时对所述第一物理块的擦除次数以及第二物理块的擦除次数分别进行更新,提高了记录物理块的擦除次数的第二映射表的实时性以及准确性。
可选的,在执行完S407所述控制器将所述待写入数据存储到所述第二物理块中之后,所述控制器还可以执行S409。
S409,控制器中删除所述待写入数据的逻辑地址与所述第一物理块的物理地址的映射关系,并记录所述待写入数据的逻辑地址与所述第二物理块的物理地址的映射关系。
在一种可能的实施方式中,步骤S407所述控制器将所述待写入数据存储到所述第二物理块中,从而包括所述第二物理块的物理硬盘执行数据写入过程,具体可以通过如下方式实现,参见图5所示:
S501,物理硬盘接收待写入数据。
具体的,所述第二物理块所在的物理硬盘接收所述待写入数据;
S502,物理硬盘将待写入数据划分成至少一个待写入子数据。
其中,所述待写入子数据的大小可以为4kb。
针对每一个待写入子数据,执行如下步骤:
S503,物理硬盘查询是否存在空闲存储区域;若是,执行S505;若否,执行S504。
需要说明的是,所述存储区域的大小可以为4kb。
S504,物理硬盘将标记为废弃状态的存储区域中存储的数据擦除,并向所述控制器发送擦除次数更新指令。
其中,所述擦除次数更新指令用于指示所述控制器将包括所述标记废弃状态的存储区域的物理块的擦除次数更新。所述擦除次数更新指令还可以携带所述标记为废弃状态的存储区域的物理地址。
具体的,物理硬盘将标记为废弃状态的存储区域中存储的数据擦除,包括:
物理硬盘将包括所述标记为废弃状态的存储区域的物理块中存储的有效数据复制得到复制后的有效数据,并所述复制后的有效数据保存到物理硬盘的数据缓存区中。然后将所述包括标记为废弃状态的存储区域的物理块中存储的数据擦除,再将所述复制后的有效数据对应的保存在原来的存储区域中。
S505,物理硬盘获取所述物理硬盘包括所有存储区域中擦除次数最少且空闲的存储区域。
S506,物理硬盘将所述待写入子数据存储到擦除次数最小且空闲的存储区域。
S507,物理硬盘在第三映射表中查询是否存在所述待写入子数据的逻辑地址与存储区域的物理地址的映射关系;若是,执行S508;若否,执行S510。
其中,所述第三映射表用于记录数据的逻辑地址与存储区域的逻辑地址之间的映射关系。
需要说明的是,存储区域的逻辑地址与存储区域的物理地址之间存在映射关系,并且映射关系并不是一成不变。当待写入数据由存储区域1更换到存储区域2时,存储区域1的第一逻辑地址与存储区域1的物理地址之间的映射关系被解除,并建立第一逻辑地址与存储区域2的物理地址的映射关系。
S508,物理硬盘删除第三映射表中记录的所述待写入子数据的逻辑地址与存储区域的物理地址的映射关系,并在所述第三映射表中创建所述待写入子数据的逻辑地址与所述擦除次数最小且空闲的存储区域的物理地址的映射关系。
S509,物理硬盘将所述待写入子数据根据所述删除的映射关系对应的存储区域标记为废弃状态。
S510,所述物理硬盘创建所述待写入子数据的逻辑地址与所述擦除次数最小且空闲的存储区域的物理地址的映射关系。
参阅图6所示,为本申请实施例提供的另一种物理硬盘磨损均衡方法的流程图,该方法可以由图2所示的任一物理硬盘执行,该方法具体可以包括如下:
S601,物理硬盘接收读数据指令,所述读数据指令用于指示待读取数据存储在所述物理硬盘中的第一存储区域。
S602,所述物理硬盘根据所述读数据指令,从所述第一存储区域读取所述待读取数据,并对所述待读取数据进行纠错码ECC校验得到校验结果,所述校验结果中包括所述待读取数据中存在比特bit错误的bit数量。
S603,当确定所述校验结果指示所述bit数量大于第一阈值时,所述物理硬盘获取所述第一存储区域的擦除次数。
S604,当确定所述擦除次数大于第二阈值时,所述物理硬盘将所述第一存储区域的校验方式由ECC校验切换为盘内冗余磁盘阵列RAID校验。
本申请实施例通过采用ECC校验和盘内RAID校验自动切换的方式,擦除次数少的存储区域的校验方式为ECC校验,擦除次数多的存储区域的校验方式由ECC校验切换为盘内RAID校验,相比于现有技术中存储区域采用ECC校验的方式,本申请实施例在减少了数据校验开销的同时,保证了数据可靠性。
参见如图7所示,为本申请实施例提供的一种物理硬盘磨损均衡方法的流程图,该方法可以由图2所示的任一物理硬盘执行,该方法包括。
S701,物理硬盘接收读数据指令。
其中,所述读数据指令用于指示待读取数据存储在所述物理硬盘中的第一存储区域。
S702,所述物理硬盘根据所述读数据指令,从所述第一存储区域读取所述待读取数据。
S703,物理硬盘对所述待读取数据进行纠错码ECC校验得到校验结果。
其中,所述校验结果中包括所述待读取数据中存在比特bit错误的bit数量。
S704,物理硬盘判断所述校验结果指示所述bit数量是否大于第一阈值;若是,执行S706;若否,执行S705。
S705,物理硬盘根据所述ECC对所述待读取数据中存在bit错误的数据进行纠正得到纠正后的数据,并将所述纠正后的数据存储到所述第一存储区域中。
当所述bit数量小于或等于所述第一阈值时,物理硬盘根据所述ECC对所述待读取数据中存在bit错误的数据进行纠正,节省了数据校验时的开销。
S706,物理硬盘获取所述第一存储区域的擦除次数。
S707,物理硬盘判断所述擦除次数是否大于第二阈值;若是,执行S709;若否,执行S708。
S708,物理硬盘判断所述第一存储区域的错误次数是否大于第三阈值;若是,执行S709;若否,执行S705。
其中,所述错误次数为在向所述第一存储区域存储数据的过程中,存入的数据出现bit错误的bit数量大于所述第一阈值的次数
S709,物理硬盘将所述第一存储区域的校验方式由ECC校验切换为盘内冗余磁盘阵列RAID校验。
通过将存储区域的校验方式由ECC校验切换为盘内RAID校验,保证了数据的可靠性,减少了数据校验的开销。
可选的,在执行完S706物理硬盘获取所述第一存储区域的擦除次数之后,执行S706a。
S706a,物理硬盘向用于控制所述物理硬盘的控制器发送数据重构指令。
其中,所述数据重构指令携带所述待读取数据、且用于指示所述控制器对所述待读取数据进行重构。
S706b,物理硬盘接收所述控制器发送的重构后的所述待读取数据,并将重构后的所述待读取数据存储到所述第一存储区域中。
当确定所述校验结果指示所述bit数量大于第一阈值时,通过指示控制所述物理硬盘的控制器对待读取数据进行重构,保证了数据的可靠性,延长了物理硬盘的使用寿命。
可选的,在执行完S709物理硬盘将所述第一存储区域的校验方式由ECC校验切换为盘内冗余磁盘阵列RAID校验之后,执行S710。
S710,所述物理硬盘将、存储所述第一存储区域所对应的数据的纠错码的第二存储区域、以及与所述第一存储区域不相邻且校验方式为ECC校验的至少一个存储区域,组成一个盘内RAID系统。
可选的,在执行完S710所述物理硬盘将所述第一存储区域、存储所述第一存储区域所对应的数据的纠错码的第二存储区域、以及与所述第一存储区域不相邻且校验方式为ECC校验的至少一个存储区域,组成一个盘内RAID系统之后,执行S711。
S711,在所述第一存储区域中存储的数据出现错误时,物理硬盘通过利用所述第二存储区域、以及与所述第一存储区域不相邻且校验方式为ECC校验的至少一个存储区域中存储的数据对所述第一存储区域中存储的数据进行恢复。
通过将磨损严重的第一存储区域与磨损较少且与第一存储区域不相邻的至少一个存储区域组成一个盘内RAID系统,使得第一存储区域的数据可以根据磨损较少且与第一存储区域不相邻的至少一个存储区域进行恢复,保证了数据的可靠性。
基于与图3对应的方法实施例的同一发明构思,本申请实施例提供一种物理硬盘磨损均衡装置80,所述装置80应用于盘间RAID系统,所述盘间RAID系统中包括N个物理硬盘,所述装置用于对所述N个物理硬盘进行控制,该装置的结构示意图如图8所示,包括内存转换(英文:Flash translation layer,简称:FTL)模块81和控制模块82,其中:
内存转换FTL模块81,用于记录N个物理硬盘中每个物理块的物理地址以及每个物理块对应的擦除次数;
控制模块82,用于确定待写入数据的逻辑地址,并根据所述FTL模块81中获取所述待写入数据的逻辑地址对应的第一物理硬盘中的第一物理块的擦除次数、以及在其它物理硬盘中与所述第一物理块位于同一条带内的物理块的擦除次数,确定第二物理硬盘中的第二物理块;在确定所述第一物理块对应的擦除次数与位于第二物理硬盘中的第二物理块的擦除次数的差值大于预设阈值时,将所述第一物理块中存储的数据与所述第二物理块中存储的数据进行交换;并将所述待写入数据存储到所述第二物理块中;其中,所述第二物理块的擦除次数小于所述第一物理块的擦除次数、且在所述N个物理硬盘中所述第二物理硬盘中的第二物理块的擦除次数与所述第一物理块的擦除次数差值最大。
具体的,所述控制模块82在将所述第一物理块中存储的数据与所述第二物理块中存储的数据进行交换时,通过向所述第一物理块所在第一物理硬盘发送第一数据交换指令,以及所述第二物理块所在第二物理硬盘发送第二数据交换指令,指示所述第一物理硬盘和所述第二物理硬盘进行数据交换。其中,第一数据指令携带所述第一物理块的物理地址以及所述第二物理块的物理地址,第二数据交换指令携带所述第一物理块的物理地址以及所述第二物理块的物理地址,所述数据交换指令用于指示物理硬盘进行数据交换。
可选的,所述控制模块82,在所述FTL模块81中获取所述待写入数据的逻辑地址对应的第一物理硬盘中的第一物理块的擦除次数时,具体用于:
根据所述FTL模块81中存储的第一映射表获取所述待写入数据的逻辑地址对应的第一物理块的逻辑地址;所述第一映射表用于记录数据的逻辑地址与物理块的逻辑地址之间的映射关系;
根据所述FTL模块81中存储的第二映射表获取所述第一物理块的逻辑地址对应的所述第一物理块的擦数次数,所述第二映射表用于记录物理块的逻辑地址与物理块的擦除次数的映射关系。
可选的,所述控制模块82,还用于在所述FTL模块81中获取所述待写入数据的逻辑地址对应的第一物理块的擦除次数失败时,在所述FTL模块81中存储的所述第二映射表中创建所述第一物理块的逻辑地址与所述第一物理块的擦除次数的映射关系,并在所述FTL模块81中将所述第一物理块的擦除次数记录为零。
可选的,所述控制模块82将所述第一物理块中存储的数据与所述第二物理块中存储的数据进行交换后,还用于:
将所述FTL模块81中记录的所述第一物理块的擦除次数以及第二物理块的擦除次数分别进行更新。
可选的,所述物理硬盘磨损均衡装置80还包括缓存模块83,用于缓存控制器82接收到的待写入数据。
本申请实施例在盘间RAID系统中写入数据时,通过将待写入数据的逻辑地址对应的第一物理块中存储的数据与第二物理块中存储的数据进行交换,所述第二物理块的擦除次数小于第一物理块的擦除次数,并且所述第二物理块的擦除次数小于所述第一物理块的擦除次数、且在所述N个物理硬盘中所述第二物理硬盘中的第二物理块的擦除次数与所述第一物理块的擦除次数差值最大,然后将待写入数据存储到第二物理块中,相比于现有技术中将修改次数大于阈值的校验码与修改次数最小的校验码交换存储位置以对各个物理块的磨损进行均衡,本申请实施例基于物理块的擦除次数对各个物理块的进行均衡,提高了物理块磨损均衡的准确性,使得同一条带内的每个物理块被擦除的次数相当,各个物理块的磨损均衡。
基于与图6对应的方法实施例的同一发明构思,本申请实施例提供另一种物理硬盘磨损均衡装置90,所述装置设置于物理硬盘内,或者由物理硬盘实现其功能。该装置的结构示意图如图9所示,包括闪存FLASH模块91、内存转换FTL模块92、控制模块93以及校验模块94,其中:
所述FLASH模块91,用于存储数据,其中,所述FLASH模块91包括多个存储区域;
所述FTL模块92,用于记录所述FLASH模块91的多个存储区域中每个存储区域对应的擦除次数;
所述控制模块93,用于接收读数据指令,所述读数据指令用于指示待读取数据存储在所述FLASH模块91中的第一存储区域;根据所述读数据指令,从所述第一存储区域读取所述待读取数据,并指示所述校验模块94对所述待读取数据进行纠错码ECC校验;
所述校验模块94,基于所述控制模块93的指示,对所述控制模块93读取的待读取数据进行校验得到校验结果,所述校验结果中包括所述待读取数据中存在比特bit错误的bit数量;
所述控制模块93,还用于在确定所述校验模块94得到的所述校验结果指示所述bit数量大于第一阈值时,在所述FTL模块92中获取所述第一存储区域的擦除次数;当确定所述擦除次数大于第二阈值时,指示所述校验模块94将所述第一存储区域的校验方式由ECC校验切换为盘内冗余磁盘阵列RAID校验;
所述校验模块94,还用于在所述控制模块93指示下,将所述第一存储区域的校验方式由ECC校验切换为盘内RAID校验。
可选的,所述控制模块93,还用于在确定所述校验模块94得到的所述校验结果指示所述bit数量小于或等于所述第一阈值时,根据所述ECC对所述待读取数据中存在bit错误的数据进行纠正得到纠正后的数据,并将所述纠正后的数据存储到所述FLASH模块91中的所述第一存储区域中。
可选的,所述控制模块93,还用于在确定所述校验模块94得到的所述校验结果指示所述bit数量大于第一阈值时,向用于控制所述装置的控制器发送数据重构指令,所述数据重构指令携带所述待读取数据、且用于指示所述控制器对所述待读取数据进行重构;并在接收到所述控制器发送的重构后的所述待读取数据时,将重构后的所述待读取数据存储到所述FLASH模块91中的所述第一存储区域中。
可选的,所述FTL模块92,还用于记录所述FLASH模块91的多个存储区域中每个存储区域对应的错误次数,所述错误次数为在向所述第一存储区域存储数据的过程中,存入的数据出现bit错误的bit数量大于所述第一阈值的次数;
所述控制模块93,还用于在确定所述擦除次数小于或等于所述第二阈值时,在所述FTL模块92中获取所述第一存储区域的错误次数;并在确定所述错误次数大于第三阈值时,指示所述校验模块94将所述第一存储区域的校验方式由ECC校验切换为盘内RAID校验。
可选的,当确定所述错误次数大于第三阈值时,所述控制模块93还用于将所述FTL模块92中的所述第一存储区域、用于存储所述第一存储区域所对应的数据的纠错码的第二存储区域、以及与所述第一存储区域不相邻且校验方式为ECC校验的至少一个存储区域,组成一个盘内RAID系统;
所述校验模块94基于所述盘内RAID系统中存储的数据针对所述第一存储区域的数据执行盘内RAID校验。
可选的,所述控制模块93还用于在接收数据交换指令后,将所述数据交换指令中携带的物理地址对应的物理块内存储的数据进行复制得到待交换数据。
可选的,所述物理硬盘磨损均衡装置90还包括缓存模块95,用于缓存控制模块93接收到的待写入数据。控制模块93对所述数据交换指令中携带的物理地址在FLASH模块91中对应的物理块内存储的数据进行复制得到待交换数据后,将所述待交换数据保存在所述缓存模块95中。并且在控制模块93对FLASH模块91中包括所述标记为废弃状态的存储区域的物理块内存储的有效数据进行复制得到所述复制后数据并保存在缓存模块95中。
可选的,所述物理硬盘磨损均衡装置90还包括直接存储器访问(英文:DirectMemory Access,简称:DMA)模块96,用于在所述DMA所在的物理硬盘与其他物理硬盘进行数据交换时传输缓存模块95存储的所述待交换数据。
本申请实施例通过采用ECC校验和盘内RAID校验自动切换的方式,擦除次数少的存储区域的校验方式为ECC校验,擦除次数多的存储区域的校验方式由ECC校验切换为盘内RAID校验,相比于现有技术中存储区域采用ECC校验的方式,本申请实施例在减少了数据校验开销的同时,保证了数据可靠性。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (19)
1.一种物理硬盘磨损均衡方法,其特征在于,所述方法应用于盘间冗余磁盘阵列系统,所述盘间冗余磁盘阵列系统中包括N个物理硬盘,所述方法包括:
控制器确定待写入数据的逻辑地址;
所述控制器根据所述待写入数据的逻辑地址对应的第一物理硬盘中的第一物理块的擦除次数、以及其它物理硬盘中与所述第一物理块位于同一条带内的物理块的擦除次数,确定第二物理硬盘中的第二物理块;其中,所述第二物理块的擦除次数小于所述第一物理块的擦除次数、且在所述N个物理硬盘中所述第二物理硬盘中的第二物理块的擦除次数与所述第一物理块的擦除次数差值最大;
所述控制器在确定所述第一物理块对应的擦除次数与位于第二物理硬盘中的第二物理块的擦除次数的差值大于预设阈值时,所述控制器将所述第一物理块中存储的数据与所述第二物理块中存储的数据进行交换;
所述控制器将所述待写入数据存储到所述第二物理块中。
2.如权利要求1所述的方法,其特征在于,所述控制器获取所述待写入数据的逻辑地址对应的第一物理硬盘中的第一物理块的擦除次数,包括:
所述控制器根据第一映射表获取所述待写入数据的逻辑地址对应的第一物理块的逻辑地址;所述第一映射表用于记录数据的逻辑地址与物理块的逻辑地址之间的映射关系;
所述控制器根据第二映射表获取所述第一物理块的逻辑地址对应的所述第一物理块的擦数次数,所述第二映射表用于记录物理块的逻辑地址与物理块的擦除次数的映射关系。
3.如权利要求2所述的方法,其特征在于,所述方法还包括:
所述控制器在获取所述待写入数据的逻辑地址对应的第一物理块的擦除次数失败时,在所述第二映射表中创建所述第一物理块的逻辑地址与所述第一物理块的擦除次数的映射关系,并将所述第一物理块的擦除次数记录为零。
4.如权利要求1至3任一项所述的方法,其特征在于,所述控制器将所述第一物理块中存储的数据与所述第二物理块中存储的数据进行交换后,所述方法还包括:
所述控制器将所述第一物理块的擦除次数以及第二物理块的擦除次数分别进行更新。
5.一种物理硬盘磨损均衡方法,其特征在于,所述方法包括:
物理硬盘接收读数据指令,所述读数据指令用于指示待读取数据存储在所述物理硬盘中的第一存储区域;
所述物理硬盘根据所述读数据指令,从所述第一存储区域读取所述待读取数据,并对所述待读取数据进行纠错码ECC校验得到校验结果,所述校验结果中包括所述待读取数据中存在比特bit错误的bit数量;
当确定所述校验结果指示所述bit数量大于第一阈值时,所述物理硬盘获取所述第一存储区域的擦除次数;
当确定所述擦除次数大于第二阈值时,所述物理硬盘将所述第一存储区域的校验方式由ECC校验切换为盘内冗余磁盘阵列RAID校验。
6.如权利要求5所述的方法,其特征在于,所述方法还包括:
当确定所述校验结果指示所述bit数量小于或等于所述第一阈值时,所述物理硬盘根据所述ECC对所述待读取数据中存在bit错误的数据进行纠正得到纠正后的数据,并将所述纠正后的数据存储到所述第一存储区域中。
7.如权利要求5或6所述的方法,其特征在于,所述方法还包括:
当确定所述校验结果指示所述bit数量大于第一阈值时,所述物理硬盘向用于控制所述物理硬盘的控制器发送数据重构指令,所述数据重构指令携带所述待读取数据、且用于指示所述控制器对所述待读取数据进行重构;
所述物理硬盘接收所述控制器发送的重构后的所述待读取数据,并将重构后的所述待读取数据存储到所述第一存储区域中。
8.如权利要求5至7任一项所述的方法,其特征在于,所述方法还包括:
当确定所述擦除次数小于或等于所述第二阈值时,所述物理硬盘获取所述第一存储区域的错误次数,所述错误次数为在向所述第一存储区域存储数据的过程中,存入的数据出现bit错误的bit数量大于所述第一阈值的次数;
当确定所述错误次数大于第三阈值时,所述物理硬盘将所述第一存储区域的校验方式由ECC校验切换为盘内RAID校验。
9.如权利要求8所述的方法,其特征在于,所述方法还包括:
当确定所述错误次数大于第三阈值时,所述物理硬盘将所述第一存储区域、存储所述第一存储区域所对应的数据的纠错码的第二存储区域、以及与所述第一存储区域不相邻且校验方式为ECC校验的至少一个存储区域,组成一个盘内RAID系统;
所述盘内RAID系统用于针对所述第一存储区域的数据执行盘内RAID校验。
10.一种物理硬盘磨损均衡装置,其特征在于,所述装置应用于盘间冗余磁盘阵列系统,所述盘间冗余磁盘阵列系统中包括N个物理硬盘,所述装置用于对所述N个物理硬盘进行控制,所述装置包括:
内存转换FTL模块,用于记录N个物理硬盘中每个物理块的物理地址以及每个物理块对应的擦除次数;
控制模块,用于确定待写入数据的逻辑地址,并根据所述FTL模块中获取所述待写入数据的逻辑地址对应的第一物理硬盘中的第一物理块的擦除次数、以及在其它物理硬盘中与所述第一物理块位于同一条带内的物理块的擦除次数,确定第二物理硬盘中的第二物理块;在确定所述第一物理块对应的擦除次数与位于第二物理硬盘中的第二物理块的擦除次数的差值大于预设阈值时,将所述第一物理块中存储的数据与所述第二物理块中存储的数据进行交换;并将所述待写入数据存储到所述第二物理块中;其中,所述第二物理块的擦除次数小于所述第一物理块的擦除次数、且在所述N个物理硬盘中所述第二物理硬盘中的第二物理块的擦除次数与所述第一物理块的擦除次数差值最大。
11.如权利要求10所述的装置,其特征在于,所述控制模块,在所述FTL模块中获取所述待写入数据的逻辑地址对应的第一物理硬盘中的第一物理块的擦除次数时,具体用于:
根据所述FTL模块中存储的第一映射表获取所述待写入数据的逻辑地址对应的第一物理块的逻辑地址;所述第一映射表用于记录数据的逻辑地址与物理块的逻辑地址之间的映射关系;
根据所述FTL模块中存储的第二映射表获取所述第一物理块的逻辑地址对应的所述第一物理块的擦数次数,所述第二映射表用于记录物理块的逻辑地址与物理块的擦除次数的映射关系。
12.如权利要求11所述的装置,其特征在于,所述控制模块,还用于在所述FTL模块中获取所述待写入数据的逻辑地址对应的第一物理块的擦除次数失败时,在所述FTL模块中存储的所述第二映射表中创建所述第一物理块的逻辑地址与所述第一物理块的擦除次数的映射关系,并在所述FTL模块中将所述第一物理块的擦除次数记录为零。
13.如权利要求10至12任一项所述的装置,其特征在于,所述控制模块将所述第一物理块中存储的数据与所述第二物理块中存储的数据进行交换后,还用于:
将所述FTL模块中记录的所述第一物理块的擦除次数以及第二物理块的擦除次数分别进行更新。
14.一种物理硬盘磨损均衡装置,其特征在于,所述装置包括闪存FLASH模块、内存转换FTL模块、控制模块以及校验模块,其中:
所述FLASH模块,用于存储数据,其中,所述FLASH模块包括多个存储区域;
所述FTL模块,用于记录所述FLASH模块的多个存储区域中每个存储区域对应的擦除次数;
所述控制模块,用于接收读数据指令,所述读数据指令用于指示待读取数据存储在所述FLASH模块中的第一存储区域;根据所述读数据指令,从所述第一存储区域读取所述待读取数据,并指示所述校验模块对所述待读取数据进行纠错码ECC校验;
所述校验模块,基于所述控制模块的指示,对所述控制模块读取的待读取数据进行校验得到校验结果,所述校验结果中包括所述待读取数据中存在比特bit错误的bit数量;
所述控制模块,还用于在确定所述校验模块得到的所述校验结果指示所述bit数量大于第一阈值时,在所述FTL模块中获取所述第一存储区域的擦除次数;当确定所述擦除次数大于第二阈值时,指示所述校验模块将所述第一存储区域的校验方式由ECC校验切换为盘内冗余磁盘阵列RAID校验;
所述校验模块,还用于在所述控制模块指示下,将所述第一存储区域的校验方式由ECC校验切换为盘内RAID校验。
15.如权利要求14所述的装置,其特征在于,所述控制模块,还用于在确定所述校验模块得到的所述校验结果指示所述bit数量小于或等于所述第一阈值时,根据所述ECC对所述待读取数据中存在bit错误的数据进行纠正得到纠正后的数据,并将所述纠正后的数据存储到所述FLASH模块中的所述第一存储区域中。
16.如权利要求14或15所述的装置,其特征在于,所述控制模块,还用于在确定所述校验模块得到的所述校验结果指示所述bit数量大于第一阈值时,向用于控制所述装置的控制器发送数据重构指令,所述数据重构指令携带所述待读取数据、且用于指示所述控制器对所述待读取数据进行重构;并在接收到所述控制器发送的重构后的所述待读取数据时,将重构后的所述待读取数据存储到所述FLASH模块中的所述第一存储区域中。
17.如权利要求14至16任一项所述的装置,其特征在于,所述FTL模块,还用于记录所述FLASH模块的多个存储区域中每个存储区域对应的错误次数,所述错误次数为在向所述第一存储区域存储数据的过程中,存入的数据出现bit错误的bit数量大于所述第一阈值的次数;
所述控制模块,还用于在确定所述擦除次数小于或等于所述第二阈值时,在所述FTL模块中获取所述第一存储区域的错误次数;并在确定所述错误次数大于第三阈值时,指示所述校验模块将所述第一存储区域的校验方式由ECC校验切换为盘内RAID校验。
18.如权利要求17所述的装置,其特征在于,当确定所述错误次数大于第三阈值时,所述控制模块还用于将所述FTL模块中的所述第一存储区域、用于存储所述第一存储区域所对应的数据的纠错码的第二存储区域、以及与所述第一存储区域不相邻且校验方式为ECC校验的至少一个存储区域,组成一个盘内RAID系统;
所述校验模块基于所述盘内RAID系统中存储的数据针对所述第一存储区域的数据执行盘内RAID校验。
19.一种物理硬盘磨损均衡系统,其特征在于,包括控制器,以及N个物理硬盘,其中:
所述控制器,用于执行权利要求1至4任一项所述的方法;
每个物理硬盘,用于执行权利要求5至9任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611187151.8A CN108205423B (zh) | 2016-12-20 | 2016-12-20 | 一种物理硬盘磨损均衡方法、装置及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611187151.8A CN108205423B (zh) | 2016-12-20 | 2016-12-20 | 一种物理硬盘磨损均衡方法、装置及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108205423A true CN108205423A (zh) | 2018-06-26 |
CN108205423B CN108205423B (zh) | 2020-06-02 |
Family
ID=62603592
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611187151.8A Active CN108205423B (zh) | 2016-12-20 | 2016-12-20 | 一种物理硬盘磨损均衡方法、装置及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108205423B (zh) |
Cited By (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108958656A (zh) * | 2018-06-27 | 2018-12-07 | 北京计算机技术及应用研究所 | 基于raid5固态硬盘阵列的动态条带系统设计方法 |
CN109358809A (zh) * | 2018-09-28 | 2019-02-19 | 方信息科技(上海)有限公司 | 一种raid数据存储系统及方法 |
CN109524046A (zh) * | 2018-09-05 | 2019-03-26 | 广东工业大学 | 一种低内存消耗的闪存磨损均衡算法 |
CN109684119A (zh) * | 2018-12-06 | 2019-04-26 | 天津津航计算技术研究所 | 应用于NAND Flash损耗均衡的优化方法 |
CN110333965A (zh) * | 2019-05-30 | 2019-10-15 | 河南文正电子数据处理有限公司 | 一种固态硬盘控制器装置及固态硬盘数据校验方法 |
CN110750466A (zh) * | 2019-10-18 | 2020-02-04 | 深圳豪杰创新电子有限公司 | 提高闪存擦写寿命的方法和装置 |
CN111104055A (zh) * | 2018-10-29 | 2020-05-05 | 伊姆西Ip控股有限责任公司 | 用于管理存储系统的方法、设备和计算机程序产品 |
CN111625187A (zh) * | 2020-05-15 | 2020-09-04 | 合肥康芯威存储技术有限公司 | 一种存储器及其控制方法与存储系统 |
CN111949569A (zh) * | 2019-05-17 | 2020-11-17 | 北京兆易创新科技股份有限公司 | 一种存储设备及其控制方法和控制装置 |
CN112084061A (zh) * | 2019-06-15 | 2020-12-15 | 国际商业机器公司 | 减少相同raid级别的raid阵列中的数据丢失事件 |
CN112084060A (zh) * | 2019-06-15 | 2020-12-15 | 国际商业机器公司 | 减少不同raid级别的raid阵列中的数据丢失事件 |
CN112506430A (zh) * | 2020-12-04 | 2021-03-16 | 苏州浪潮智能科技有限公司 | 一种保持ssd固定条带大小的方法和设备 |
CN112988037A (zh) * | 2019-12-17 | 2021-06-18 | 国民技术股份有限公司 | 静态磨损均衡方法、终端和计算机可读存储介质 |
CN113703681A (zh) * | 2021-08-26 | 2021-11-26 | 杭州海康存储科技有限公司 | 一种硬盘管理方法及装置、硬盘设备、存储介质 |
CN113946469A (zh) * | 2021-10-29 | 2022-01-18 | 苏州浪潮智能科技有限公司 | 一种固态硬盘的数据纠错处理方法及装置 |
CN114281255A (zh) * | 2021-12-17 | 2022-04-05 | 深圳宏芯宇电子股份有限公司 | 存储装置区块管理方法、存储器存储装置及存储器控制器 |
CN115437580A (zh) * | 2022-11-08 | 2022-12-06 | 合肥康芯威存储技术有限公司 | 一种数据存储设备的管理方法、系统及数据存储设备 |
CN115793987A (zh) * | 2023-01-09 | 2023-03-14 | 苏州浪潮智能科技有限公司 | 一种磨损均衡的方法、装置、电子设备和存储介质 |
CN116737064A (zh) * | 2023-03-29 | 2023-09-12 | 深圳市领德创科技有限公司 | 一种固态硬盘的数据管理方法和系统 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101046771A (zh) * | 2006-03-29 | 2007-10-03 | 株式会社日立制作所 | 使用闪存的存储系统及其平均读写方法和平均读写程序 |
CN102841852A (zh) * | 2011-06-24 | 2012-12-26 | 华为技术有限公司 | 磨损均衡方法、存储装置及信息系统 |
CN102981970A (zh) * | 2012-11-23 | 2013-03-20 | 深圳市江波龙电子有限公司 | 闪存管理方法和系统 |
US8407408B2 (en) * | 2009-04-20 | 2013-03-26 | Imation Corp. | Static wear leveling |
CN103092770A (zh) * | 2013-01-18 | 2013-05-08 | 山东华芯半导体有限公司 | 一种磨损均衡处理时减少内存开销的方法 |
CN103688248A (zh) * | 2013-06-29 | 2014-03-26 | 华为技术有限公司 | 一种存储阵列的管理方法、装置和控制器 |
CN104360957A (zh) * | 2014-11-26 | 2015-02-18 | 上海爱信诺航芯电子科技有限公司 | 一种维持闪存损耗均衡的方法 |
CN104461401A (zh) * | 2014-12-25 | 2015-03-25 | 珠海煌荣集成电路科技有限公司 | Spi闪速存储器的数据读写管理方法及数据读写管理装置 |
US20150199152A1 (en) * | 2014-01-16 | 2015-07-16 | Avalanche Technology, Inc. | Method of managing redundant array of independent disks (raid) groups in a solid state disk array |
-
2016
- 2016-12-20 CN CN201611187151.8A patent/CN108205423B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101046771A (zh) * | 2006-03-29 | 2007-10-03 | 株式会社日立制作所 | 使用闪存的存储系统及其平均读写方法和平均读写程序 |
US8407408B2 (en) * | 2009-04-20 | 2013-03-26 | Imation Corp. | Static wear leveling |
CN102841852A (zh) * | 2011-06-24 | 2012-12-26 | 华为技术有限公司 | 磨损均衡方法、存储装置及信息系统 |
CN102981970A (zh) * | 2012-11-23 | 2013-03-20 | 深圳市江波龙电子有限公司 | 闪存管理方法和系统 |
CN103092770A (zh) * | 2013-01-18 | 2013-05-08 | 山东华芯半导体有限公司 | 一种磨损均衡处理时减少内存开销的方法 |
CN103688248A (zh) * | 2013-06-29 | 2014-03-26 | 华为技术有限公司 | 一种存储阵列的管理方法、装置和控制器 |
US20150199152A1 (en) * | 2014-01-16 | 2015-07-16 | Avalanche Technology, Inc. | Method of managing redundant array of independent disks (raid) groups in a solid state disk array |
CN104360957A (zh) * | 2014-11-26 | 2015-02-18 | 上海爱信诺航芯电子科技有限公司 | 一种维持闪存损耗均衡的方法 |
CN104461401A (zh) * | 2014-12-25 | 2015-03-25 | 珠海煌荣集成电路科技有限公司 | Spi闪速存储器的数据读写管理方法及数据读写管理装置 |
Cited By (30)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108958656A (zh) * | 2018-06-27 | 2018-12-07 | 北京计算机技术及应用研究所 | 基于raid5固态硬盘阵列的动态条带系统设计方法 |
CN108958656B (zh) * | 2018-06-27 | 2021-01-08 | 北京计算机技术及应用研究所 | 基于raid5固态硬盘阵列的动态条带系统设计方法 |
CN109524046A (zh) * | 2018-09-05 | 2019-03-26 | 广东工业大学 | 一种低内存消耗的闪存磨损均衡算法 |
CN109524046B (zh) * | 2018-09-05 | 2021-04-23 | 广东工业大学 | 一种低内存消耗的闪存磨损均衡方法 |
CN109358809A (zh) * | 2018-09-28 | 2019-02-19 | 方信息科技(上海)有限公司 | 一种raid数据存储系统及方法 |
CN111104055B (zh) * | 2018-10-29 | 2023-10-27 | 伊姆西Ip控股有限责任公司 | 用于管理存储系统的方法、设备和计算机程序产品 |
CN111104055A (zh) * | 2018-10-29 | 2020-05-05 | 伊姆西Ip控股有限责任公司 | 用于管理存储系统的方法、设备和计算机程序产品 |
CN109684119A (zh) * | 2018-12-06 | 2019-04-26 | 天津津航计算技术研究所 | 应用于NAND Flash损耗均衡的优化方法 |
CN111949569A (zh) * | 2019-05-17 | 2020-11-17 | 北京兆易创新科技股份有限公司 | 一种存储设备及其控制方法和控制装置 |
CN110333965B (zh) * | 2019-05-30 | 2023-05-26 | 深圳市博德越科技有限公司 | 一种固态硬盘控制器装置及固态硬盘数据校验方法 |
CN110333965A (zh) * | 2019-05-30 | 2019-10-15 | 河南文正电子数据处理有限公司 | 一种固态硬盘控制器装置及固态硬盘数据校验方法 |
CN112084061A (zh) * | 2019-06-15 | 2020-12-15 | 国际商业机器公司 | 减少相同raid级别的raid阵列中的数据丢失事件 |
CN112084060A (zh) * | 2019-06-15 | 2020-12-15 | 国际商业机器公司 | 减少不同raid级别的raid阵列中的数据丢失事件 |
CN110750466A (zh) * | 2019-10-18 | 2020-02-04 | 深圳豪杰创新电子有限公司 | 提高闪存擦写寿命的方法和装置 |
CN112988037A (zh) * | 2019-12-17 | 2021-06-18 | 国民技术股份有限公司 | 静态磨损均衡方法、终端和计算机可读存储介质 |
CN111625187B (zh) * | 2020-05-15 | 2023-09-29 | 合肥康芯威存储技术有限公司 | 一种存储器及其控制方法与存储系统 |
CN111625187A (zh) * | 2020-05-15 | 2020-09-04 | 合肥康芯威存储技术有限公司 | 一种存储器及其控制方法与存储系统 |
CN112506430A (zh) * | 2020-12-04 | 2021-03-16 | 苏州浪潮智能科技有限公司 | 一种保持ssd固定条带大小的方法和设备 |
CN113703681A (zh) * | 2021-08-26 | 2021-11-26 | 杭州海康存储科技有限公司 | 一种硬盘管理方法及装置、硬盘设备、存储介质 |
CN113703681B (zh) * | 2021-08-26 | 2024-06-04 | 杭州海康存储科技有限公司 | 一种硬盘管理方法及装置、硬盘设备、存储介质 |
CN113946469A (zh) * | 2021-10-29 | 2022-01-18 | 苏州浪潮智能科技有限公司 | 一种固态硬盘的数据纠错处理方法及装置 |
CN113946469B (zh) * | 2021-10-29 | 2024-05-24 | 苏州浪潮智能科技有限公司 | 一种固态硬盘的数据纠错处理方法及装置 |
CN114281255A (zh) * | 2021-12-17 | 2022-04-05 | 深圳宏芯宇电子股份有限公司 | 存储装置区块管理方法、存储器存储装置及存储器控制器 |
CN114281255B (zh) * | 2021-12-17 | 2024-03-08 | 深圳宏芯宇电子股份有限公司 | 存储装置区块管理方法、存储器存储装置及存储器控制器 |
CN115437580A (zh) * | 2022-11-08 | 2022-12-06 | 合肥康芯威存储技术有限公司 | 一种数据存储设备的管理方法、系统及数据存储设备 |
CN115793987A (zh) * | 2023-01-09 | 2023-03-14 | 苏州浪潮智能科技有限公司 | 一种磨损均衡的方法、装置、电子设备和存储介质 |
CN115793987B (zh) * | 2023-01-09 | 2023-05-09 | 苏州浪潮智能科技有限公司 | 一种磨损均衡的方法、装置、电子设备和存储介质 |
WO2024148874A1 (zh) * | 2023-01-09 | 2024-07-18 | 苏州元脑智能科技有限公司 | 一种磨损均衡的方法、装置、电子设备和存储介质 |
CN116737064A (zh) * | 2023-03-29 | 2023-09-12 | 深圳市领德创科技有限公司 | 一种固态硬盘的数据管理方法和系统 |
CN116737064B (zh) * | 2023-03-29 | 2024-04-05 | 深圳市领德创科技有限公司 | 一种固态硬盘的数据管理方法和系统 |
Also Published As
Publication number | Publication date |
---|---|
CN108205423B (zh) | 2020-06-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108205423A (zh) | 一种物理硬盘磨损均衡方法、装置及系统 | |
CN104978281B (zh) | 数据存储设备中的数据完整性管理 | |
CN104246707B (zh) | 存储系统和存储装置 | |
US10365983B1 (en) | Repairing raid systems at per-stripe granularity | |
US9250823B1 (en) | Online replacement of physical storage in a virtual storage system | |
US5960169A (en) | Transformational raid for hierarchical storage management system | |
CN101916173B (zh) | 一种基于raid的数据读写方法及其系统 | |
US20100229033A1 (en) | Storage management device, storage management method, and storage system | |
KR101678868B1 (ko) | 플래시 주소 변환 장치 및 그 방법 | |
US7900013B2 (en) | Method and computer for determining storage device | |
US20140068208A1 (en) | Separately stored redundancy | |
JP2016512365A (ja) | 不揮発性メモリシステムにおける同期ミラーリング | |
JPH05505264A (ja) | データ記憶装置における書込みオペレーション識別子の不揮発性メモリ記憶 | |
CN101609420A (zh) | 实现磁盘冗余阵列重建的方法和磁盘冗余阵列及其控制器 | |
US10095585B1 (en) | Rebuilding data on flash memory in response to a storage device failure regardless of the type of storage device that fails | |
TW201107981A (en) | Method and apparatus for protecting the integrity of cached data in a direct-attached storage (DAS) system | |
US10649672B1 (en) | Offloading device maintenance to an external processor in low-latency, non-volatile memory | |
US10067882B2 (en) | Storage system and storage control method | |
CN102799533A (zh) | 一种磁盘损坏扇区屏蔽方法及装置 | |
US20160179609A1 (en) | Bad Sector Repair Method and Apparatus | |
CN108255414A (zh) | 固态硬盘访问方法及装置 | |
CN111124262A (zh) | 独立盘冗余阵列(raid)的管理方法、设备和计算机可读介质 | |
KR20140086223A (ko) | 디스크 어레이의 패리티 재동기화 장치 및 방법 | |
CN103348653B (zh) | 扩容的方法和设备、以及访问数据的方法和设备 | |
US6442649B1 (en) | Dynamic expansion of storage device array |
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: 20211223 Address after: 450046 Floor 9, building 1, Zhengshang Boya Plaza, Longzihu wisdom Island, Zhengdong New Area, Zhengzhou City, Henan Province Patentee after: xFusion Digital Technologies Co., Ltd. Address before: 518129 Bantian HUAWEI headquarters office building, Longgang District, Guangdong, Shenzhen Patentee before: HUAWEI TECHNOLOGIES Co.,Ltd. |