CN107885459A - 一种软件实现固态硬盘写入数据加扰的方法 - Google Patents
一种软件实现固态硬盘写入数据加扰的方法 Download PDFInfo
- Publication number
- CN107885459A CN107885459A CN201710913695.6A CN201710913695A CN107885459A CN 107885459 A CN107885459 A CN 107885459A CN 201710913695 A CN201710913695 A CN 201710913695A CN 107885459 A CN107885459 A CN 107885459A
- Authority
- CN
- China
- Prior art keywords
- data
- scrambling
- scrambler
- meta
- seeds
- 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 15
- 239000007787 solid Substances 0.000 title claims abstract description 9
- 238000010586 diagram Methods 0.000 description 11
- 239000002245 particle Substances 0.000 description 2
- 241001269238 Data Species 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 230000005611 electricity Effects 0.000 description 1
- 239000004065 semiconductor Substances 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/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
-
- 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/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
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)
- Storage Device Security (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本发明公开了一种软件实现固态硬盘写入数据加扰的方法,其特征在于通过以下方法加扰,根据写入数据的目标地址获取待写入数据页的meta数据,meta数据的前32bit的数据为加扰种子,加扰器根据加扰种子计算获得扰码,对meta中除了加扰种子的数据和用户数据加扰,再用加扰后的数据对加扰种子加扰,完成对整页数据的加扰。通过采用meta数据作为加扰种子,大大提高了数据的随机性保证了页内数据没有相关性、块内页间数据没有相关性和块内相同存储单元在不同的擦写次数的数据没有相关性。
Description
技术领域
本发明涉及固态硬盘控制技术,特别涉及一种软件实现固态硬盘写入数据加扰的方法。
背景技术
闪存通过控制栅施加电压来存储数据,对某些写入的数据样式很敏感,不断的输入全1或全0,很容易导致闪存内部电量不均衡,从而造成信号抗干扰性下降,导致这些数据在闪存中可靠性变差。因此需要NAND控制器Nand Flash Controller对用户写入的数据加入扰码,使最终写入闪存的数据0和1基本保持均衡,减小数据发生比特翻转的概率。随着半导体工艺的进步以及闪存单个存储单元容量的增加,写入闪存中数据的随机性对闪存使用寿命的影响越加明显,所以必须要保证数据的随机性。
闪存颗粒对写入数据的随机性要求主要体现在三个方面,1:页内数据没有相关性;2:块内页间数据没有相关性;3:块内相同存储单元在不同PE cycle下数据没有相关性。图1是页内数据没有相关性要求示意图;图2是块内页间数据没有相关性要求示意图;图3是块内相同存储单元在不同PE cycle下数据没有相关性要求示意图;每个圆表示一个存取单元,在每个图中实心圆中数据之间没有相关性。因此要求加入的扰码必须同时实现以上三个方面的没有相关性,才能保证数据的随机性。
发明内容
针对以上缺陷,本发明目的是如何提高和保证加扰后数据的随机性。
为了解决以上问题本发明提出了一种软件实现固态硬盘写入数据加扰的方法,其特征在于通过以下方法加扰,根据写入数据的目标地址获取待写入数据页的meta数据,meta数据的前Nbit的数据为加扰种子,加扰器根据加扰种子计算获得扰码,采用获得的扰码实现对除去加扰种子的当前写入数据的加扰,再用加扰后的数据对加扰种子加扰,完成对整页数据的加扰。
所述的软件实现固态硬盘写入数据加扰的方法,其特征在于将meta数据的前32bit的数据当前作为第一加扰种子,加扰器根据第一加扰种子生成第一扰码,根据获得的第一扰码对除了前32bit的meta数据和用户写入数据进行加扰;将加扰后的meta数据的后96bit,按每32bit为一组,共分为3组,根据这3组数据计算获得第二扰码,即扰码种子的扰码,并完成对扰码种子的加扰。
本发明通过采用meta数据作为加扰种子,大大提高了数据的随机性保证了页内数据没有相关性、块内页间数据没有相关性和块内相同存储单元在不同的擦写次数的数据没有相关性。
附图说明
图1是页内数据没有相关性要求示意图;
图2是块内页间数据没有相关性要求示意图;
图3是块内相同存储单元在不同PE cycle下数据没有相关性要求示意图;
图4是meta数据的结构图;
图5是软件Seed加扰的实现流程图;
图6是单个码字的加扰示意图;
图7是软件Seed加扰的解码实现流程图;
图8是单个码字的解码示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在许多数据传输中,连0连1的序列被认为是不稳定信号,需要尽量避免,于是加扰被广泛应用于这种场合。闪存颗粒对写入数据的随机性要求主要体现在三个方面,1:页内数据没有相关性;2:块内页间数据没有相关性;3:块内相同存储单元在不同PE cycle下数据没有相关性。
图4是meta数据结构图,meta总共存放128bit数据,前32bit存放Seed,后96bit存放软件定义的其他meta数据。meta的前32bit存放固件选取的seed,由固件控制seed是为了提高其灵活性。meta的其他数据主要是FTL和一些其他的查找表,这些数据随着储存页的使用被更新。
图5是软件Seed加扰的实现流程图,scrambler模块根据meta中的seed产生扰码,用扰码将seed以外的数据加扰,这时只有seed没有加扰;选取其他的加扰数据对seed加扰;当前码字加扰完成。
假设扰码通过异或加到数据上,Seed在meta的头32bit上,使用加扰后meta的后96bit给Seed加扰。
图6是单个码字的加扰示意图,给出软件Seed加扰方案的详细步骤。将meta数据的前32bit的数据当前作为第一加扰种子,加扰器根据第一扰码种子生成第一扰码,根据获得的第一扰码对除了前32bit的meta数据和用户写入数据进行加扰;将加扰后的meta数据的后96bit,按每32bit为一组,共分为3组,meta中的加扰种子与这3组数据计算获得加扰种子第二扰码,即扰码种子的扰码,并完成对扰码种子的加扰。
图7是软件Seed加扰的解码实现流程图。首先求取第二扰码,对seed进行解码得到第一扰码种子,加扰器根据第一扰码种子生成第一扰码,用第一扰码将seed以外的数据解码。
图8是单个码字的解码示意图,给出软件Seed加扰方案解码的详细步骤。根据加扰后meta数据的后96bit的数据计算第二扰码,根据第二扰码对seed解码得到第一扰码种子,加扰器根据第一扰码种子生成第一扰码,根据获得的第一扰码对除了前32bit的meta数据和用户写入数据进行解码,完成整页数据的解码。
本发明通过采用meta数据作为加扰种子,大大提高了数据的随机性保证了页内数据没有相关性、块内页间数据没有相关性和块内相同存储单元在不同的擦写次数的数据没有相关性。
软件Seed加扰方案为了保证数据的随机性,需要固件控制好每个码字的seed。
方案中的seed必须满足以下条件:
1:seed产生的随机数0,1等概,避免出现过多连0连1的情况。
2:seed产生的随机数相互之间应该随机,组成的block内部bit-line上不能出现过多连0连1的情况。
3:seed的选取必须与写入块的擦写次数相关联。
以上所揭露的仅为本发明一种实施例而已,当然不能以此来限定本之权利范围,本领域普通技术人员可以理解实现上述实施例的全部或部分流程,并依本发明权利要求所作的等同变化,仍属于本发明所涵盖的范围。
Claims (2)
1.一种软件实现固态硬盘写入数据加扰的方法,其特征在于通过以下方法获得加扰种子,根据写入数据的目标地址获取待写入数据页的meta数据,meta数据的前Nbit为加扰种子,加扰器根据加扰种子计算获得扰码,采用获得的扰码实现对除了加扰种子的当前写入数据的加扰。
2.根据权利要求1所述的软件实现固态硬盘写入数据加扰的方法,其特征在于将meta数据的前32bit的数据当前作为加扰种子,加扰器根据加扰种子生成第一扰码,根据获得的第一扰码对除了前32bit的meta数据和用户写入数据进行加扰;将加扰后的meta数据的后96bit,按每32bit为一组,共分为3组,meta中的加扰种子与这3组数据计算获得第二扰码,即扰码种子的扰码,并完成对扰码种子的加扰。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710913695.6A CN107885459B (zh) | 2017-09-30 | 2017-09-30 | 一种软件实现固态硬盘写入数据加扰的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710913695.6A CN107885459B (zh) | 2017-09-30 | 2017-09-30 | 一种软件实现固态硬盘写入数据加扰的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107885459A true CN107885459A (zh) | 2018-04-06 |
CN107885459B CN107885459B (zh) | 2020-12-18 |
Family
ID=61781148
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710913695.6A Expired - Fee Related CN107885459B (zh) | 2017-09-30 | 2017-09-30 | 一种软件实现固态硬盘写入数据加扰的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107885459B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108763105A (zh) * | 2018-05-28 | 2018-11-06 | 深圳忆联信息系统有限公司 | 提升固态存储设备写性能的方法、装置及计算机设备 |
CN112558883A (zh) * | 2020-12-23 | 2021-03-26 | 深圳大普微电子科技有限公司 | 一种数据存储管理方法、固态硬盘控制器及固态硬盘 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080294965A1 (en) * | 2007-05-24 | 2008-11-27 | Realtek Semiconductor Corp. | Data Writing Method For Flash Memory and Error Correction Encoding/Decoding Method Thereof |
CN102546079A (zh) * | 2010-12-17 | 2012-07-04 | 中兴通讯股份有限公司 | 数据处理方法、装置及系统 |
CN102789422A (zh) * | 2012-06-25 | 2012-11-21 | 记忆科技(深圳)有限公司 | 固态硬盘的数据写入方法及系统 |
CN103745746A (zh) * | 2013-12-31 | 2014-04-23 | 华为技术有限公司 | 数据处理方法、加扰器和存储控制器 |
CN105279108A (zh) * | 2014-07-25 | 2016-01-27 | 广明光电股份有限公司 | 固态硬盘写入数据的方法 |
-
2017
- 2017-09-30 CN CN201710913695.6A patent/CN107885459B/zh not_active Expired - Fee Related
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080294965A1 (en) * | 2007-05-24 | 2008-11-27 | Realtek Semiconductor Corp. | Data Writing Method For Flash Memory and Error Correction Encoding/Decoding Method Thereof |
CN102546079A (zh) * | 2010-12-17 | 2012-07-04 | 中兴通讯股份有限公司 | 数据处理方法、装置及系统 |
CN102789422A (zh) * | 2012-06-25 | 2012-11-21 | 记忆科技(深圳)有限公司 | 固态硬盘的数据写入方法及系统 |
CN103745746A (zh) * | 2013-12-31 | 2014-04-23 | 华为技术有限公司 | 数据处理方法、加扰器和存储控制器 |
CN105279108A (zh) * | 2014-07-25 | 2016-01-27 | 广明光电股份有限公司 | 固态硬盘写入数据的方法 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108763105A (zh) * | 2018-05-28 | 2018-11-06 | 深圳忆联信息系统有限公司 | 提升固态存储设备写性能的方法、装置及计算机设备 |
CN108763105B (zh) * | 2018-05-28 | 2020-12-01 | 深圳忆联信息系统有限公司 | 提升固态存储设备写性能的方法、装置及计算机设备 |
CN112558883A (zh) * | 2020-12-23 | 2021-03-26 | 深圳大普微电子科技有限公司 | 一种数据存储管理方法、固态硬盘控制器及固态硬盘 |
CN112558883B (zh) * | 2020-12-23 | 2024-05-14 | 深圳大普微电子科技有限公司 | 一种数据存储管理方法、固态硬盘控制器及固态硬盘 |
Also Published As
Publication number | Publication date |
---|---|
CN107885459B (zh) | 2020-12-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8806171B2 (en) | Systems and methods providing wear leveling using dynamic randomization for non-volatile memory | |
CN103140894B (zh) | 在非易失性存储器(nvm)单元中减轻单元间耦合效应 | |
KR102327076B1 (ko) | 데이터 저장 장치 및 그것의 동작 방법 | |
CN103337257B (zh) | 一种nand闪存设备及其操作方法 | |
US20130097403A1 (en) | Address Mapping in Memory Systems | |
CN104750618A (zh) | 数据储存装置以及快闪存储器控制方法 | |
JP2009157841A (ja) | メモリシステム | |
US20210311868A1 (en) | Self-seeded randomizer for data randomization in flash memory | |
US9251900B2 (en) | Data scrambling based on transition characteristic of the data | |
US20180067661A1 (en) | Memory wear leveling | |
CN107885459A (zh) | 一种软件实现固态硬盘写入数据加扰的方法 | |
CN104991738A (zh) | 一种固态盘及其读写操作方法 | |
US11416393B2 (en) | Efficient scrambling and encoding for copyback procedures using precomputed values | |
US20150310920A1 (en) | Storage device, memory controller and memory control method | |
CN107506138A (zh) | 一种固态硬盘提升寿命的方法 | |
CN103942115B (zh) | 一种nand闪存系统的数据存储容错编码方法 | |
CN109582491B (zh) | 基于机器学习的读出数据错误处理 | |
CN104463020A (zh) | 存储器数据完整性保护的方法 | |
US11768766B2 (en) | Metadata aware copyback for memory devices | |
CN101000582A (zh) | 一种存储器数据加密装置和方法及其解密装置及方法 | |
CN102567689A (zh) | 基于相变存储器的非易失内存数据机密性保护方法 | |
US20120137048A1 (en) | Method and apparatus for improving endurance of flash memories | |
CN107765997A (zh) | 一种固态硬盘写入数据加扰的方法 | |
CN103365782A (zh) | 内存管理方法 | |
CN106502821A (zh) | 一种获取闪存对偶页错误相关性的方法和系统 |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20201218 |