CN107885459B - 一种软件实现固态硬盘写入数据加扰的方法 - Google Patents

一种软件实现固态硬盘写入数据加扰的方法 Download PDF

Info

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
Application number
CN201710913695.6A
Other languages
English (en)
Other versions
CN107885459A (zh
Inventor
伦建坤
郭超
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ramaxel Technology Shenzhen Co Ltd
Original Assignee
Ramaxel Technology Shenzhen Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Ramaxel Technology Shenzhen Co Ltd filed Critical Ramaxel Technology Shenzhen Co Ltd
Priority to CN201710913695.6A priority Critical patent/CN107885459B/zh
Publication of CN107885459A publication Critical patent/CN107885459A/zh
Application granted granted Critical
Publication of CN107885459B publication Critical patent/CN107885459B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/064Management 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组数据计算获得第二扰码,即扰码种子的扰码,并完成对扰码种子的加扰。
CN201710913695.6A 2017-09-30 2017-09-30 一种软件实现固态硬盘写入数据加扰的方法 Expired - Fee Related CN107885459B (zh)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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 广明光电股份有限公司 固态硬盘写入数据的方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
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