CN104991738A - 一种固态盘及其读写操作方法 - Google Patents
一种固态盘及其读写操作方法 Download PDFInfo
- Publication number
- CN104991738A CN104991738A CN201510345561.XA CN201510345561A CN104991738A CN 104991738 A CN104991738 A CN 104991738A CN 201510345561 A CN201510345561 A CN 201510345561A CN 104991738 A CN104991738 A CN 104991738A
- Authority
- CN
- China
- Prior art keywords
- flash chip
- state disk
- solid
- user data
- request
- 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
Landscapes
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本发明公开了一种固态盘及其读写操作方法。固态盘包括固态盘控制器、n+1个通道、m个SLC闪存芯片和m×n个MLC闪存芯片,其中,m和n均为正整数;m个SLC闪存芯片设置在n+1个通道的其中一个通道上,m×n个MLC闪存芯片设置在n+1个通道的剩余的n个通道上,剩余的n个通道中的每一个通道上均有m个MLC闪存芯片;SLC闪存芯片的存储容量较小,用于存储校验数据,MLC闪存芯片的存储容量较大,用于存储用户数据,SLC闪存芯片和MLC闪存芯片通过其所在的通道进行数据传输。本发明能有效地提高固态盘的使用寿命,降低存储系统的成本。
Description
技术领域
本发明属于计算机存储技术领域,更具体地,涉及一种固态盘及其读写操作方法。
背景技术
基于闪存芯片的固态盘相对于传统磁盘具有高读写速度、低能耗以及抗震性等优点。为了提高固态盘的容量密度,多层单元(Multi-Level Cell,MLC)技术,即一个存储单元中存储两个或两个以上的比特信息,被广泛地应用于固态盘;同时固态盘的工艺尺寸正在持续缩小,这些都将会导致固态盘的使用寿命下降。
固态盘的使用寿命主要受其底层结构限制。闪存的存储单元包含着一层氧化层,该氧化层可以保存电子,根据保存的电子数量显现出不同的电荷状态,从而保存比特信息。固态盘的擦写操作会损耗氧化层,使得电子从氧化层中逸出,导致固态盘的原始比特错误率上升。当原始比特错误率上升导致固态盘的数据可靠性无法保证时,固态盘的寿命殆尽。基于MLC闪存芯片的固态盘由于一个存储单元中存储了更多比特信息位,具有更高的原始比特错误率,导致其寿命较短。目前,业界通过加强页内ECC校验能力来提高固态盘的数据可靠性,从而延长固态盘的使用寿命,但与此同时会增加固态盘的译码时延,且受限于备用区的比特长度。所以如何最有效地提高固态盘的使用寿命成为业界关注的问题。
发明内容
针对现有技术的以上缺陷或改进需求,本发明提供了一种固态盘及其读写操作方法,能有效地提高固态盘的使用寿命,降低存储系统的成本。
为实现上述目的,按照本发明的一个方面,提供了一种固态盘,其特征在于,包括固态盘控制器、n+1个通道、m个SLC闪存芯片和m×n个MLC闪存芯片,其中,m和n均为正整数;所述m个SLC闪存芯片设置在所述n+1个通道的其中一个通道上,所述m×n个MLC闪存芯片设置在所述n+1个通道的剩余的n个通道上,所述剩余的n个通道中的每一个通道上均有m个MLC闪存芯片;所述SLC闪存芯片的存储容量较小,用于存储校验数据,所述MLC闪存芯片的存储容量较大,用于存储用户数据,所述SLC闪存芯片和所述MLC闪存芯片通过其所在的通道进行数据传输。
优选地,所述m个SLC闪存芯片和所述m×n个MLC闪存芯片被分为m组,一个SLC闪存芯片和n个MLC闪存芯片为一组;单组闪存芯片存储的用户数据和校验数据被划分为多个条带,SLC闪存芯片存储的s个校验数据块和n个MLC闪存芯片存储的i×s×n个用户数据块组成一个条带,其中,s为正整数,i为MLC闪存芯片相对于SLC闪存芯片的存储容量的倍数。
按照本发明的另一方面,提供了一种上述固态盘的写操作方法,其特征在于,包括如下步骤:
(1)固态盘控制器接收上层请求,辨别请求类型为写请求;
(2)固态盘根据MLC闪存芯片页大小将写请求分割为多个子请求;
(3)判断子请求能否构成满条带写,若能则跳至步骤(5),否则顺序执行步骤(4);
(4)进行预读操作,用于计算页内ECC校验和校验数据;
(5)计算得到页内ECC校验和校验数据;
(6)向MLC闪存芯片写入用户数据和页内ECC校验,向SLC闪存芯片写入校验数据,完成写操作。
按照本发明的另一方面,提供了一种上述固态盘的读操作方法,其特征在于,包括如下步骤:
(1)固态盘控制器接收上层请求,辨别请求类型为读请求;
(2)固态盘根据MLC闪存芯片页大小将读请求分割为多个子请求;
(3)向MLC闪存芯片下发子请求,读取用户数据和ECC校验;
(4)根据ECC校验判断用户数据是否正确,若正确则跳至步骤(9),否则顺序执行步骤(5);
(5)判断能否通过ECC校验获得正确的用户数据,若能则顺序执行步骤(6),否则跳至步骤(7);
(6)通过ECC校验获得正确的用户数据,跳至步骤(9);
(7)进行降级读操作,用于重构用户数据;
(8)重构用户数据;
(9)固态盘控制器向上层返回用户数据,完成读操作。
总体而言,通过本发明所构思的以上技术方案与现有技术相比,具有以下有益效果:
1、固态盘包括MLC闪存芯片和单层单元(Single-Level Cell,SLC)闪存芯片,MLC闪存芯片用于存储用户数据,SLC闪存芯片用于存储校验数据,实现了多级数据冗余,使得固态盘能够容忍更高的原始比特错误率,因而能提高固态盘的使用寿命。另外,由于没有加强页内ECC的校验能力,不会增加固态盘的译码时延。
2、固态盘使用SLC闪存芯片存储校验数据,并将用户数据和校验数据划分为多个条带,减小了校验数据的更新对固态盘读写性能的影响。
3、在写操作时,固态盘根据子请求是否能构成满条带写,进行预读操作,在生成ECC校验的同时还生成校验数据,使得固态盘能够容忍更高的原始比特错误率,从而提高固态盘的使用寿命。
4、在读操作时,固态盘在发现用户数据不正确且无法通过ECC校验获得正确的用户数据时,进行降级读操作重构用户数据,使得固态盘能够容忍更高的原始比特错误率,从而提高固态盘的使用寿命。
附图说明
图1是本发明实施例的固态盘的系统架构图;
图2是本发明实施例的固态盘的用户数据和校验数据分布图;
图3是本发明实施例的固态盘的写操作方法流程图;
图4是本发明实施例的固态盘的读操作方法流程图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。
如图1所示,本发明实施例的固态盘包括固态盘控制器、n+1个通道、m个SLC闪存芯片和m×n个MLC闪存芯片,m和n均为正整数。固态盘控制器用于接收并处理上层读写负载请求,根据上层读写负载请求,向SLC闪存芯片和MLC闪存芯片下发读写请求。固态盘控制器控制n+1个通道,其中一个通道上有m个SLC闪存芯片,剩余n个通道中的每一个通道上均有m个MLC闪存芯片。SLC闪存芯片的存储容量较小,用于存储校验数据,MLC闪存芯片的存储容量较大,用于存储用户数据,SLC闪存芯片和MLC闪存芯片通过其所在的通道进行数据传输。
固态盘的所有闪存芯片被分为m组,一个SLC闪存芯片和n个MLC闪存芯片为一组。如图2所示,单组闪存芯片存储的用户数据和校验数据被划分为多个条带,SLC闪存芯片存储的s个校验数据块和n个MLC闪存芯片存储的i×s×n个用户数据块组成一个条带,其中,s为正整数,i为MLC闪存芯片相对于SLC闪存芯片的存储容量的倍数。图2(a)为s=1时单组闪存芯片的用户数据与校验数据分布,图2(b)为s=2时单组闪存芯片的用户数据与校验数据分布。
如图3所示,上述固态盘的写操作方法包括如下步骤:
(1)固态盘控制器接收上层请求,辨别请求类型为写请求;
(2)固态盘根据MLC闪存芯片页大小将写请求分割为多个子请求;
(3)判断子请求能否构成满条带写,若能则跳至步骤(5),否则顺序执行步骤(4);
(4)进行预读操作,用于计算页内ECC校验和校验数据;
(5)计算得到页内ECC校验和校验数据;
(6)向MLC闪存芯片写入用户数据和页内ECC校验,向SLC闪存芯片写入校验数据,完成写操作。
如图4所示,上述固态盘的读操作方法包括如下步骤:
(1)固态盘控制器接收上层请求,辨别请求类型为读请求;
(2)固态盘根据MLC闪存芯片页大小将读请求分割为多个子请求;
(3)向MLC闪存芯片下发子请求,读取用户数据和ECC校验;
(4)根据ECC校验判断用户数据是否正确,若正确则跳至步骤(9),否则顺序执行步骤(5);
(5)判断能否通过ECC校验获得正确的用户数据,若能则顺序执行步骤(6),否则跳至步骤(7);
(6)通过ECC校验获得正确的用户数据,跳至步骤(9);
(7)进行降级读操作,用于重构用户数据;
(8)重构用户数据;
(9)固态盘控制器向上层返回用户数据,完成读操作。
本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (4)
1.一种固态盘,其特征在于,包括固态盘控制器、n+1个通道、m个SLC闪存芯片和m×n个MLC闪存芯片,其中,m和n均为正整数;
所述m个SLC闪存芯片设置在所述n+1个通道的其中一个通道上,所述m×n个MLC闪存芯片设置在所述n+1个通道的剩余的n个通道上,所述剩余的n个通道中的每一个通道上均有m个MLC闪存芯片;所述SLC闪存芯片的存储容量较小,用于存储校验数据,所述MLC闪存芯片的存储容量较大,用于存储用户数据,所述SLC闪存芯片和所述MLC闪存芯片通过其所在的通道进行数据传输。
2.如权利要求1所述的固态盘,其特征在于,所述m个SLC闪存芯片和所述m×n个MLC闪存芯片被分为m组,一个SLC闪存芯片和n个MLC闪存芯片为一组;单组闪存芯片存储的用户数据和校验数据被划分为多个条带,SLC闪存芯片存储的s个校验数据块和n个MLC闪存芯片存储的i×s×n个用户数据块组成一个条带,其中,s为正整数,i为MLC闪存芯片相对于SLC闪存芯片的存储容量的倍数。
3.一种如权利要求1或2所述的固态盘的写操作方法,其特征在于,包括如下步骤:
(1)固态盘控制器接收上层请求,辨别请求类型为写请求;
(2)固态盘根据MLC闪存芯片页大小将写请求分割为多个子请求;
(3)判断子请求能否构成满条带写,若能则跳至步骤(5),否则顺序执行步骤(4);
(4)进行预读操作,用于计算页内ECC校验和校验数据;
(5)计算得到页内ECC校验和校验数据;
(6)向MLC闪存芯片写入用户数据和页内ECC校验,向SLC闪存芯片写入校验数据,完成写操作。
4.一种如权利要求1或2所述的固态盘的读操作方法,其特征在于,包括如下步骤:
(1)固态盘控制器接收上层请求,辨别请求类型为读请求;
(2)固态盘根据MLC闪存芯片页大小将读请求分割为多个子请求;
(3)向MLC闪存芯片下发子请求,读取用户数据和ECC校验;
(4)根据ECC校验判断用户数据是否正确,若正确则跳至步骤(9),否则顺序执行步骤(5);
(5)判断能否通过ECC校验获得正确的用户数据,若能则顺序执行步骤(6),否则跳至步骤(7);
(6)通过ECC校验获得正确的用户数据,跳至步骤(9);
(7)进行降级读操作,用于重构用户数据;
(8)重构用户数据;
(9)固态盘控制器向上层返回用户数据,完成读操作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510345561.XA CN104991738B (zh) | 2015-06-19 | 2015-06-19 | 一种固态盘及其读写操作方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510345561.XA CN104991738B (zh) | 2015-06-19 | 2015-06-19 | 一种固态盘及其读写操作方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104991738A true CN104991738A (zh) | 2015-10-21 |
CN104991738B CN104991738B (zh) | 2018-04-24 |
Family
ID=54303554
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510345561.XA Active CN104991738B (zh) | 2015-06-19 | 2015-06-19 | 一种固态盘及其读写操作方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104991738B (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106155935A (zh) * | 2016-07-05 | 2016-11-23 | 深圳市瑞耐斯技术有限公司 | 固态硬盘闪存的垃圾回收方法及装置 |
WO2017114232A1 (zh) * | 2015-12-30 | 2017-07-06 | 华为技术有限公司 | 一种数据读取方法、raid控制器及存储设备 |
CN107506309A (zh) * | 2017-06-30 | 2017-12-22 | 深圳市硅格半导体股份有限公司 | 终端及闪存数据写入方法和计算机可读存储介质 |
CN108108263A (zh) * | 2017-12-14 | 2018-06-01 | 联想(北京)有限公司 | 一种固态硬盘的数据处理方法及装置 |
CN108877862A (zh) * | 2017-05-10 | 2018-11-23 | 北京忆芯科技有限公司 | 页条带的数据组织以及向页条带写入数据的方法与装置 |
CN109144399A (zh) * | 2017-06-16 | 2019-01-04 | 杭州海康威视数字技术股份有限公司 | 一种数据存储方法、装置及电子设备 |
CN110890123A (zh) * | 2018-09-11 | 2020-03-17 | 爱思开海力士有限公司 | 数据处理系统及其操作方法 |
CN111679787A (zh) * | 2016-04-27 | 2020-09-18 | 慧荣科技股份有限公司 | 闪存装置、闪存控制器及闪存存储管理方法 |
US11847023B2 (en) | 2016-04-27 | 2023-12-19 | Silicon Motion, Inc. | Flash memory apparatus and storage management method for flash memory |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080215800A1 (en) * | 2000-01-06 | 2008-09-04 | Super Talent Electronics, Inc. | Hybrid SSD Using A Combination of SLC and MLC Flash Memory Arrays |
US20090327590A1 (en) * | 2008-06-25 | 2009-12-31 | Stec, Inc. | Enhanced mlc solid state device |
CN101866678A (zh) * | 2009-04-17 | 2010-10-20 | 常州南基天盛科技有限公司 | 闪存盘 |
CN102122235A (zh) * | 2011-01-24 | 2011-07-13 | 武汉固捷联讯科技有限公司 | 一种raid4系统及其数据读写方法 |
CN103019882A (zh) * | 2012-11-12 | 2013-04-03 | 记忆科技(深圳)有限公司 | 固态硬盘的raid4系统 |
CN103955430A (zh) * | 2014-03-31 | 2014-07-30 | 深圳市江波龙电子有限公司 | 一种闪存存储设备中数据管理的方法及装置 |
-
2015
- 2015-06-19 CN CN201510345561.XA patent/CN104991738B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080215800A1 (en) * | 2000-01-06 | 2008-09-04 | Super Talent Electronics, Inc. | Hybrid SSD Using A Combination of SLC and MLC Flash Memory Arrays |
US20090327590A1 (en) * | 2008-06-25 | 2009-12-31 | Stec, Inc. | Enhanced mlc solid state device |
CN101866678A (zh) * | 2009-04-17 | 2010-10-20 | 常州南基天盛科技有限公司 | 闪存盘 |
CN102122235A (zh) * | 2011-01-24 | 2011-07-13 | 武汉固捷联讯科技有限公司 | 一种raid4系统及其数据读写方法 |
CN103019882A (zh) * | 2012-11-12 | 2013-04-03 | 记忆科技(深圳)有限公司 | 固态硬盘的raid4系统 |
CN103955430A (zh) * | 2014-03-31 | 2014-07-30 | 深圳市江波龙电子有限公司 | 一种闪存存储设备中数据管理的方法及装置 |
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017114232A1 (zh) * | 2015-12-30 | 2017-07-06 | 华为技术有限公司 | 一种数据读取方法、raid控制器及存储设备 |
CN111679787B (zh) * | 2016-04-27 | 2023-07-18 | 慧荣科技股份有限公司 | 闪存装置、闪存控制器及闪存存储管理方法 |
US11916569B2 (en) | 2016-04-27 | 2024-02-27 | Silicon Motion, Inc. | Flash memory apparatus and storage management method for flash memory |
CN111679787A (zh) * | 2016-04-27 | 2020-09-18 | 慧荣科技股份有限公司 | 闪存装置、闪存控制器及闪存存储管理方法 |
US11847023B2 (en) | 2016-04-27 | 2023-12-19 | Silicon Motion, Inc. | Flash memory apparatus and storage management method for flash memory |
CN106155935A (zh) * | 2016-07-05 | 2016-11-23 | 深圳市瑞耐斯技术有限公司 | 固态硬盘闪存的垃圾回收方法及装置 |
CN108877862B (zh) * | 2017-05-10 | 2021-10-08 | 北京忆芯科技有限公司 | 页条带的数据组织以及向页条带写入数据的方法与装置 |
CN108877862A (zh) * | 2017-05-10 | 2018-11-23 | 北京忆芯科技有限公司 | 页条带的数据组织以及向页条带写入数据的方法与装置 |
CN109144399A (zh) * | 2017-06-16 | 2019-01-04 | 杭州海康威视数字技术股份有限公司 | 一种数据存储方法、装置及电子设备 |
CN109144399B (zh) * | 2017-06-16 | 2021-12-17 | 杭州海康威视数字技术股份有限公司 | 一种数据存储方法、装置及电子设备 |
CN107506309B (zh) * | 2017-06-30 | 2020-05-19 | 深圳市硅格半导体有限公司 | 终端及闪存数据写入方法和计算机可读存储介质 |
CN107506309A (zh) * | 2017-06-30 | 2017-12-22 | 深圳市硅格半导体股份有限公司 | 终端及闪存数据写入方法和计算机可读存储介质 |
CN108108263A (zh) * | 2017-12-14 | 2018-06-01 | 联想(北京)有限公司 | 一种固态硬盘的数据处理方法及装置 |
US11639969B2 (en) | 2018-09-11 | 2023-05-02 | SK Hynix Inc. | Data processing system and operating method thereof |
CN110890123A (zh) * | 2018-09-11 | 2020-03-17 | 爱思开海力士有限公司 | 数据处理系统及其操作方法 |
CN110890123B (zh) * | 2018-09-11 | 2024-03-19 | 爱思开海力士有限公司 | 数据处理系统及其操作方法 |
Also Published As
Publication number | Publication date |
---|---|
CN104991738B (zh) | 2018-04-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104991738A (zh) | 一种固态盘及其读写操作方法 | |
CN105573681B (zh) | 一种ssd盘片内部raid组建方法及系统 | |
US8631310B2 (en) | Method for reducing uncorrectable errors of a memory device regarding error correction code, and associated memory device and controller thereof | |
US8656090B2 (en) | Method for performing block management, and associated memory device and controller thereof | |
US8429332B2 (en) | Multi-channel hybrid density memory storage device and control method thereof | |
US8762823B2 (en) | Method for performing data shaping, and associated memory device and controller thereof | |
US11676679B2 (en) | Two-layer code with low parity cost for memory sub-systems | |
US9418731B1 (en) | Memory management method, memory storage device and memory control circuit unit | |
US9171629B1 (en) | Storage device, memory controller and memory control method | |
US11210005B2 (en) | Unbalanced plane management method, associated data storage device and controller thereof | |
CN106484558A (zh) | 一种基于可变码率的纠错码提高固态盘的可靠性方法 | |
US20220027062A1 (en) | Relocating data to low latency memory | |
US20220357873A1 (en) | Implementing fault tolerant page stripes on low density memory systems | |
US11733892B2 (en) | Partial superblock memory management | |
CN102981969A (zh) | 重复数据删除的方法及其固态硬盘 | |
CN103198020A (zh) | 一种提高闪存使用寿命的方法 | |
US11487609B2 (en) | Separating parity data from host data in a memory sub-system | |
CN112599169B (zh) | 存储器的读操作控制方法及装置以及存储器控制器 | |
CN102122267A (zh) | 一种可同时进行数据传输及FTL管理的多通道NANDflash控制器 | |
US8276033B2 (en) | Data writing method for a flash memory, and flash memory controller and flash memory storage apparatus using the same | |
CN106021123B (zh) | 一种3d闪存物理块的选取方法及选取系统 | |
CN112562772A (zh) | 自适应低密度奇偶校验硬解码器 | |
US9436547B2 (en) | Data storing method, memory control circuit unit and memory storage device | |
US11861225B2 (en) | Management unit based media management operations in memory devices | |
US20240231632A1 (en) | Adaptive die selection for block family scan |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |