CN102231284A - Method for reducing power consumption of flash memory chip data writing operation - Google Patents

Method for reducing power consumption of flash memory chip data writing operation Download PDF

Info

Publication number
CN102231284A
CN102231284A CN201110146489XA CN201110146489A CN102231284A CN 102231284 A CN102231284 A CN 102231284A CN 201110146489X A CN201110146489X A CN 201110146489XA CN 201110146489 A CN201110146489 A CN 201110146489A CN 102231284 A CN102231284 A CN 102231284A
Authority
CN
China
Prior art keywords
value
flash memory
size
redundant
capacity
Prior art date
Application number
CN201110146489XA
Other languages
Chinese (zh)
Inventor
孙飞
张彤
Original Assignee
孙飞
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 孙飞 filed Critical 孙飞
Priority to CN201110146489XA priority Critical patent/CN102231284A/en
Publication of CN102231284A publication Critical patent/CN102231284A/en

Links

Abstract

A method for reducing power consumption of flash memory chip data writing operation. Through a precoding processing, user data is changed, and corresponding precoding data redundancy is introduced; then the precoding is output to carry out an error correction code coding operation to generate corresponding error correcting code redundancy, so as to reduce power consumption of corresponding flash memory data writing; at last, the precoding is output and written into the flash memory chip together with the error correcting code redundancy. A flash memory chip reliability scope and a corresponding required error correcting code redundancy amount are given; when an estimated or detected flash memory chip reliability falls into the given flash memory chip reliability scope, a error correcting code redundancy amount can be obtained, so as to adjust error correcting code coding operation dynamically. Meanwhile, the required error correcting code redundancy amount is subtracted from a fixed redundancy storage space contained in a page itself, so as to obtain a precoding redundancy amount to adjust precoding operation dynamically. The power consumption of flash memory chip data writing operation is reduced effectively by utilizing a characteristic that the power consumption of flash memory chip data writing operation is directly related to the content of the written data.

Description

一种降低闪存芯片数据写操作功耗的方法 A method of reducing the data write operation flash memory chip power consumption

技术领域 FIELD

[0001] 本发明属于存储器与计算机体系结构技术领域,特别涉及一种降低闪存芯片数据写操作功耗的方法。 [0001] The present invention belongs to the field of memory and the computer system architecture technology, particularly relates to a method of reducing the data write operation flash memory chip power consumption.

背景技术 Background technique

[0002] 作为唯一主流的固态非挥发数据储存技术,闪存已经成为了全球半导体产业体系中发展最为迅速的一环。 [0002] As the only mainstream solid-state non-volatile data storage technology, flash memory has become the global semiconductor industry system in the fastest growing part. 2010年市场研究报告显示,闪存产品的市场已突破200亿美元。 2010 market research report shows that the market flash memory products has exceeded $ 20 billion. 使用闪存作为存储介质的固态存储系统比传统硬盘的速度可提高10至100倍。 Solid state memory system using flash memory as storage medium than the conventional speed of the hard disk can be increased by 10 to 100 times. 除了速度上的优势,由于完全没有机械结构,固态存储系统在抗震性能、发热功耗、使用噪音和体积重量方面都有着显著的优势。 In addition to the advantage of speed, because there is no mechanical structure, solid state memory system in seismic performance, heating power consumption, weight and volume of noise all have significant advantages. 固态存储系统主要包含一个固态存储系统控制器和多个闪存 Solid state memory system comprises a main system controller and a plurality of solid-state flash memory

-H-· II心片。 -H- · II Tablet.

[0003] 浮栅金属氧化物半导体晶体管是闪存芯片的基本信息存储单元。 [0003] The floating gate MOS transistor is the basic unit information storage flash memory chips. 浮栅金属氧化物半导体晶体管的阈值电压可以通过注射一定数量的电子进入浮栅而改变。 The threshold voltage of a floating gate MOS transistor can be produced by injection of electrons into a number of floating gate varies. 因此,通过对浮栅内电子数目的精确控制,每个存储单元,即浮栅金属氧化物半导体晶体管,可储存多个比特信息。 Thus, by precisely controlling the number of electrons in the floating gate of each memory cell, i.e. floating gate MOS transistors can store multiple bits of information. 精确控制浮栅内电子数目的过程通常被称为编程。 Precise control of the number of electrons within the floating gate process commonly referred to as programmed. 在每一个存储单元可以被编程之前,其浮栅内的所有电子必须被移走,从而使得其阈值电压被置为最低,这个过程被称为擦除。 Before each memory cell can be programmed, all electrons within the floating gate which must be removed, so that its threshold voltage is set to a minimum, this process is called erased. 在对信息存储单元编程的过程中,业界通常使用一种渐进式的“编程-校验-再编程”的方法以实现对浮栅内电子数目的精确控制。 In the process of the information in the memory cell programming, the industry typically uses a progressive "Programming - Calibration - re-programming" method to achieve precise control of the number of electrons in the floating gate. 由于闪存芯片使用渐进式的“编程-校验-再编程”的方法完成数据写操作,并且每一轮“编程-校验”操作会引发大量的位线充电/放电,所以闪存芯片数据写操作消耗相对较大的能量,并且整个闪存芯片数据存储系统的功耗基本上由数据写操作功耗所决定,目前还没有有效地解决降低该操作功耗的方法。 Since the flash memory chip using progressive "Programming - Calibration - re-programming" method to complete the data write operation, and each one "Programming - Check" operation will lead to a large number of bit line charging / discharging, so that a data write operation flash memory chip relatively large energy consumption, power consumption of the entire flash memory chip and the data storage system by the data write operation is substantially determined by the power consumption, there is no effective solution to reduce the operating power consumption.

发明内容 SUMMARY

[0004] 为了克服上述现有技术存在的不足,本发明的目的在于提供一种降低闪存芯片数据写入功耗的方法,利用闪存芯片的数据写入功耗与所写数据内容直接相关的特点,非常有效地降低了闪存芯片写操作功耗。 [0004] To overcome the shortcomings of the prior art, an object of the present invention to provide a method of writing data to the flash memory chip power consumption is reduced by using the data write characteristics of flash memory chips power consumption is directly related to the written content data , very effective in reducing the power consumption of flash memory chips write operation.

[0005] 为了达到上述目的,本发明所采用的技术方案是: [0005] To achieve the above object, the technical solution employed in the present invention:

[0006] 一种降低闪存芯片数据写入功耗的方法,首先固态存储系统控制器将每帧用户数据写入闪存芯片时,将每帧用户数据先进行预编码处理,该预编码处理是将该帧用户数据分解为一个以上的数据块,再由固态存储系统控制器设定预编码冗余容量大小以及纠错码冗余容量大小,该预编码冗余容量大小不大于预设的预编码冗余量限定值,该纠错码冗余容量大小不大于待写入的闪存芯片页面的固定冗余存储空间容量大小除去预编码冗余容量大小的值,随后对每个数据块进行编码得到带有预编码冗余容量大小的预编码冗余的编码数据块,然后对此带有预编码冗余的编码数据块进行纠错码编码操作,这样得到带有预编码冗余的编码数据块及其纠错码冗余容量大小的纠错码冗余,最后将带有预编码冗余的编码数据块及其纠错码冗余写入闪存芯片中的指定页面 When [0006] A method of writing data to the flash memory chip to reduce power consumption, solid state memory system controller first frame of each user data is written to the flash memory chips, each frame of the user data to perform precoding processing, the precoding processing is the frames of user data into one or more data blocks, resetting the precoding size and the redundant capacity by the size of an error correction code redundancy capacity solid state memory system controller, the redundant capacity precoding size is not greater than a preset precoding limit redundancy, the redundant error correction code size is not larger than the capacity of the page to be written in the flash memory chip fixed redundant storage capacity size removing redundant capacity value of the precoding size, then each data block is encoded to obtain redundant precoding with a precoding redundant capacity coded data block size, and then the pre-coding with this redundant block coded data error correction code encoding operation, thus obtained coded data blocks with redundancy precoded coded data block and the error correction code and an error correction code redundancy redundant capacity redundant error correction code size, and finally redundant code is written with a pre-designated page of the flash memory chip 中,其中的预编码冗余和纠错码冗余写入该页面的固定冗余存储空间内。 Inside, in which pre-coding redundancy and the redundant error correction code is written to the redundant memory page fixed space.

[0007] 所述的固态存储系统控制器设定预编码冗余容量大小以及纠错码冗余容量大小的方法为:首先由固态存储系统控制器设置闪存芯片可靠率与纠错码冗余容量映射表,该闪存芯片可靠率与纠错码冗余容量映射表内的每个条目为预设的闪存芯片可靠率范围和其对应的纠错码冗余容量值,随后固态存储系统控制器驱动闪存芯片可靠率导出模块导出实时的闪存芯片可靠率,固态存储系统控制器驱动纠错码冗余容量定位模块将该闪存芯片可靠率和闪存芯片可靠率与预编码冗余容量映射表中各条目内的闪存芯片可靠率范围进行对照,如果该闪存芯片可靠率属于其中一个条目内的闪存芯片可靠率范围,该条目内的闪存芯片可靠率范围所对应的纠错码冗余容量值就为固态存储系统控制器设定的纠错码冗余容量大小,而预编码冗余容量大小就为随机选取的一个不 [0007] The method of pre-coding controller sets the size of redundant capacity and the capacity of the error correction code redundancy according to the size of solid state memory system as follows: first set of flash memory chips reliably by the error correction code is redundant capacity solid state memory system controller mapping table, the reliability of the flash memory chip with the error correction code for each entry in the mapping table redundant capacity flash memory chips reliably predetermined frequency range error correction code and its corresponding redundant capacity value, then the controller drives the solid state memory system flash memory chips reliably export module of flash memory chips reliably derived in real time rate, solid state memory system error correction code controller drives the positioning module redundant capacity flash memory chips and flash memory chips reliably reliability rate of the precoding redundant capacity of entries in the mapping table flash memory chips reliably within the range of control, if the reliability of the flash memory chips belonging to the flash memory chip in which a reliable entry rate ranges, flash memory chips reliably within the frequency range entry corresponding to the error correction code as redundant capacity value is solid the system memory controller sets the size of the capacity of the error correction code redundancy, the redundant capacity precoding size selected on a random not 大于待写入的闪存芯片页面的固定冗余存储空间容量大小除去纠错码冗余容量大小的值。 Value is greater than a page to be written to the flash memory chip fixed size of the redundant storage capacity of the error correction code to remove redundant capacity size.

[0008] 所述的对每个数据块进行编码的步骤如下: [0008] The step of encoding each data block as follows:

[0009] 步骤1 :首先固态存储系统控制器设定预编码冗余容量大小的第一变量存储单元的值为0,同时设定预编码冗余容量大小的第二变量存储单元的值为0,另外设定第三变量存储单元的值为机器数的最大值; [0009] Step 1: First, solid state memory system controller sets the size of the precoding redundant capacity value of first variable storage unit 0, while setting the second variable storage means the size of the precoding redundant capacity value of 0 in addition the maximum value of the third variable is the number of memory cells machines;

[0010] 步骤2 :固态存储系统控制器控制数据块的每一段连续的预编码冗余容量大小的数据同第一变量存储单元的值进行异或二进制运算以得到异或运算后数据块; [0010] Step 2: solid state memory system controller data blocks each period of continuous pre-coded redundancy data capacity size of the exclusive OR operation with a binary value of the first variable storage unit to obtain a block of data after an exclusive OR operation;

[0011] 步骤3 :固态存储系统控制器通过功耗模块导出将异或运算后数据块和第一变量存储单元的值写入闪存芯片所需的功耗,如果所需的功耗小于第三变量存储单元的值,将第三变量存储单元的值变为所需的功耗值,并将第二变量存储单元的值变为第一变量存储单元的值; [0011] Step 3: After the value of the exclusive OR operation of the first data blocks and the variable storage unit derived by solid state memory system controller into the flash memory module power chips required power, if the power required is less than a third the value of the variable storage unit, the value of the third variable storage unit becomes a desired power value, and the value of the second storage unit becomes a variable value of the first variable storage means;

[0012] 步骤4 :固态存储系统控制器将第一变量存储单元的值递增1后,如果此时第一变量存储单元的值小于2的预编码冗余容量大小比特值次方,返回步骤2中执行,如果此时第一变量存储单元的值大于或等于2的预编码冗余容量大小比特值次方,进入步骤5中执行; [0012] Step 4: After the solid state memory system controller value of the first variable is incremented by one memory cell, if the value of the first variable storage means at this time is smaller than the size of the pre-coding bit redundant capacity value of power of 2, 2 is returned to step executing, if the value of the first variable storage means at this time is greater than or equal to the size of the pre-coding bit redundant capacity value of power of 2, execution proceeds to step 5;

[0013] 步骤5 :固态存储系统控制器将此时预编码冗余容量大小的第二变量存储单元的值作为预编码冗余,并控制数据块的每一段连续的预编码冗余容量大小的数据同预编码冗余进行异或二进制运算以得到编码数据块,编码数据块同预编码冗余合并在一起形成带有预编码冗余容量大小的预编码冗余的编码数据块。 [0013] Step 5: solid state memory system controller the value of the second variable memory cell redundant capacity precoding size at this time as a pre-coding redundancy, and controls each section of contiguous data block size of the redundant capacity precoded XOR binary operation data is pre-encoded with the redundant block to obtain a coded data, combined with the pre-coding redundancy coded data blocks together to form a pre-coding redundancy with redundant capacity precoding size coded data blocks.

[0014] 所述的固态存储系统控制器设定预编码冗余容量的方法为固态存储系统控制器的运算部件导出以2为底数比特序列变更模式数量值的对数,该对数值即为预编码冗余容 [0014] The method of the solid state memory system controller sets a precoding redundant capacity solid state memory system controller for operation in base member 2 to derive a bit sequence number value changing pattern of the number, which is the value of the pre coding redundancy capacity

量大小。 The amount of size.

[0015] 所述的对每个数据块进行编码的步骤还能如下: [0015] The step of encoding each data block is also as follows:

[0016] 步骤1 :首先固态存储系统控制器设定第一变量存储单元的值为1,同时设定预编码冗余容量大小的第二变量存储单元的值为1,另外设定第三变量存储单元的值为机器数的最大值; [0016] Step 1: First, a first solid state memory system controller sets a value of a variable storage unit, and set the value of the memory cell 1 of the second variable capacity redundant precoding size, setting additional third variable the maximum value of the number of machine memory cell;

[0017] 步骤2 :固态存储系统控制器设定第一变量存储单元的值为比特序列变更模式的序列号,选择该序列号的比特序列变更模式对数据块进行序列变更操作以得到序列变更后数据块;[0018] 步骤3 :固态存储系统控制器通过功耗模块导出将序列变更后数据块和第一变量存储单元的值写入闪存芯片所需的功耗,如果所需的功耗小于第三变量存储单元的值,将第三变量存储单元的值变为所需的功耗值,并将第二变量存储单元的值变为第一变量存储单元的值; After the solid state memory system controller setting the first variable storage means is a bit sequence of SEQ ID changing mode, select the sequence number bit sequence change mode change operation sequence data block to obtain change sequence: [0017] Step 2 data block; [0018] step 3: solid state memory system controller to change values ​​derived sequence data blocks and the first variable written to the flash memory cell by the power consumption required for the chip module, if the power required is less than values ​​of the third variable storage unit, the value of the third variable storage unit becomes a desired power value, and the value of the second storage unit becomes a variable value of the first variable storage means;

[0019] 步骤4 :固态存储系统控制器将第一变量存储单元的值递增1后,如果此时第一变量存储单元的值小于2的预编码冗余容量大小比特值次方,返回步骤2中执行,如果此时第一变量存储单元的值大于或等于2的预编码冗余容量大小比特值次方,进入步骤5中执行; [0019] Step 4: After the solid state memory system controller value of the first variable is incremented by one memory cell, if the value of the first variable storage means at this time is smaller than the size of the pre-coding bit redundant capacity value of power of 2, 2 is returned to step executing, if the value of the first variable storage means at this time is greater than or equal to the size of the pre-coding bit redundant capacity value of power of 2, execution proceeds to step 5;

[0020] 步骤5 :固态存储系统控制器将此时预编码冗余容量大小的第二变量存储单元的值作为预编码冗余,设定第二变量存储单元的值为比特序列变更模式的序列号,选择该序列号的比特序列变更模式对数据块进行序列变更操作以得到编码数据块,编码数据块同预编码冗余合并在一起形成带有预编码冗余容量大小的预编码冗余的编码数据块。 Solid state memory system controller sequences the value of the second variable memory cell redundant capacity precoding size at this time as a pre-coding redundancy, setting the second variable storage means is a bit sequence pattern change: [0020] Step 5 number, select a change pattern of the bit sequence of the serial numbers change operation sequence data blocks to obtain the coded data blocks, combined with the pre-coding redundancy coded data blocks together to form a pre-coded with a redundant precoding size of the redundant capacity coded data blocks.

[0021] 通过预编码处理改变用户数据并引入预设的数据冗余,其目的为减少相应闪存数据写入功耗,然后对此预编码输出进行纠错码编码操作以产生相应的纠错码冗余,最后将预编码输出与纠错码冗余一起写入闪存芯片中的某一页面。 [0021] By changing the pre-encoding process user data and the preset data redundancy is introduced, it is an object to reduce power consumption of the corresponding flash memory data write, and this precoded output an error correction code encoding operations to produce a corresponding error correction code redundancy, and finally outputs the precoded into the flash memory chip with a page error correction code redundancy. 给定一个以上闪存芯片可靠性范围以及相应所需的纠错码冗余量,当估计或检测所得的闪存芯片可靠性落入某一给定可靠性范围内,可得到相应所需的纠错码冗余量,以此来动态调整纠错码编码操作。 Given the range of more than one flash memory chip reliability, redundancy and error correction code corresponding to the amount required, or when the estimated resulting detection reliability of the flash memory chip reliability falls within a given range, a correction corresponding to the desired code redundancy, in order to dynamically adjust the error correction code encoding operations. 同时,从每一页面本身所含的固定冗余存储空间内减去所需的纠错码冗余量,即可得到所允许的预编码冗余量以此来动态调整预编码操作。 Meanwhile, the amount of redundancy required for the error correction code is subtracted from a fixed spatial redundancy memory contained in each page itself, it allows to obtain the amount of pre-coded redundancy in order to dynamically adjust the pre-coding operation.

附图说明 BRIEF DESCRIPTION

[0022] 附图是本发明的工作结构原理示意图。 [0022] The drawings are schematic working principle of the structure of the present invention. 具体实施方式 Detailed ways

[0023] 下面结合附图对本发明作更详细的说明。 [0023] The following drawings The invention will be described in more detail in conjunction.

[0024] 如附图所示,降低闪存芯片数据写入功耗的方法,首先固态存储系统控制器将每帧用户数据写入闪存芯片时,将每帧用户数据先进行预编码处理,该预编码处理是将该帧用户数据分解为一个以上的数据块,再由固态存储系统控制器设定预编码冗余容量大小以及纠错码冗余容量大小,该预编码冗余容量大小不大于预设的预编码冗余量限定值,该纠错码冗余容量大小不大于待写入的闪存芯片页面的固定冗余存储空间容量大小除去预编码冗余容量大小的值,随后对每个数据块进行编码得到带有预编码冗余容量大小的预编码冗余的编码数据块,然后对此带有预编码冗余的编码数据块进行纠错码编码操作,这样得到带有预编码冗余的编码数据块及其纠错码冗余容量大小的纠错码冗余,最后将带有预编码冗余的编码数据块及其纠错码冗余写入闪存芯片中的 When the [0024] first solid state memory system controller to write the user data of each frame as shown in the flash memory chip, the flash chip data writing method for reducing power consumption of the drawings, each frame of data to the user pre-coding process, the pre- the frame coding process is a user data into one or more data blocks, resetting the precoding size and the capacity of the error correction code redundancy redundant capacity by the size of solid state memory system controller, the precoding size is not greater than a predetermined redundant capacity redundancy precoder defined set of values, the redundant error correction code size is not larger than the capacity of the page to be written in the flash memory chip fixed redundant storage capacity size removing redundant capacity value of the precoding size, followed by data of each obtain a precoding block is encoded with redundancy redundant capacity precoding size coded data blocks, then the pre-coding with this redundant block coded data error correction code encoding operation, the thus obtained pre-coding redundancy with coded data blocks and error correction code redundancy redundant capacity error correction code size, and finally with a pre-coded data block coded redundancy and an error correction code redundancy into the flash memory chip 指定页面中,其中的预编码冗余和纠错码冗余写入该页面的固定冗余存储空间内。 The specified page, wherein the pre-coding redundancy and the redundant error correction code is written to the redundant memory page fixed space.

[0025] 所述的固态存储系统控制器设定预编码冗余容量大小以及纠错码冗余容量大小的方法为首先由固态存储系统控制器设置闪存芯片可靠率与纠错码冗余容量映射表,该闪存芯片可靠率与纠错码冗余容量映射表内的每个条目为预设的闪存芯片可靠率范围和其对应的纠错码冗余容量值,随后固态存储系统控制器驱动闪存芯片可靠率导出模块导出实时的闪存芯片可靠率,固态存储系统控制器驱动纠错码冗余容量定位模块将该闪存芯片可靠率和闪存芯片可靠率与预编码冗余容量映射表中各条目内的闪存芯片可靠率范围进行对照,如果该闪存芯片可靠率属于其中一个条目内的闪存芯片可靠率范围,该条目内的闪存芯片可靠率范围所对应的纠错码冗余容量值就为固态存储系统控制器设定的纠错码冗余容量大小,而预编码冗余容量大小就为随机选取的一个不大 [0025] The method of precoding controller sets the size of redundant capacity and the capacity of the error correction code redundancy according to the size of the solid state memory system is provided by the first solid state memory system controller flash memory chips reliably capacity of error correction code redundancy mapping table, the reliability of the flash memory chip with the error correction code for each entry in the mapping table redundant capacity flash memory chips reliably predetermined frequency range error correction code and its corresponding redundant capacity value, followed by driving a flash solid state memory system controller export module chip reliability rate derived in real-time reliability of flash memory chips, the controller drives the solid state memory system error correction code redundancy within the capacity of each positioning module of flash memory chips and flash memory chips reliably reliability of redundant capacity and precoding mapping table entries flash memory chips reliably perform rate control range, if the reliability of the flash memory chips belonging to the flash memory chip in which a reliable entry rate ranges, flash memory chips reliably within the frequency range entry corresponding to the error correction code as redundant capacity value is stored in solid state the system controller sets the size of the capacity of the error correction code redundancy, the redundant capacity precoding size selected on a random little 于待写入的闪存芯片页面的固定冗余存储空间容量大小除去纠错码冗余容量大小的值。 Fixed size of the redundant storage capacity of flash memory chips to be written to the page error correction code to remove redundant capacity size.

[0026] 所述的对每个数据块进行编码的步骤如下: [0026] The step of encoding each data block as follows:

[0027] 步骤1 :首先固态存储系统控制器设定预编码冗余容量大小的第一变量存储单元的值为0,同时设定预编码冗余容量大小的第二变量存储单元的值为0,另外设定第三变量存储单元的值为机器数的最大值; [0027] Step 1: First, solid state memory system controller sets the size of the precoding redundant capacity value of first variable storage unit 0, while setting the second variable storage means the size of the precoding redundant capacity value of 0 in addition the maximum value of the third variable is the number of memory cells machines;

[0028] 步骤2 :固态存储系统控制器控制数据块的每一段连续的预编码冗余容量大小的数据同第一变量存储单元的值进行异或二进制运算以得到异或运算后数据块; [0028] Step 2: solid state memory system controller data blocks each period of continuous pre-coded redundancy data capacity size of the exclusive OR operation with a binary value of the first variable storage unit to obtain a block of data after an exclusive OR operation;

[0029] 步骤3 :固态存储系统控制器通过功耗模块导出将异或运算后数据块和第一变量存储单元的值写入闪存芯片所需的功耗,如果所需的功耗小于第三变量存储单元的值,将第三变量存储单元的值变为所需的功耗值,并将第二变量存储单元的值变为第一变量存储单元的值; [0029] Step 3: After the value of the exclusive OR operation of the first data blocks and the variable storage unit derived by solid state memory system controller into the flash memory module power chips required power, if the power required is less than a third the value of the variable storage unit, the value of the third variable storage unit becomes a desired power value, and the value of the second storage unit becomes a variable value of the first variable storage means;

[0030] 步骤4 :固态存储系统控制器将第一变量存储单元的值递增1后,如果此时第一变量存储单元的值小于2的预编码冗余容量大小比特值次方,返回步骤2中执行,如果此时第一变量存储单元的值大于或等于2的预编码冗余容量大小比特值次方,进入步骤5中执行; [0030] Step 4: After the solid state memory system controller value of the first variable is incremented by one memory cell, if the value of the first variable storage means at this time is smaller than the size of the pre-coding bit redundant capacity value of power of 2, 2 is returned to step executing, if the value of the first variable storage means at this time is greater than or equal to the size of the pre-coding bit redundant capacity value of power of 2, execution proceeds to step 5;

[0031] 步骤5 :固态存储系统控制器将此时预编码冗余容量大小的第二变量存储单元的值作为预编码冗余,并控制数据块的每一段连续的预编码冗余容量大小的数据同预编码冗余进行异或二进制运算以得到编码数据块,编码数据块同预编码冗余合并在一起形成带有预编码冗余容量大小的预编码冗余的编码数据块。 [0031] Step 5: solid state memory system controller the value of the second variable memory cell redundant capacity precoding size at this time as a pre-coding redundancy, and controls each section of contiguous data block size of the redundant capacity precoded XOR binary operation data is pre-encoded with the redundant block to obtain a coded data, combined with the pre-coding redundancy coded data blocks together to form a pre-coding redundancy with redundant capacity precoding size coded data blocks.

[0032] 所述的固态存储系统控制器设定预编码冗余容量的方法为固态存储系统控制器的运算部件导出以2为底数比特序列变更模式数量值的对数,该对数值即为预编码冗余容 [0032] The method of solid state memory system controller sets a precoding redundant capacity solid state memory system controller for operation in base member 2 to derive a bit sequence number value changing pattern of the number, which is the value of the pre coding redundancy capacity

量大小。 The amount of size.

[0033] 所述的对每个数据块进行编码的步骤还能如下: [0033] The step of encoding each data block is also as follows:

[0034] 步骤1 :首先固态存储系统控制器设定第一变量存储单元的值为1,同时设定预编码冗余容量大小的第二变量存储单元的值为1,另外设定第三变量存储单元的值为机器数的最大值; [0034] Step 1: First, a first solid state memory system controller sets a value of a variable storage unit, and set the value of the memory cell 1 of the second variable capacity redundant precoding size, setting additional third variable the maximum value of the number of machine memory cell;

[0035] 步骤2 :固态存储系统控制器设定第一变量存储单元的值为比特序列变更模式的序列号,选择该序列号的比特序列变更模式对数据块进行序列变更操作以得到序列变更后数据块; After the solid state memory system controller setting the first variable storage means is a bit sequence of SEQ ID changing mode, select the sequence number bit sequence change mode change operation sequence data block to obtain change sequence: [0035] Step 2 data block;

[0036] 步骤3 :固态存储系统控制器通过功耗模块导出将序列变更后数据块和第一变量存储单元的值写入闪存芯片所需的功耗,如果所需的功耗小于第三变量存储单元的值,将第三变量存储单元的值变为所需的功耗值,并将第二变量存储单元的值变为第一变量存储单元的值; [0036] Step 3: solid state memory system controller to change values ​​derived sequence data blocks and the first variable storage unit write power consumption required by the flash memory chip consumption module, if the power required is less than a third variable of the memory cell, the value of the third variable storage unit becomes a desired power value, and the value of the second storage unit becomes a variable value of the first variable storage means;

[0037] 步骤4 :固态存储系统控制器将第一变量存储单元的值递增1后,如果此时第一变量存储单元的值小于2的预编码冗余容量大小比特值次方,返回步骤2中执行,如果此时第一变量存储单元的值大于或等于2的预编码冗余容量大小比特值次方,进入步骤5中执行; [0037] Step 4: After the solid state memory system controller value of the first variable is incremented by one memory cell, if the value of the first variable storage means at this time is smaller than the size of the pre-coding bit redundant capacity value of power of 2, 2 is returned to step executing, if the value of the first variable storage means at this time is greater than or equal to the size of the pre-coding bit redundant capacity value of power of 2, execution proceeds to step 5;

[0038] 步骤5 :固态存储系统控制器将此时预编码冗余容量大小的第二变量存储单元的值作为预编码冗余,设定第二变量存储单元的值为比特序列变更模式的序列号,选择该序列号的比特序列变更模式对数据块进行序列变更操作以得到编码数据块,编码数据块同预编码冗余合并在一起形成带有预编码冗余容量大小的预编码冗余的编码数据块。 Solid state memory system controller sequences the value of the second variable memory cell redundant capacity precoding size at this time as a pre-coding redundancy, setting the second variable storage means is a bit sequence pattern change: [0038] Step 5 number, select a change pattern of the bit sequence of the serial numbers change operation sequence data blocks to obtain the coded data blocks, combined with the pre-coding redundancy coded data blocks together to form a pre-coded with a redundant precoding size of the redundant capacity coded data blocks.

Claims (5)

1. 一种降低闪存芯片数据写入功耗的方法,其特征在于:首先固态存储系统控制器将每帧用户数据写入闪存芯片时,将每帧用户数据先进行预编码处理,该预编码处理是将该帧用户数据分解为一个以上的数据块,再由固态存储系统控制器设定预编码冗余容量大小以及纠错码冗余容量大小,该预编码冗余容量大小不大于预设的预编码冗余量限定值,该纠错码冗余容量大小不大于待写入的闪存芯片页面的固定冗余存储空间容量大小除去预编码冗余容量大小的值,随后对每个数据块进行编码得到带有预编码冗余容量大小的预编码冗余的编码数据块,然后对此带有预编码冗余的编码数据块进行纠错码编码操作,这样得到带有预编码冗余的编码数据块及其纠错码冗余容量大小的纠错码冗余,最后将带有预编码冗余的编码数据块及其纠错码冗余写入闪存芯片中 1. A method of writing data to the flash memory chip to reduce power consumption, wherein: the solid-state memory system controller when the first frame of each user data is written to the flash memory chips, each frame of the user data to perform precoding processing, the precoding the frame is processed user data into one or more data blocks, resetting the precoding size and the capacity of the error correction code redundancy redundant capacity by the size of solid state memory system controller, the precoding size is not greater than a preset redundant capacity precoding limit redundancy, the redundant error correction code size is not larger than the capacity of the page to be written in the flash memory chip fixed redundant storage capacity size removing redundant capacity value of the precoding size, then for each data block encoding obtain a precoding redundant precoding redundant capacity with the size of the coded data block, then the pre-coding with this redundant block coded data error correction code encoding operation, the thus obtained pre-coding redundancy with the coded data blocks and error correction code redundancy coded data block and an error correction code redundancy redundant capacity error correction code size, with the final pre-coding redundancy data to flash memory chip 指定页面中,其中的预编码冗余和纠错码冗余写入该页面的固定冗余存储空间内。 The specified page, wherein the pre-coding redundancy and the redundant error correction code is written to the redundant memory page fixed space.
2.根据权利要求1所述的降低闪存芯片数据写入功耗的方法,其特征在于:所述的固态存储系统控制器设定预编码冗余容量大小以及纠错码冗余容量大小的方法为首先由固态存储系统控制器设置闪存芯片可靠率与纠错码冗余容量映射表,该闪存芯片可靠率与纠错码冗余容量映射表内的每个条目为预设的闪存芯片可靠率范围和其对应的纠错码冗余容量值,随后固态存储系统控制器驱动闪存芯片可靠率导出模块导出实时的闪存芯片可靠率,固态存储系统控制器驱动纠错码冗余容量定位模块将该闪存芯片可靠率和闪存芯片可靠率与预编码冗余容量映射表中各条目内的闪存芯片可靠率范围进行对照,如果该闪存芯片可靠率属于其中一个条目内的闪存芯片可靠率范围,该条目内的闪存芯片可靠率范围所对应的纠错码冗余容量值就为固态存储系统控制器设定的纠 2. A method for reducing flash chip data of write power according to claim 1, wherein: said solid state memory system controller sets the precoding size, and an error correction code redundancy capacity capacity size redundancy method for the first set of flash memory chips reliably error correction code mapping table by the redundant capacity solid state memory system controller, the reliability of the flash memory chips each entry in the mapping table of error correction code redundancy capacity of flash memory chips reliably preset rate range and its corresponding error correction code redundancy capacity value, then the controller drives the solid state memory system of flash memory chips reliably export module flash memory chips reliably derived in real time rate, solid state memory system error correction code controller drives the redundant capacity positioning module flash memory chips and flash memory chips reliably reliability rate of redundant capacity and precoding mapping table in the flash memory chips each entry reliability of the control range, if the reliability of the flash memory chips belonging to the flash memory chip in which a reliable entry rate ranges, the entry flash memory chips reliably within the frequency range corresponding to an error correction code as redundant capacity correction value is set by the controller solid state memory system 码冗余容量大小,而预编码冗余容量大小就为随机选取的一个不大于待写入的闪存芯片页面的固定冗余存储空间容量大小除去纠错码冗余容量大小的值。 Redundant capacity value of the code size, and the size of the precoding redundant capacity on a randomly selected flash memory chip is not greater than a page to be written is the fixed size of the redundant storage capacity of the error correction code to remove redundant capacity size.
3.根据权利要求1或权利要求2所述的降低闪存芯片数据写入功耗的方法,其特征在于:所述的对每个数据块进行编码的步骤如下:步骤1 :首先固态存储系统控制器,设定预编码冗余容量大小的第一变量存储单元的值为0,同时设定预编码冗余容量大小的第二变量存储单元的值为0,另外设定第三变量存储单元的值为机器数的最大值;步骤2 :固态存储系统控制器控制数据块的每一段连续的预编码冗余容量大小的数据同第一变量存储单元的值进行异或二进制运算以得到异或运算后数据块;步骤3 :固态存储系统控制器通过功耗模块导出将异或运算后数据块和第一变量存储单元的值写入闪存芯片所需的功耗,如果所需的功耗小于第三变量存储单元的值,将第三变量存储单元的值变为所需的功耗值,并将第二变量存储单元的值变为第一变量存储单元的值;步 The flash chip reduce data writing method of claim 2 or the power consumption of claim 1, wherein claims: the step of encoding each data block as described below: Step 1: First, solid state memory system control , a value of 0 is set precoding size of a first redundant capacity variable storage unit, and set the value of the second variable storage unit 0 precoding redundant capacity size, setting additional third variable storage unit is the maximum number of machines; step 2: solid state memory system controller controls each section of contiguous data blocks pre-coded redundancy data capacity size of the exclusive oR operation with a binary value of the first variable storage unit to obtain an exclusive oR operation after the data block; step 3: solid state memory system controller to derive the value of the exclusive oR operation of the first data block and a variable storage unit write power consumption required by the flash memory chip consumption module, if the power required is less than the first the three-variable value storage unit, the value of the third variable storage unit becomes a desired power value, and the value of the second variable storage unit becomes a variable value of the first memory cell; step 4 :固态存储系统控制器将第一变量存储单元的值递增1后,如果此时第一变量存储单元的值小于2的预编码冗余容量大小比特值次方,返回步骤2中执行,如果此时第一变量存储单元的值大于或等于2的预编码冗余容量大小比特值次方,进入步骤5中执行;步骤5 :固态存储系统控制器将此时预编码冗余容量大小的第二变量存储单元的值作为预编码冗余,并控制数据块的每一段连续的预编码冗余容量大小的数据同预编码冗余进行异或二进制运算以得到编码数据块,编码数据块同预编码冗余合并在一起形成带有预编码冗余容量大小的预编码冗余的编码数据块。 4: the solid state memory system controller 1 increments the value of the first variable storage unit, if the value of the first variable storage means at this time is smaller than the size of the pre-coding bit redundant capacity value of power of 2, execution returns to step 2, if At this time, the value of a first variable storage unit is greater than or equal to the size of the pre-coding bit redundant capacity value of power of 2, 5 proceeds to step performed; step 5: At this time, the solid state memory system controller of the size of the redundant capacity precoded variable value of two memory cells as a pre-coding redundancy, and controls each section of contiguous data blocks pre-coded redundancy data capacity size XORed with binary arithmetic coding redundancy to obtain a pre-coded data block coded data block with a pre- combined together to form a redundant code encoded data block with redundant precoding precoding size of redundant capacity.
4.根据权利要求1所述的降低闪存芯片数据写入功耗的方法,其特征在于:所述的固态存储系统控制器设定预编码冗余容量的方法为固态存储系统控制器的运算部件导出以2 为底数比特序列变更模式数量值的对数,该对数值即为预编码冗余容量大小。 The method of writing data reduction in power consumption of the flash memory chip as claimed in claim 1, wherein: said solid state memory system controller sets a pre-coding method for the redundant capacity solid state memory system controller operation member export 2 raised a bit sequence number value of the changing pattern of the logarithm of the value of the redundant capacity is the precoding size.
5.根据权利要求4所述的降低闪存芯片数据写入功耗的方法,其特征在于:所述的对每个数据块进行编码的步骤还能如下:步骤1 :首先固态存储系统控制器设定第一变量存储单元的值为1,同时设定预编码冗余容量大小的第二变量存储单元的值为1,另外设定第三变量存储单元的值为机器数的最大值;步骤2 :固态存储系统控制器设定第一变量存储单元的值为比特序列变更模式的序列号,选择该序列号的比特序列变更模式对数据块进行序列变更操作以得到序列变更后数据块;步骤3 :固态存储系统控制器通过功耗模块导出将序列变更后数据块和第一变量存储单元的值写入闪存芯片所需的功耗,如果所需的功耗小于第三变量存储单元的值,将第三变量存储单元的值变为所需的功耗值,并将第二变量存储单元的值变为第一变量存储单元的值;步骤4 :固态存 5. The method of writing data reduction in power consumption flash chip according to claim 4, wherein: the step of encoding each data block but also the following: Step 1: First, solid state memory system controller is provided the maximum value of a first predetermined number of the machine is a variable storage unit, while a value of 1 set of redundant capacity size precoded second variable storage means, setting additional third variable storage unit; step 2 : solid state memory system controller setting the first variable storage means is a bit sequence of SEQ ID changing mode, select the sequence number bit sequence change mode change operation sequence data blocks to obtain a sequence of data blocks after the change; step 3 : solid state memory system controller module power derived by changing the sequence data block and the value of the first variable storage means required for writing the flash memory chip power consumption, the power consumption is less than the desired value if the third variable storage unit, the values ​​of the third variable storage unit becomes a desired power value, and the value of the second storage unit becomes a variable value of the first variable storage means; step 4: solid-state memory 储系统控制器将第一变量存储单元的值递增1后,如果此时第一变量存储单元的值小于2的预编码冗余容量大小比特值次方,返回步骤2中执行,如果此时第一变量存储单元的值大于或等于2的预编码冗余容量大小比特值次方,进入步骤5中执行;步骤5 :固态存储系统控制器将此时预编码冗余容量大小的第二变量存储单元的值作为预编码冗余,设定第二变量存储单元的值为比特序列变更模式的序列号,选择该序列号的比特序列变更模式对数据块进行序列变更操作以得到编码数据块,编码数据块同预编码冗余合并在一起形成带有预编码冗余容量大小的预编码冗余的编码数据块。 After the value of the first storage system controller increments a variable storage unit, if the value of the first variable storage means at this time is smaller than the size of the pre-coding bit redundant capacity value of power of 2, execution returns to step 2, if the first case the value of a variable storage unit is equal to or greater than the size of the pre-coding bit redundant capacity value of power of 2, 5 proceeds to step performed; step 5: At this time, the solid state memory system controller precoded second redundant capacity variable storage size value of the cell as a pre-coding redundancy, setting the second variable storage means is a bit sequence pattern to change the serial number, the serial number of the selected bit sequence change mode change operation sequence data blocks to obtain the coded data block coded precoding combined with redundant data blocks together to form a pre-encoded data blocks with redundancy coding precoding size of redundant capacity.
CN201110146489XA 2011-06-02 2011-06-02 Method for reducing power consumption of flash memory chip data writing operation CN102231284A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201110146489XA CN102231284A (en) 2011-06-02 2011-06-02 Method for reducing power consumption of flash memory chip data writing operation

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201110146489XA CN102231284A (en) 2011-06-02 2011-06-02 Method for reducing power consumption of flash memory chip data writing operation

Publications (1)

Publication Number Publication Date
CN102231284A true CN102231284A (en) 2011-11-02

Family

ID=44843843

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201110146489XA CN102231284A (en) 2011-06-02 2011-06-02 Method for reducing power consumption of flash memory chip data writing operation

Country Status (1)

Country Link
CN (1) CN102231284A (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006013529A1 (en) * 2004-08-02 2006-02-09 Koninklijke Philips Electronics N.V. Data storage and replay apparatus
JP2009211209A (en) * 2008-02-29 2009-09-17 Toshiba Corp Semiconductor storage device, its control method, and error correction system
CN101964205A (en) * 2010-09-17 2011-02-02 记忆科技(深圳)有限公司 ECC (Error Correction Code) module dynamic multiplexing system and method based on solid state disk

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006013529A1 (en) * 2004-08-02 2006-02-09 Koninklijke Philips Electronics N.V. Data storage and replay apparatus
JP2009211209A (en) * 2008-02-29 2009-09-17 Toshiba Corp Semiconductor storage device, its control method, and error correction system
CN101964205A (en) * 2010-09-17 2011-02-02 记忆科技(深圳)有限公司 ECC (Error Correction Code) module dynamic multiplexing system and method based on solid state disk

Similar Documents

Publication Publication Date Title
US8694854B1 (en) Read threshold setting based on soft readout statistics
US8225181B2 (en) Efficient re-read operations from memory devices
US7266026B2 (en) Symbol frequency leveling in a storage system
KR101633048B1 (en) Memory system and data processing method thereof
CN102906712B (en) MLC self-raid flash data protection scheme
US8254181B2 (en) Nonvolatile memory device and programming method
US9063875B2 (en) Error recovery storage along a memory string
US7593263B2 (en) Memory device with reduced reading latency
US8341333B2 (en) Method of writing data into semiconductor memory and memory controller
CN101868831B (en) Memory controller supporting rate compatible punctured codes
Dong et al. Using data postcompensation and predistortion to tolerate cell-to-cell interference in MLC NAND flash memory
US8199581B2 (en) Nonvolatile memory device, driving method thereof, and memory system having the same
US20080168319A1 (en) Flash memory Device Error Correction Code Controllers and Related Methods and Memory Systems
US20100008140A1 (en) Nonvolatile memory devices supporting memory cells having different bit storage levels and methods of operating the same
TWI381381B (en) Memory controller and semiconductor device
US20120134207A1 (en) Non-Volatile Memory Device And Read Method Thereof
US20080232164A1 (en) Method for programming a multilevel memory
TWI407446B (en) Method and system of dynamic data storage for error correction in a memory device
CN101673581B (en) Memory system and method of accessing a semiconductor memory device
US8964466B2 (en) Storage at M bits/cell density in N bits/cell analog memory cell devices, M>N
KR101927575B1 (en) Adaptive error correction codes for data storage systems
US8819503B2 (en) Apparatus and method for determining an operating condition of a memory cell based on cycle information
US8364888B2 (en) Erase-suspend system and method
KR101423052B1 (en) Memory device and method of controlling read level
US9195586B2 (en) Determining bias information for offsetting operating variations in memory cells based on wordline address

Legal Events

Date Code Title Description
C06 Publication
C10 Entry into substantive examination
C20 Patent right or utility model deemed to be abandoned or is abandoned