CN107885459B - 一种软件实现固态硬盘写入数据加扰的方法 - Google Patents
一种软件实现固态硬盘写入数据加扰的方法 Download PDFInfo
- Publication number
- CN107885459B CN107885459B CN201710913695.6A CN201710913695A CN107885459B CN 107885459 B CN107885459 B CN 107885459B CN 201710913695 A CN201710913695 A CN 201710913695A CN 107885459 B CN107885459 B CN 107885459B
- Authority
- CN
- China
- Prior art keywords
- data
- scrambling
- seeds
- meta
- write
- 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.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims abstract description 11
- 239000007787 solid Substances 0.000 title claims abstract description 8
- 238000010586 diagram Methods 0.000 description 14
- 239000002245 particle Substances 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
Images
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 (1)
1.一种软件实现固态硬盘写入数据加扰的方法,其特征在于通过以下方法获得加扰种子,根据写入数据的目标地址获取待写入数据页的meta数据,meta数据的前Nbit为加扰种子,加扰器根据加扰种子计算获得扰码,采用获得的扰码实现对除了加扰种子的当前写入数据的加扰将;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 CN107885459A (zh) | 2018-04-06 |
CN107885459B true 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) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108763105B (zh) * | 2018-05-28 | 2020-12-01 | 深圳忆联信息系统有限公司 | 提升固态存储设备写性能的方法、装置及计算机设备 |
CN112558883B (zh) * | 2020-12-23 | 2024-05-14 | 深圳大普微电子科技有限公司 | 一种数据存储管理方法、固态硬盘控制器及固态硬盘 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102546079A (zh) * | 2010-12-17 | 2012-07-04 | 中兴通讯股份有限公司 | 数据处理方法、装置及系统 |
CN103745746A (zh) * | 2013-12-31 | 2014-04-23 | 华为技术有限公司 | 数据处理方法、加扰器和存储控制器 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI332611B (en) * | 2007-05-24 | 2010-11-01 | Realtek Semiconductor Corp | Method for writing data in flash memory and error correction coding/decoding method thereof |
CN102789422B (zh) * | 2012-06-25 | 2016-03-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 (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102546079A (zh) * | 2010-12-17 | 2012-07-04 | 中兴通讯股份有限公司 | 数据处理方法、装置及系统 |
CN103745746A (zh) * | 2013-12-31 | 2014-04-23 | 华为技术有限公司 | 数据处理方法、加扰器和存储控制器 |
Also Published As
Publication number | Publication date |
---|---|
CN107885459A (zh) | 2018-04-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5019611B2 (ja) | メモリシステム | |
US10521292B2 (en) | Error correction code unit, self-test method and associated controller applied to flash memory device for generating soft information | |
US20140310534A1 (en) | Data scrambling in memory devices using combined sequences | |
KR101482242B1 (ko) | 플래쉬 메모리에 액세스하는 방법 및 연관된 플래쉬 메모리 제어기 | |
US8578243B2 (en) | Data scrambling schemes for memory devices | |
US8612667B2 (en) | Method for performing data pattern management regarding data accessed by a controller of a flash memory, and associated memory device and controller thereof | |
US20130176785A1 (en) | Method for accessing a flash memory, and associated flash memory system | |
US10430101B2 (en) | Semiconductor memory device that randomizes data and randomizer thereof | |
CN110444240B (zh) | 存储器系统的编码器和解码器及其方法 | |
US8867283B2 (en) | Semiconductor memory device, operating method thereof, and data storage apparatus including the same | |
US9965205B2 (en) | Data storage device performing a scramble operation and operating method thereof | |
CN106920575B (zh) | 数据存储装置及其操作方法 | |
KR20120095609A (ko) | 반도체 메모리 시스템 및 이의 프로그램 방법 | |
KR20090108586A (ko) | 에러 억제를 위해 랜더마이징하는 플래시 메모리 디바이스, 시스템 및 방법 | |
CN107885459B (zh) | 一种软件实现固态硬盘写入数据加扰的方法 | |
US11416393B2 (en) | Efficient scrambling and encoding for copyback procedures using precomputed values | |
US20080168214A1 (en) | Memory system and method using scrambled address data | |
JP2016015106A (ja) | 多次元データのランダム化 | |
JP2009048680A (ja) | 記憶装置 | |
US9672105B2 (en) | Device and method for processing data using logical information and physical information | |
CN103942115A (zh) | 一种nand闪存系统的数据存储容错编码方法 | |
CN107765997B (zh) | 一种固态硬盘写入数据加扰的方法 | |
US11275523B2 (en) | Per cursor logical unit number sequencing | |
US10923211B1 (en) | Efficient scrambling and encoding for copyback procedures in a memory subsystem | |
US20160071597A1 (en) | Storage device, memory controller and memory control method |
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 |