CN107562643B - 一种固态硬盘raid管理方法 - Google Patents
一种固态硬盘raid管理方法 Download PDFInfo
- Publication number
- CN107562643B CN107562643B CN201710685347.8A CN201710685347A CN107562643B CN 107562643 B CN107562643 B CN 107562643B CN 201710685347 A CN201710685347 A CN 201710685347A CN 107562643 B CN107562643 B CN 107562643B
- Authority
- CN
- China
- Prior art keywords
- page
- die
- bank
- parity
- mapping
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Landscapes
- Detection And Correction Of Errors (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种固态硬盘RAID管理方法,其特征在于建立NAND最小并发单元的虚拟映射层,保持地址映射顺序分配规则;保证同一页序号所在的条带的Parity所对应的页最后分配获得地址空间,当获得Parity所对应的页最后分配获得地址空间时立即计算该条带的Parity,获得Parity马上触发die的并行写入操作。通过建立NAND最小并发单元的虚拟映射层,保持地址映射顺序分配规则,降低了PARITY的生成延迟,保障NAND的并发性操作,提升了SSD性能。
Description
技术领域
本发明涉及固态硬盘控制技术,特别涉及一种固态硬盘RAID管理方法。
背景技术
图1是典型的NAND组成示意图:DIE,可独立并发操作的单元;Block,可独立擦除的单元,其内各个物理位置的数据写入后在下一次写之前必须要将整个Block擦除;Page,读写单元,同一物理块内的Page必需按顺序编程:0->1->2->3…。
图2是常规奇偶校验分布示例,假设该NAND为四个DIE,每个DIE 2个Plane,将Page号相同的页设置为一个条带Stripe,一个RAID 5条带包括7个有效数据页+1个奇偶校验页Parity。为保障Parity分布对于读性能的影响,需要周期性将Parity分布到不同Plane,Plane是一个存储矩阵,包含若干个Block。以Page 0组成的条带Stripe 0为例,Bank 0(DIE0,Plane 0)存放Parity数据,而其必需在处于同一条带的D0_1,D0_2….D0_7的数据确定之后才能生成。而在NAND内部,为了保障写入的带宽,需要遵守一些数据写入规则,以便实现DIE之间的写入并发。以图2为例,物理地址分配依次如下:
Bank 0(DIE 0/Plane0)→Bank 1(DIE 0/Plane1)→
Bank 2(DIE 1/Plane0)→Bank 3(DIE 1/Plane1)→
Bank 4(DIE 2/Plane0)→Bank 5(DIE 2/Plane1)→
Bank 6(DIE 3/Plane0)→Bank 7(DIE 3/Plane1)
但由于Parity生成规则,导致NAND控制器端数据准备好的次序如下:
Bank 1(DIE 0/Plane1)→
Bank 2(DIE 1/Plane0)→Bank 3(DIE 1/Plane1)→
Bank 4(DIE 2/Plane0)→Bank 5(DIE 2/Plane1)→
Bank 6(DIE 3/Plane0)→Bank 7(DIE 3/Plane1)→
Bank 0(DIE 0/Plane 0)
由于NAND特性,落在同一DIE不同Plane的操作可以并发操作。在如上序列中,DIE1/2/3的写操作可以并发完成,但对于DIE0,由于其Plane 0/1的数据Ready时间差距较远(可能远远超过Program时间),所以不能实现操作并发。
图3是常规奇偶校验分布是NAND编程时序图,为NAND控制器端实际Program时间。可见,如果Parity数据生成存在延迟时,常规的每个Stripe可在一个时间片内可以完成的并发操作,被放大到需要2个时间片内才能完成。
发明内容
针对以上缺陷,本发明目的是如何克服由于Parity延迟引起的降低了NAND编程的并发操作的可能性,进而带来NAND性能降低的问题。
为了解决以上问题本发明提出了一种固态硬盘RAID管理方法,其特征在于建立NAND最小并发单元的虚拟映射层,保持地址映射顺序分配规则;保证同一页序号所在的条带的Parity所对应的页最后分配获得地址空间,当获得Parity所对应的页最后分配获得地址空间时立即计算该条带的Parity,获得Parity马上触发die的并行写入操作。
所述的固态硬盘RAID管理方法,其特征在于在现有一维的BANK到物理DIE的映射表的基础上按如下策略生成2维VBANK映射策略表:
f’(vbank,page)={bank|vbank=0–7,page=0–255(NAND Block内最大Page),bank=0-7}
={die,plane|die=0-3,plane=0-1};
地址映射模块根据生成的VBANK映射策略表按现有地址分配策略表进行地址分配。
其中Parity为奇数偶校验页、die为独立并发操作的单元,Page为页,Bank指一维空间组,vbank为二维空间组。
本发明通过通过建立NAND最小并发单元的虚拟映射层,保持地址映射顺序分配规则,降低了PARITY的生成延迟,保障NAND的并发性操作,提升了SSD性能。
附图说明
图1是典型的NAND组成示意图;
图2是常规奇偶校验分布示例;
图3是常规奇偶校验分布是NAND编程时序图;
图4是常规SSD内部采取的BANK到物理DIE的映射关系图;
图5是VBANK映射策略关系图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图4是常规SSD内部采取的BANK到物理DIE的映射关系图,一般采用了一维的映射策略:
f(bank)={die,plane|bank=0–7,die=0-3,plane=0-1};
SSD内部的地址映射模块按照Bank/Page规则顺序分配数据存放物理地址。为了解决DIE的并行操作问题,对该映射表进行改造,修改为2维映射策略。
图5是VBANK映射策略关系图;采用了2维映射策略:f’(vbank,page)={bank|vbank=0–7,page=0–255(NANDBlock内最大Page),bank=0-7}
={die,plane|die=0-3,plane=0-1}
基于该2维映射表,代入现有地址分配策略表,分析Page 0/1时候的地址分配、写入策略:
物理地址分配依次如下:
f’(VBank 0,Page 0)→f’(VBank 1,Page 0)→
f’(VBank 2,Page 0)→f’(VBank 3,Page 0)→
f’(VBank 4,Page 0)→f’(VBank 5,Page 0)→
f’(VBank 7,Page 0)→f’(VBank 7,Page 0)→
f’(VBank 0,Page 1)→f’(VBank 1,Page 1)→
f’(VBank 2,Page 1)→f’(VBank 3,Page 1)→
f’(VBank 4,Page 1)→f’(VBank 5,Page 1)→
f’(VBank 7,Page 1)→f’(VBank 7,Page 1)
根据表2可解析如下
//Page0
【Bank 2(DIE 1/Plane0)→Bank 3(DIE 1/Plane1)】→
【Bank 4(DIE 2/Plane0)→Bank 5(DIE 2/Plane1)】→
【Bank 6(DIE 3/Plane0)→Bank 7(DIE 3/Plane1)】→
【Bank 1(DIE 0/Plane1)→Bank 0(DIE 0/Plane0)】→
//Page 1
【Bank 2(DIE 1/Plane0)→Bank 3(DIE 1/Plane1)】→
【Bank 4(DIE 2/Plane0)→Bank 5(DIE 2/Plane1)】→
【Bank 6(DIE 3/Plane0)→Bank 7(DIE 3/Plane1)】→
【Bank 0(DIE 0/Plane0)→Bank 1(DIE 0/Plane1)】→
而由于在上述序列中,对于每一组相同Page的Parity数据总是最后分配,所以其分配时间与NAND控制器数据Ready时间一致。由此Parity所在DIE的Plane 0/1也能在同一并发单元内完成。
以上所揭露的仅为本发明一种实施例而已,当然不能以此来限定本之权利范围,本领域普通技术人员可以理解实现上述实施例的全部或部分流程,并依本发明权利要求所作的等同变化,仍属于本发明所涵盖的范围。
Claims (1)
1.一种固态硬盘RAID管理方法,其特征在于建立NAND最小并发单元的虚拟映射层,保持地址映射顺序分配规则,在现有一维的BANK到物理DIE的映射表的基础上按如下策略生成2维VBANK映射策略表:
f’(vbank,page)={bank|vbank=0–7,page=0–255,bank=0-7}={die,plane|die=0-3,plane=0-1};255为NAND Block内最大Page,地址映射模块根据生成的VBANK映射策略表进行地址分配,来实现同一页序号所在的条带的Parity所对应的页最后分配获得地址空间,当获得Parity所对应的页最后分配获得地址空间时立即计算该条带的Parity,获得Parity马上触发die的并行写入操作;Parity为奇数偶校验页、die为独立并发操作的单元,Page为页,Bank指一维空间组,vbank为二维空间组,Plane为一个存储矩阵。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710685347.8A CN107562643B (zh) | 2017-08-11 | 2017-08-11 | 一种固态硬盘raid管理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710685347.8A CN107562643B (zh) | 2017-08-11 | 2017-08-11 | 一种固态硬盘raid管理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107562643A CN107562643A (zh) | 2018-01-09 |
CN107562643B true CN107562643B (zh) | 2020-10-20 |
Family
ID=60975346
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710685347.8A Active CN107562643B (zh) | 2017-08-11 | 2017-08-11 | 一种固态硬盘raid管理方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107562643B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109445852B (zh) * | 2018-09-05 | 2020-08-25 | 华东计算技术研究所(中国电子科技集团公司第三十二研究所) | 一种在多核处理器中提升内存访问效率的方法及系统 |
CN111338982B (zh) * | 2020-02-11 | 2021-01-05 | 上海威固信息技术股份有限公司 | 一种大容量固态盘内地址映射方法 |
CN112596679B (zh) * | 2020-12-25 | 2023-10-10 | 深圳忆联信息系统有限公司 | 固态硬盘的raid实现方法、装置、计算机设备及存储介质 |
CN113590038A (zh) * | 2021-07-27 | 2021-11-02 | 联芸科技(杭州)有限公司 | 固态硬盘的管理方法和固态硬盘 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101587425B (zh) * | 2009-06-16 | 2010-12-08 | 杭州华三通信技术有限公司 | 一种增加独立磁盘冗余阵列冗余性的方法及装置 |
CN105930098B (zh) * | 2015-05-20 | 2019-01-29 | 德州学院 | 一种消除局部并行中小写操作的集中校验式盘阵列 |
-
2017
- 2017-08-11 CN CN201710685347.8A patent/CN107562643B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN107562643A (zh) | 2018-01-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3665560B1 (en) | Ssd architecture supporting low latency operation | |
CN107562643B (zh) | 一种固态硬盘raid管理方法 | |
US10712949B2 (en) | Adaptive device quality of service by host memory buffer range | |
US10410693B2 (en) | Multiprocessor system with independent direct access to bulk solid state memory resources | |
CN106537365B (zh) | 用于交错存储器操作的方法和系统 | |
JP5613260B2 (ja) | フラッシュ型メモリ・システムにおけるアクセス競合の低減方法、プログラム及びシステム | |
US20180232314A1 (en) | Method for storing data by storage device and storage device | |
US20130019057A1 (en) | Flash disk array and controller | |
US9122629B2 (en) | Elastic cache with single parity | |
DE102009026178A1 (de) | Mehrstufiger Controller mit intelligentem Speicher-Transfer-Manager zum Verschachteln mehrfacher Ein-Chip-Flash-Speichereinheiten | |
US10481979B2 (en) | Storage system, computing system, and methods thereof | |
CN114127677B (zh) | 用于写高速缓存架构中的数据放置的方法和系统 | |
US20190278486A1 (en) | Storage system, data management method, and data management program | |
CN110413454A (zh) | 基于存储阵列的数据重建方法、装置及存储介质 | |
CN108984133B (zh) | 一种ssd中raid的实现方法 | |
Kim et al. | Tuning the ext4 filesystem performance for android-based smartphones | |
JP7146054B2 (ja) | システムコントローラおよびシステムガベージコレクション方法 | |
CN110569000A (zh) | 基于固态硬盘阵列的主机端raid管理方法和装置 | |
KR100970537B1 (ko) | Ssd 관리 장치 및 방법 | |
US8478938B2 (en) | Performing data writes in parity protected redundant storage arrays | |
CN113302582A (zh) | 每光标逻辑单元号定序 | |
CN110928482A (zh) | 部分页条带与使用部分页条带的存储设备及其方法 | |
CN117311647B (zh) | 一种基于ZNS固态硬盘Raid实现方法 | |
CN117149075A (zh) | 基于DRAM-less固态硬盘的RAID实现方法和装置 | |
CN116578243A (zh) | 固态硬盘Block RAID写入模型优化方法、装置和计算机设备 |
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 |