CN104881240A - 数据写入方法、存储器存储装置及存储器控制电路单元 - Google Patents
数据写入方法、存储器存储装置及存储器控制电路单元 Download PDFInfo
- Publication number
- CN104881240A CN104881240A CN201410068635.5A CN201410068635A CN104881240A CN 104881240 A CN104881240 A CN 104881240A CN 201410068635 A CN201410068635 A CN 201410068635A CN 104881240 A CN104881240 A CN 104881240A
- Authority
- CN
- China
- Prior art keywords
- data
- compression
- decompression
- speed
- condition
- 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
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
本发明提供一种数据写入方法、存储器存储装置及存储器控制电路单元。此方法包括:接收写入指令与对应于写入指令的第一数据;获得第一数据的初始数据传输信息,并且判断初始数据传输信息是否符合预定条件;当初始数据传输信息符合预定条件时,将第一数据压缩为第二数据,并且将第二数据写入至可复写式非易失性存储器模块;以及当初始数据传输信息不符合预定条件时,将未经压缩的第一数据写入至可复写式非易失性存储器模块。
Description
技术领域
本发明是有关于一种数据写入方法,且特别是有关于一种数据写入方法、存储器存储装置及存储器控制电路单元。
背景技术
数码相机、移动电话与MP3播放器在这几年来的成长十分迅速,使得消费者对存储媒体的需求也急速增加。由于可复写式非易失性存储器模块(例如,闪存)具有数据非易失性、省电、体积小,以及无机械结构等特性,所以非常适合内建于上述所举例的各种可携式多媒体装置中。
在将数据写入至可复写式非易失性存储器模块之前,此数据可能会被压缩,以节省可复写式非易失性存储器模块的存储空间。然而,有些压缩后数据大小会变大的数据,或者压缩/解压缩效率不佳的数据,若经过压缩再被存储到可复写式非易失性存储器模块中,有可能会导致后续数据被读取时的读取速度大幅下降。
发明内容
本发明提供一种数据写入方法、存储器存储装置及存储器控制电路单元,可在将数据写入至可复写式非易失性存储器模块之前,根据数据的数据传输信息来决定是否压缩此数据,以在减少数据的大小与维持数据的读取性能之间取得平衡。
本发明提供一种数据写入方法,用于控制一存储器控制电路单元。此数据写入方法包括:接收写入指令与对应于写入指令的第一数据;获得第一数据的初始数据传输信息,并且判断初始数据传输信息是否符合预定条件;当初始数据传输信息符合预定条件时,将第一数据压缩为第二数据,并且将第二数据写入至可复写式非易失性存储器模块;以及当初始数据传输信息不符合预定条件时,将未经压缩的第一数据写入至可复写式非易失性存储器模块。
在本发明的一范例实施例中,所述获得第一数据的初始数据传输信息的步骤包括:压缩或者扫描部分的第一数据,以获得第一数据的压缩信息,其中第一数据的压缩信息包括第一数据的压缩速度信息以及第二数据的数据流传输速度信息的至少其中之一;以及根据第一数据的压缩信息获得第一数据的初始数据传输信息。
在本发明的一范例实施例中,所述第一数据的初始数据传输信息包括第一数据的压缩比例信息、第一数据的压缩速度信息、第二数据的解压缩速度信息、第二数据的数据流传输速度信息、解压缩后的第二数据的数据流传输速度信息、以及第一数据是否为连续数据信息的至少其中之一。
在本发明的一范例实施例中,所述判断初始数据传输信息是否符合预定条件的步骤包括:根据第一数据的压缩比例是否符合压缩比例条件、第一数据的压缩速度是否符合压缩速度条件、第二数据的解压缩速度是否符合解压缩速度条件、第二数据的数据流传输速度是否符合压缩传输速度条件、解压缩后的第二数据的数据流传输速度是否符合解压缩传输速度条件、以及第一数据是否为连续数据的至少其中之一,来判断初始数据传输信息是否符合预定条件。
在本发明的一范例实施例中,所述数据写入方法还包括:根据第一数据是否为连续数据来决定压缩比例条件、压缩速度条件、解压缩速度条件、压缩传输速度条件以及解压缩传输速度条件的至少其中之一。
在本发明的一范例实施例中,所述数据写入方法还包括:判断第二数据的解压缩速度是否符合解压缩速度门槛值;以及当判定第二数据的解压缩速度符合解压缩速度门槛值时,判定第二数据的解压缩速度符合解压缩速度条件,其中根据第一数据是否为连续数据来决定解压缩速度条件的步骤包括:当第一数据是连续数据时,将解压缩速度门槛值设定为第一解压缩速度门槛值;以及当第一数据不是连续数据时,将解压缩速度门槛值设定为第二解压缩速度门槛值,其中第一解压缩速度门槛值高于第二解压缩速度门槛值。
在本发明的一范例实施例中,所述数据写入方法还包括:根据第二数据的解压缩速度与预设读取速度获得读取速度下降比例;判断读取速度下降比例是否符合预设速度下降比例;当读取速度下降比例符合预设速度下降比例时,判定第二数据的解压缩速度符合解压缩速度条件;以及当读取速度下降比例不符合预设速度下降比例时,判定第二数据的解压缩速度不符合解压缩速度条件。
在本发明的一范例实施例中,在将未经压缩的第一数据写入至可复写式非易失性存储器模块的步骤之后,所述数据写入方法还包括:若可复写式非易失性存储器模块的垃圾搜集程序所搜集的有效数据包括未经压缩的第一数据的至少一部分,获得所述至少一部分的第一数据的后续数据传输信息,并且判断后续数据传输信息是否符合预定条件;当后续数据传输信息符合预定条件时,将所述至少一部分的第一数据压缩为第三数据,并且将第三数据写入至可复写式非易失性存储器模块;以及当后续数据传输信息不符合预定条件时,将未经压缩的所述至少一部分的第一数据写入至可复写式非易失性存储器模块。
在本发明的一范例实施例中,所述将第一数据压缩为第二数据的步骤包括:利用一第一压缩通道与一第二压缩通道平行地压缩一第一部分的第一数据与一第二部分的第一数据,以产生第二数据,其中第二压缩通道对于第二部分的第一数据的压缩是基于第一压缩通道对于第一部分的第一数据的压缩结果。
在本发明的一范例实施例中,所述将第一数据压缩为第二数据的步骤包括:随着第一数据的压缩而建立一第一字典,其中数据写入方法还包括:接收读取指令,并且根据读取指令从可复写式非易失性存储器模块中读取第二数据;以及解压缩第二数据,并且随着第二数据的解压缩而建立第二字典,其中第一字典与第二字典实质上相同。
本发明还提出一种存储器存储装置,此存储器存储装置包括连接接口单元、可复写式非易失性存储器模块及存储器控制电路单元。连接接口单元用以电性连接至一主机系统。存储器控制电路单元电性连接至连接接口单元与可复写式非易失性存储器模块,其中存储器控制电路单元用以执行以下操作:接收写入指令与对应于写入指令的第一数据;获得第一数据的初始数据传输信息,并且判断初始数据传输信息是否符合预定条件;当初始数据传输信息符合预定条件时,将第一数据压缩为第二数据,并且将第二数据写入至可复写式非易失性存储器模块;以及当初始数据传输信息不符合预定条件时,将未经压缩的第一数据写入至可复写式非易失性存储器模块。
在本发明的一范例实施例中,所述获得第一数据的初始数据传输信息的操作包括:压缩或者扫描至少一部分的第一数据,以获得第一数据的压缩信息,其中第一数据的压缩信息包括第一数据的压缩速度信息以及第二数据的数据流传输速度信息的至少其中之一;以及根据第一数据的压缩信息获得第一数据的初始数据传输信息。
在本发明的一范例实施例中,所述判断初始数据传输信息是否符合预定条件的操作包括:根据第一数据的压缩比例是否符合压缩比例条件、第一数据的压缩速度是否符合压缩速度条件、第二数据的解压缩速度是否符合解压缩速度条件、第二数据的数据流传输速度是否符合压缩传输速度条件、解压缩后的第二数据的数据流传输速度是否符合解压缩传输速度条件、以及第一数据是否为连续数据的至少其中之一,来判断初始数据传输信息是否符合预定条件。
在本发明的一范例实施例中,所述存储器控制电路单元还用以根据第一数据是否为连续数据来决定压缩比例条件、压缩速度条件、解压缩速度条件、压缩传输速度条件以及解压缩传输速度条件的至少其中之一。
在本发明的一范例实施例中,所述存储器控制电路单元还用以执行以下操作:判断第二数据的解压缩速度是否符合解压缩速度门槛值;以及当判定第二数据的解压缩速度符合解压缩速度门槛值时,判定第二数据的解压缩速度符合解压缩速度条件,其中根据第一数据是否为连续数据来决定解压缩速度条件的操作包括:当第一数据是连续数据时,将解压缩速度门槛值设定为第一解压缩速度门槛值;以及当第一数据不是连续数据时,将解压缩速度门槛值设定为第二解压缩速度门槛值,其中第一解压缩速度门槛值高于第二解压缩速度门槛值。
在本发明的一范例实施例中,所述存储器控制电路单元还用以执行以下操作:根据第二数据的解压缩速度与预设读取速度获得读取速度下降比例;判断读取速度下降比例是否符合预设速度下降比例;当读取速度下降比例符合预设速度下降比例时,判定第二数据的解压缩速度符合解压缩速度条件;以及当读取速度下降比例不符合预设速度下降比例时,判定第二数据的解压缩速度不符合解压缩速度条件。
在本发明的一范例实施例中,在将未经压缩的第一数据写入至可复写式非易失性存储器模块之后,所述存储器控制电路单元还用以执行以下操作:若可复写式非易失性存储器模块的垃圾搜集程序所搜集的有效数据包括未经压缩的第一数据的至少一部分,获得所述至少一部分的第一数据的后续数据传输信息,并且判断后续数据传输信息是否符合预定条件;当后续数据传输信息符合预定条件时,将所述至少一部分的第一数据压缩为第三数据,并且将第三数据写入至可复写式非易失性存储器模块;以及当后续数据传输信息不符合预定条件时,将未经压缩的所述至少一部分的第一数据写入至可复写式非易失性存储器模块。
在本发明的一范例实施例中,所述将第一数据压缩为第二数据的操作包括:利用第一压缩通道与第二压缩通道平行地压缩第一部分的第一数据与第二部分的第一数据,以产生第二数据,其中第二压缩通道对于第二部分的第一数据的压缩是基于第一压缩通道对于第一部分的第一数据的压缩结果。
在本发明的一范例实施例中,所述将第一数据压缩为第二数据的操作包括:随着第一数据的压缩而建立第一字典,其中存储器控制电路单元还用以执行以下操作:接收读取指令,并且根据读取指令从可复写式非易失性存储器模块中读取第二数据;以及解压缩第二数据,并且随着第二数据的解压缩而建立第二字典,其中第一字典与第二字典实质上相同。
本发明还提出一种存储器控制电路单元,此存储器控制电路单元用于控制一可复写式非易失性存储器模块,此存储器控制电路单元包括主机接口、存储器接口、压缩/解压缩电路及存储器管理电路。主机接口用以电性连接至一主机系统。存储器接口用以电性连接至可复写式非易失性存储器模块。存储器管理电路电性连接至主机接口、存储器接口及压缩/解压缩电路,其中存储器管理电路用以执行以下操作:接收写入指令与对应于写入指令的第一数据;获得第一数据的初始数据传输信息,并且判断初始数据传输信息是否符合预定条件;当初始数据传输信息符合预定条件时,控制压缩/解压缩电路将第一数据压缩为第二数据,并且将第二数据写入至可复写式非易失性存储器模块;以及当初始数据传输信息不符合预定条件时,将未经压缩的第一数据写入至可复写式非易失性存储器模块。
在本发明的一范例实施例中,所述获得第一数据的初始数据传输信息的操作包括:控制压缩/解压缩电路压缩或者扫描至少一部分的第一数据,以获得第一数据的压缩信息,其中第一数据的压缩信息包括第一数据的压缩速度信息以及第二数据的数据流传输速度信息的至少其中之一;以及根据第一数据的压缩信息获得第一数据的初始数据传输信息。
在本发明的一范例实施例中,所述存储器管理电路还用以根据第一数据是否为连续数据来决定压缩比例条件、压缩速度条件、解压缩速度条件、压缩传输速度条件以及解压缩传输速度条件的至少其中之一。
在本发明的一范例实施例中,所述存储器管理电路还用以执行以下操作:判断第二数据的解压缩速度是否符合解压缩速度门槛值;以及当判定第二数据的解压缩速度符合解压缩速度门槛值时,判定第二数据的解压缩速度符合解压缩速度条件,其中根据第一数据是否为连续数据来决定解压缩速度条件的操作包括:当第一数据是连续数据时,将解压缩速度门槛值设定为第一解压缩速度门槛值;以及当第一数据不是连续数据时,将解压缩速度门槛值设定为第二解压缩速度门槛值,其中第一解压缩速度门槛值高于第二解压缩速度门槛值。
在本发明的一范例实施例中,所述存储器管理电路还用以执行以下操作:根据第二数据的解压缩速度与预设读取速度获得读取速度下降比例;判断读取速度下降比例是否符合预设速度下降比例;当读取速度下降比例符合预设速度下降比例时,判定第二数据的解压缩速度符合解压缩速度条件;以及当读取速度下降比例不符合预设速度下降比例时,判定第二数据的解压缩速度不符合解压缩速度条件。
在本发明的一范例实施例中,在将未经压缩的第一数据写入至可复写式非易失性存储器模块之后,所述存储器管理电路还用以执行以下操作:若可复写式非易失性存储器模块的垃圾搜集程序所搜集的有效数据包括未经压缩的第一数据的至少一部分,获得所述至少一部分的第一数据的后续数据传输信息,并且判断后续数据传输信息是否符合预定条件;当后续数据传输信息符合预定条件时,控制压缩/解压缩电路将所述至少一部分的第一数据压缩为第三数据,并且将第三数据写入至可复写式非易失性存储器模块;以及当后续数据传输信息不符合预定条件时,将未经压缩的所述至少一部分的第一数据写入至可复写式非易失性存储器模块。
在本发明的一范例实施例中,所述控制压缩/解压缩电路将第一数据压缩为第二数据的操作包括:利用第一压缩通道与第二压缩通道平行地压缩第一部分的第一数据与第二部分的第一数据,以产生第二数据,其中第二压缩通道对于第二部分的第一数据的压缩是基于第一压缩通道对于第一部分的第一数据的一压缩结果。
在本发明的一范例实施例中,所述控制压缩/解压缩电路将第一数据压缩为第二数据的操作包括:随着第一数据的压缩而建立第一字典,其中存储器管理电路还用以执行以下操作:接收读取指令,并且根据读取指令从可复写式非易失性存储器模块中读取第二数据;以及控制压缩/解压缩电路来解压缩第二数据,并且随着第二数据的解压缩而建立第二字典,其中第一字典与第二字典实质上相同。
基于上述,在接收到写入指令与对应于此写入指令的数据之后,本发明会获得此数据的数据传输信息,并且根据此数据传输信息来决定是否压缩此数据,以有效减少因数据的解压缩效率太差而影响到后续的数据读取速度的问题。
为让本发明的上述特征和优点能更明显易懂,下文特举实施例,并配合附图作详细说明如下。
附图说明
图1是根据一范例实施例所示出的主机系统与存储器存储装置的方块示意图;
图2是根据一范例实施例所示出的电脑与输入/输出装置的示意图;
图3是根据一范例实施例所示出的主机系统与存储器存储装置的示意图;
图4是示出图1所示的存储器存储装置的概要方块图;
图5是根据一范例实施例所示出的存储器控制电路单元的概要方块图;
图6与图7是根据一范例实施例所示出的管理可复写式非易失性存储器模块的范例示意图;
图8是根据一范例实施例所示出的数据写入方法的流程图;
图9是根据另一范例实施例所示出的数据写入方法的流程图。
附图标记说明:
1000:主机系统;
1100:电脑;
1102:微处理器;
1104:随机存取存储器;
1106:输入/输出装置;
1108:系统总线;
1110:数据传输接口;
1202:鼠标;
1204:键盘;
1206:显示器;
1208:打印机;
1212:U盘;
1214:记忆卡;
1216:固态硬盘;
1310:数码相机;
1312:SD卡;
1314:MMC卡;
1316:存储棒;
1318:CF卡;
1320:嵌入式存储装置;
100:存储器存储装置;
102:连接接口单元;
104:存储器控制电路单元;
106:可复写式非易失性存储器模块;
202:存储器管理电路;
204:主机接口;
206:存储器接口;
207:压缩/解压缩电路;
208:缓冲存储器;
210:电源管理电路;
212:错误检查与校正电路;
410(0)~410(N)、410(F-1)、410(F)、410(F+1)~410(S-1)、410(S)、410(S+1)~410(R-1)、410(R)、410(R+1)~410(N):实体抹除单元;
502:数据区;
504:闲置区;
506:系统区;
508:取代区;
LBA(0)~LBA(D):逻辑地址;
S802、S804、S806、S808、S810、S902、S904、S906、S908、S910、S912、S914:步骤。
具体实施方式
一般而言,存储器存储装置(也称,存储器存储系统)包括可复写式非易失性存储器模块与控制器(也称,控制电路)。通常存储器存储装置是与主机系统一起使用,以使主机系统可将数据写入至存储器存储装置或从存储器存储装置中读取数据。
图1是根据一范例实施例所示出的主机系统与存储器存储装置的方块示意图,图2是根据一范例实施例所示出的电脑与输入/输出装置的示意图,图3是根据一范例实施例所示出的主机系统与存储器存储装置的示意图。
请参照图1,主机系统1000一般包括电脑1100与输入/输出(input/output,简称:I/O)装置1106。电脑1100包括微处理器1102、随机存取存储器(randomaccess memory,简称:RAM)1104、系统总线1108与数据传输接口1110。输入/输出装置1106包括如图2的鼠标1202、键盘1204、显示器1206与打印机1208。必须了解的是,图2所示的装置非限制输入/输出装置1106,输入/输出装置1106可还包括其他装置。
在本发明实施例中,存储器存储装置100是通过数据传输接口1110与主机系统1000的其他元件电性连接。通过微处理器1102、随机存取存储器1104与输入/输出装置1106的运作可将数据写入至存储器存储装置100或从存储器存储装置100中读取数据。例如,存储器存储装置100可以是如图2所示的U盘1212、记忆卡1214或固态硬盘(Solid State Drive,简称:SSD)1216等的可复写式非易失性存储器存储装置。
一般而言,主机系统1000为可实质地与存储器存储装置100配合以存储数据的任意系统。虽然在本范例实施例中,主机系统1000是以电脑系统来作说明,然而,在本发明另一范例实施例中主机系统1000可以是数码相机、摄影机、通信装置、音频播放器或视频播放器等系统。例如,在主机系统为数码相机(摄像机)1310时,可复写式非易失性存储器存储装置则为其所使用的SD卡1312、MMC卡1314、存储棒(memory stick)1316、CF卡1318或嵌入式存储装置1320(如图3所示)。嵌入式存储装置1320包括嵌入式多媒体卡(Embedded MMC,简称:eMMC)。值得一提的是,嵌入式多媒体卡是直接电性连接于主机系统的基板上。
图4是示出图1所示的存储器存储装置的概要方块图。
请参照图4,存储器存储装置100包括连接接口单元102、存储器控制电路单元104与可复写式非易失性存储器模块106。
在本范例实施例中,连接接口单元102是相容于序列先进附件(SerialAdvanced Technology Attachment,SATA)标准。然而,必须了解的是,本发明不限于此,连接接口单元102也可以是符合并列先进附件(Parallel AdvancedTechnology Attachment,简称:PATA)标准、电气和电子工程师协会(Institute ofElectrical and Electronic Engineers,简称:IEEE)1394标准、高速周边零件连接接口(Peripheral Component Interconnect Express,简称:PCI Express)标准、通用串行总线(Universal Serial Bus,简称:USB)标准、超高速一代(Ultra HighSpeed-I,简称:UHS-I)接口标准、超高速二代(Ultra High Speed-II,UHS-II)接口标准、安全数字(Secure Digital,简称:SD)接口标准、存储棒(Memory Stick,MS)接口标准、多媒体存储卡(Multi Media Card,简称:MMC)接口标准、小型快闪(Compact Flash,简称:CF)接口标准、整合式驱动电子接口(IntegratedDevice Electronics,简称:IDE)标准或其他适合的标准。在本范例实施例中,连接接口单元102可与存储器控制电路单元104封装在一个芯片中,或布设于一包含存储器控制电路单元104的芯片外。
存储器控制电路单元104用以执行以硬件形式或固件形式实作的多个逻辑闸或控制指令,并且根据主机系统1000的指令在可复写式非易失性存储器模块106中进行数据的写入、读取与抹除等运作。
可复写式非易失性存储器模块106是电性连接至存储器控制电路单元104,并且用以存储主机系统1000所写入的数据。可复写式非易失性存储器模块106具有实体抹除单元410(0)~410(N)。实体抹除单元410(0)~410(N)可属于同一个存储器晶粒(die)或者属于不同的存储器晶粒。每一实体抹除单元分别具有多个实体程序化单元,其中属于同一个实体抹除单元的实体程序化单元可被独立地写入且被同时地抹除。在本范例实施例中,每一实体抹除单元是由64个实体程序化单元组成。然而,在本发明之其他范例实施例中,每一实体抹除单元是由128、256个实体程序化单元或其他任意个实体程序化单元所组成。
更详细来说,实体抹除单元为抹除的最小单位。也就是,每一实体抹除单元含有最小数目的一并被抹除的存储单元。实体程序化单元为程序化的最小单元。即,实体程序化单元为第一数据的最小单元。每一实体程序化单元通常包括数据字节区与冗余字节区。数据字节区包含多个实体存取地址用以存储使用者的数据,而冗余字节区用以存储系统的数据(例如,控制信息与错误更正码)。在本范例实施例中,每一个实体程序化单元的数据字节区中会包含4个实体存取地址,且一个实体存取地址的大小为512字节(byte)。然而,在其他范例实施例中,数据字节区中也可包含数目更多或更少的实体存取地址,本发明并不限制实体存取地址的大小以及个数。例如,在一范例实施例中,实体抹除单元为实体区块,并且实体程序化单元为实体页面或实体扇区,但本发明不以此为限。
在本范例实施例中,可复写式非易失性存储器模块106为多阶存储单元(Multi Level Cell,简称:MLC)NAND型闪存模块(即,一个存储单元中可存储2个字节数据的闪存模块)。然而,本发明不限于此,可复写式非易失性存储器模块106也可是单阶存储单元(Single Level Cell,简称:SLC)NAND型闪存模块(即,一个存储单元中可存储1个字节数据的闪存模块)、多阶存储单元(Trinary Level Cell,简称:TLC)NAND型闪存模块(即,一个存储单元中可存储3个字节数据的闪存模块)、其他闪存模块或其他具有相同特性的存储器模块。
图5是根据一范例实施例所示出的存储器控制电路单元的概要方块图。
请参照图5,存储器控制电路单元104包括存储器管理电路202、主机接口204、存储器接口206及压缩/解压缩电路207。
存储器管理电路202用以控制存储器控制电路单元104的整体运作。具体来说,存储器管理电路202具有多个控制指令,并且在存储器存储装置100运作时,此些控制指令会被执行以进行数据的写入、读取与抹除等运作。
在本范例实施例中,存储器管理电路202的控制指令是以固件形式来实作。例如,存储器管理电路202具有微处理器单元(未示出)与只读存储器(未示出),并且此些控制指令是被烧录至此只读存储器中。当存储器存储装置100运作时,此些控制指令会由微处理器单元来执行以进行数据的写入、读取与抹除等运作。
在本发明另一范例实施例中,存储器管理电路202的控制指令也可以程序码形式存储于可复写式非易失性存储器模块106的特定区域(例如,存储器模块中专用于存放系统数据的系统区)中。此外,存储器管理电路202具有微处理器单元(未示出)、只读存储器(未示出)及随机存取存储器(未示出)。特别是,此只读存储器具有驱动码,并且当存储器控制电路单元104被致能时,微处理器单元会先执行此驱动码段来将存储于可复写式非易失性存储器模块106中的控制指令载入至存储器管理电路202的随机存取存储器中。之后,微处理器单元会运转此些控制指令以进行数据的写入、读取与抹除等运作。
此外,在本发明另一范例实施例中,存储器管理电路202的控制指令也可以一硬件形式来实作。例如,存储器管理电路202包括微控制器、存储单元管理电路、存储器写入电路、存储器读取电路、存储器抹除电路与数据处理电路。存储单元管理电路、存储器写入电路、存储器读取电路、存储器抹除电路与数据处理电路是电性连接至微控制器。其中,存储单元管理电路用以管理可复写式非易失性存储器模块106的实体抹除单元;存储器写入电路用以对可复写式非易失性存储器模块106下达写入指令以将数据写入至可复写式非易失性存储器模块106中;存储器读取电路用以对可复写式非易失性存储器模块106下达读取指令以从可复写式非易失性存储器模块106中读取数据;存储器抹除电路用以对可复写式非易失性存储器模块106下达抹除指令以将数据从可复写式非易失性存储器模块106中抹除;而数据处理电路用以处理欲写入至可复写式非易失性存储器模块106的数据以及从可复写式非易失性存储器模块106中读取的数据。
主机接口204是电性连接至存储器管理电路202并且用以接收与识别主机系统1000所传送的指令与数据。也就是说,主机系统1000所传送的指令与数据会通过主机接口204来传送至存储器管理电路202。在本范例实施例中,主机接口204是相容于SATA标准。然而,必须了解的是本发明不限于此,主机接口204也可以是相容于PATA标准、IEEE1394标准、PCI Express标准、USB标准、UHS-I接口标准、UHS-II接口标准、SD标准、MS标准、MMC标准、CF标准、IDE标准或其他适合的数据传输标准。
存储器接口206是电性连接至存储器管理电路202并且用以存取可复写式非易失性存储器模块106。也就是说,欲写入至可复写式非易失性存储器模块106的数据会经由存储器接口206转换为可复写式非易失性存储器模块106所能接受的格式。
压缩(compression)/解压缩(decompression)电路207是电性连接至存储器管理电路202并且用以执行数据的压缩/解压缩。在本范例实施例中,压缩/解压缩电路207是基于存储器管理电路202的控制而执行数据的压缩/解压缩。然而,在另一范例实施例中,压缩/解压缩电路207也可以是实作在存储器管理电路202中,本发明不加以限制。压缩/解压缩电路207采用的技术原理可为蓝波谢夫韦尔奇压缩(Lempel-Ziv-Welch Compression,简称:LZWCompression)技术、霍夫曼压缩(Huffman Compression)技术、自适应霍夫曼压缩(Adaptive Huffman Compression)技术、胡塔克压缩(Hu-Tucker Compression)技术、算数压缩(Arithmetic Compression)技术、自适应算数压缩(AdaptiveArithmetic Compression)技术、游程长度压缩(Run-length Compression)技术或字典压缩(Dictionary Compression)技术等各种数据压缩技术,本发明不加以限制。
在一范例实施例中,存储器控制电路单元104还包括缓冲存储器208、电源管理电路210及错误检查与校正电路212。
缓冲存储器208是电性连接至存储器管理电路202并且用以暂存来自于主机系统1000的数据与指令或来自于可复写式非易失性存储器模块106的数据。
电源管理电路210是电性连接至存储器管理电路202并且用以控制存储器存储装置100的电源。
错误检查与校正电路212是电性连接至存储器管理电路202并且用以执行错误检查与校正程序以确保数据的正确性。具体来说,当存储器管理电路202从主机系统1000中接收到写入指令时,错误检查与校正电路212会为对应此写入指令的数据产生对应的错误检查与校正码(Error Checking andCorrecting Code,简称:ECC Code),并且存储器管理电路202会将对应此写入指令的数据与对应的错误检查与校正码写入至可复写式非易失性存储器模块106中。之后,当存储器管理电路202从可复写式非易失性存储器模块106中读取数据时会同时读取此数据对应的错误检查与校正码,并且错误检查与校正电路212会依据此错误检查与校正码对所读取的数据执行错误检查与校正程序。
图6与图7是根据一范例实施例所示出的管理可复写式非易失性存储器模块的范例示意图。
必须了解的是,在此描述可复写式非易失性存储器模块106的实体抹除单元的运作时,以“提取”、“划分”、“关联”等词来操作实体抹除单元是逻辑上的概念。也就是说,可复写式非易失性存储器模块106的实体抹除单元的实际位置并未更动,而是逻辑上对可复写式非易失性存储器模块106的实体抹除单元进行操作。
请参照图6,存储器管理电路202会将实体抹除单元410(0)~410(N)逻辑地分组为数据区502、闲置区504、系统区506与取代区508。
逻辑上属于数据区502与闲置区504的实体抹除单元是用以存储来自于主机系统1000的数据。具体来说,数据区502的实体抹除单元是被视为已存储数据的实体抹除单元,而闲置区504的实体抹除单元是用以替换数据区502的实体抹除单元。也就是说,当从主机系统1000接收到写入指令与欲写入的数据时,存储器管理电路202会从闲置区504中提取实体抹除单元,并且将数据写入至所提取的实体抹除单元中,以替换数据区502的实体抹除单元。
逻辑上属于系统区506的实体抹除单元是用以记录系统数据。例如,系统数据包括关于可复写式非易失性存储器模块的制造商与型号、可复写式非易失性存储器模块的实体抹除单元数、每一实体抹除单元的实体程序化单元数等。
逻辑上属于取代区508中的实体抹除单元是用以取代损坏的实体抹除单元。具体来说,倘若取代区508中仍存有正常的实体抹除单元并且数据区502的实体抹除单元损坏时,存储器管理电路202会从取代区508中提取正常的实体抹除单元来更换损坏的实体抹除单元。
特别是,数据区502、闲置区504、系统区506与取代区508的实体抹除单元的数量会依据不同的存储器规格而有所不同。此外,必须了解的是,在存储器存储装置100的运作中,实体抹除单元关联至数据区502、闲置区504、系统区506与取代区508的分组关系会动态地变动。例如,当闲置区504中的实体抹除单元损坏而被取代区508的实体抹除单元取代时,则原本取代区508的实体抹除单元会被关联至闲置区504。
请参照图7,存储器管理电路202会配置逻辑地址LBA(0)~LBA(D)以利于以上述轮替方式在存储数据的实体抹除单元中进行数据存取。例如,当存储器存储装置100被文件系统(例如,FAT32)格式化时,逻辑地址LBA(0)~LBA(D)分别地映射至数据区502的实体抹除单元410(0)~410(F-1)。例如,存储器管理电路202会建立逻辑地址-实体抹除单元映射表(logicaladdress-physical erasing unit mapping table),以记录逻辑地址与实体抹除单元之间的映射关系。在此范例实施例中,每一个逻辑地址LBA(0)~LBA(D)的大小是相同于每一个实体抹除单元410(0)~410(F-1)的大小,并且逻辑地址也可被称为逻辑区块地址(logical block address,LBA)。此外,在本发明的另一范例实施例中,逻辑地址LBA(0)~LBA(D)也可以是一个实体程序化单元的大小或是其他大小,本发明并不在此限。
在本范例实施例中,存储器管理电路202会接收来自主机系统1000的写入指令与对应于此写入指令的数据(以下统称为第一数据)。然后,存储器管理电路202会获得第一数据的数据传输信息(以下统称为初始数据传输信息),并且根据初始数据传输信息来决定是否压缩第一数据。若存储器管理电路202决定压缩此第一数据,存储器管理电路202会控制压缩/解压缩电路207将此第一数据压缩为另一数据(以下统称为第二数据),并且将第二数据写入至可复写式非易失性存储器模块106。例如,存储器管理电路202可以发送包括一或多个第一指令的第一指令序列(command sequence)至可复写式非易失性存储器模块106,其中此第一指令序列用以指令第二数据需被写入至可复写式非易失性存储器模块106。然而,若存储器管理电路202决定不压缩此第一数据,则存储器管理电路202会直接将未经压缩的第一数据写入至可复写式非易失性存储器模块106。例如,存储器管理电路202可以发送包括一或多个第二指令的第二指令序列至可复写式非易失性存储器模块106,其中此第二指令序列用以指令未经压缩的第一数据需被写入至可复写式非易失性存储器模块106。值得说明的是,在本范例实施例中,指令序列可包含一个或多个指令码。
在本范例实施例中,第一数据的初始数据传输信息包括第一数据的压缩比例信息、第一数据的压缩速度信息、第二数据的数据流传输速度信息、第二数据的解压缩速度信息、解压缩后的第二数据的数据流传输速度信息、以及第一数据是否为连续数据信息的至少其中之一或其组合,且不限于此。在另一范例实施例中,初始数据传输信息不包括文件格式。
在本范例实施例中,第一数据的压缩比例是指第一数据被压缩后所减少的数据量与未经压缩的第一数据的数据量的比例。例如,存储器管理电路202可以估计第二数据的数据量。然后,存储器管理电路202可以将第一数据的数据量减去第二数据的数据量以获得此压缩比例的分子(numerator),并且将第一数据的数据量作为此压缩比例的分母(denominator),从而获得第一数据的压缩比例。例如,假设第一数据的数据量是4kB,并且第二数据的数据量是3kB,则存储器管理电路202可以获得压缩后第一数据的数据量相对于未压缩的第一数据的数据量减少了1kB,并且将第一数据的压缩比例设定为1/4。也就是说,压缩后减少的数据量(即,1kB)占了未压缩的第一数据的数据量(即,4kB)的1/4。然而,在另一范例实施例中,第一数据的压缩比例还可以是任意可用来表示第一数据的压缩效率的数值或表示式,本发明不加以限制。
在本范例实施例中,第一数据的压缩速度是指在压缩第一数据时,第一数据中每单位时间内可被压缩的数据量。例如,假设压缩/解压缩电路207在压缩第一数据时,每秒可压缩400MB(400,000,000Bytes)的数据量,则表示第一数据的压缩速度是400MB/sec。此外,在另一范例实施例中,压缩速度也可以称为压缩频宽(bandwidth),本发明不加以限制。
在本范例实施例中,第二数据的数据流传输速度是指在将第一数据压缩为第二数据时,第二数据被通过存储器接口206传输到可复写式非易失性存储器模块106的数据流传输速度。在本范例实施例中,假设压缩后的第一数据(即,第二数据)的每一部分会被立即传输到可复写式非易失性存储器模块106,则第二数据的数据流传输速度可能会与第一数据的压缩速度相同。例如,假设第一数据的压缩速度是400MB/sec,则第二数据的数据流传输速度也约是400MB/sec。然而,在另一范例实施例中,第二数据的数据流传输速度也可能会与第一数据的压缩速度不同,本发明不加以限制。
在本范例实施例中,第二数据的解压缩速度是指在将第一数据压缩后,压缩后的第一数据(即,第二数据)中每单位时间内可被解压缩的数据量。例如,假设压缩/解压缩电路207在解压缩第二数据时,每秒可解压缩450MB的数据量,则表示第二数据的解压缩速度是450MB/sec。此外,在另一范例实施例中,解压缩速度也可以称为解压缩频宽,本发明不加以限制。
在本范例实施例中,解压缩后的第二数据的数据流传输速度是指第二数据被从可复写式非易失性存储器模块106读取且被解压缩时,被解压缩的第二数据被通过主机接口204传输到主机系统1000的数据流传输速度。在本范例实施例中,假设解压缩后的第二数据的每一部分会被立即传输到主机系统1000,则解压缩后的第二数据的数据流传输速度可能会与第二数据的解压缩速度相同。例如,假设第二数据的解压缩速度是400MB/sec,则解压缩后的第二数据的数据流传输速度也约是400MB/sec。然而,在另一范例实施例中,解压缩后的第二数据的数据流传输速度也可能会与第二数据的解压缩速度不同,本发明不加以限制。
在本范例实施例中,第一数据是否是连续数据指的是第一数据是否是接续于前一笔被写入的数据。例如,在本范例实施例中,当对应于第一数据的写入指令是循序写入(sequential write)指令时,第一数据就有很大的机率是连续数据。然而,当写入指令是随机写入(random write)指令时,第一数据就有很大的机率不是连续数据。因此,存储器管理电路202可以根据写入指令是循序写入指令或者随机写入指令,来判断第一数据是否是连续数据。例如,存储器管理电路202可以根据前一个写入指令所指示的逻辑地址加上前一个写入指令的写入数据的数据长度所对应的逻辑地址单位,来获得前一个写入指令所使用的最后一个逻辑地址。然后,存储器管理电路202可以判断目前的写入指令所指示的逻辑地址是否接续于前一个写入指令所使用的最后一个逻辑地址。若目前的写入指令所指示的逻辑地址是接续于前一个写入指令所使用的最后一个逻辑地址,存储器管理电路202可以判定第一数据所对应的写入指令是循序写入指令,并且判定第一数据是连续数据。反之,若目前的写入指令所指示的逻辑地址不是接续于前一个写入指令所使用的最后一个逻辑地址,则存储器管理电路202可以判定第一数据所对应的写入指令是随机写入指令,并且判定第一数据不是连续数据。此外,在另一范例实施例中,存储器管理电路202还可以利用其他的判断机制(例如,写入指令中的特定标签或指令码等)来判断第一数据所对应的写入指令是循序写入指令或随机写入指令,本发明不加以限制。
在本范例实施例中,存储器管理电路202会控制压缩/解压缩电路207来尝试压缩至少一部分的第一数据,以获得第一数据的压缩信息。例如,第一数据的压缩信息可以包括第一数据的压缩速度信息以及第二数据的数据流传输速度信息,且不限于此。此外,在另一范例实施例中,存储器管理电路202则是会扫描第一数据,以根据第一数据的内容估测第一数据的压缩速度。例如,存储器管理电路202可以分析第一数据的组成而获得第一数据的复杂度(complexity),从而估测第一数据的压缩速度。或者,存储器管理电路202也可以根据第一数据的数据量(或数据长度)来查询纪录有数据量与压缩速度的对应关系的一查找表,以获得第一数据的压缩速度等等,本发明不加以限制。
在获得第一数据的压缩信息之后,存储器管理电路202可以根据第一数据的压缩信息来获得第一数据的初始数据传输信息。例如,假设在尝试压缩至少部分的第一数据之后,存储器管理电路202获得第一数据的压缩速度是450MB/sec。根据第一数据的压缩速度,存储器管理电路202可以估测第二数据的数据流传输速度、第二数据的解压缩速度及/或解压缩后的第二数据的数据流传输速度。例如,存储器管理电路202可以估测第二数据的数据流传输速度、第二数据的解压缩速度及/或解压缩后的第二数据的数据流传输速度也约会是450MB/sec。此外,根据不同的数据压缩技术的特性及/或传输接口的种类,存储器管理电路202也可以增加或减少第一数据的压缩速度而获得第二数据的数据流传输速度、第二数据的解压缩速度及/或解压缩后的第二数据的数据流传输速度,本发明不加以限制。类似地,通过尝试压缩或者扫描至少一部分的第一数据,存储器管理电路202也可以预先获得第二数据的数据量,并且根据第一数据的数据量与第二数据的数据量来获得第一数据的压缩比例。
在本范例实施例中,压缩/解压缩电路207对于第一数据的压缩与对于第二数据的解压缩是对称的。以LZW压缩技术为例,若存储器管理电路202决定压缩第一数据,存储器管理电路202会控制压缩/解压缩电路207将第一数据压缩为第二数据,并且随着第一数据的压缩而建立一字典(以下统称为第一字典),以利用此第一字典记录第一数据与第二数据的对应关系。然后,当存储器管理电路202接收到来自主机系统1000且对应于第一数据的读取指令时,存储器管理电路202会根据此读取指令从可复写式非易失性存储器模块106中读取第二数据,并且控制压缩/解压缩电路207解压缩第二数据。在压缩/解压缩电路207解压缩第二数据时,压缩/解压缩电路207会随着第二数据的解压缩而建立另一个字典(以下统称为第二字典),以利用此第二字典记录第一数据与第二数据的对应关系。在本范例实施例中,第一字典的记载内容会与第二字典的记载内容实质上相同。在此提及的第一字典的记载内容与第二字典的记载内容实质上相同,指的是第一字典与第二字典所各别记载的第一数据与第二数据的对应关系是相同的(即,对称式的压缩/解压缩技术的特性),而第一字典与第二字典各别的格式或者所记载的部分辅助数据则可以相同也可以不相同,本发明不加以限制。
举例来说,若存储器管理电路202决定压缩字串“ABBBABAAB”(即,第一数据),则压缩/解压缩电路207可以压缩字串“ABBBABAAB”以产生字串“124313”(即,第二数据),并且随着第一数据的压缩而逐步建立第一字典。例如,第一字典的内容可包括“1=A、2=B、3=AB、4=BB、5=BBA、6=ABA、7=AA”。然后,存储器管理电路202会将字串“124313”(即,第二数据)写入至可复写式非易失性存储器模块106。当字串“124313”(即,第二数据)被从可复写式非易失性存储器模块106读取之后,压缩/解压缩电路207会解压缩字串“124313”(即,第二数据)为“ABBBABAAB”(即,第一数据),并且随着字串“124313”(即,第二数据)的解压缩而逐步产生第二字典。例如,此第二字典的内容同样可包括“1=A,2=B,3=AB,4=BB,5=BBA,6=ABA,7=AA”。更详细而言,以第一字典与第二字典中的“1=A”为例,“1”也可称为字典索引值,而“A”则可称为字典内容,以此类推。
基于上述,在本范例实施例中,当压缩/解压缩电路207在压缩第一数据时,压缩/解压缩电路207会逐步地产生第一字典,并且利用第一字典来完成第一数据的压缩。当压缩/解压缩电路207在解压缩第二数据时,压缩/解压缩电路207会逐步地产生与第一字典实质上相同的第二字典,并且利用第二字典来完成第二数据的解压缩。也就是说,在本范例实施例中,压缩/解压缩电路207压缩第一数据与解压缩第二数据的步骤、程序及所需时间是类似的,因此,第一数据的压缩速度与第二数据的解压缩速度可以被视为相同或者几乎相同。然而,本发明并不将第一字典与第二字典的建立限定于上述。例如,在一范例实施例中,第一字典及/或第二字典也可以是预先配置在压缩/解压缩电路207及/或可复写式非易失性存储器模块106中,而不是在压缩第一数据及/或解压缩第二数据时即时地被建立。当第二数据被从可复写式非易失性存储器模块106读取时,压缩/解压缩电路207可以利用此第一字典或第二字典来解压缩第二数据。或者,在另一范例实施例中,压缩/解压缩电路207则是会将即时产生或着预先建立的第一字典的至少一部分随着第二数据写入至可复写式非易失性存储器模块106中。当存储器管理电路202在从可复写式非易失性存储器模块106中读取第二数据时,存储器管理电路202会一并读取可复写式非易失性存储器模块106中的第一字典。然后,压缩/解压缩电路207可以利用此第一字典来解压缩第二数据。此外,在另一范例实施例中,压缩/解压缩电路207对于第一数据的压缩与对于第二数据的解压缩也可以是不对称的,本发明不加以限制。
在本范例实施例中,压缩/解压缩电路207具有多个压缩/解压缩通道。在压缩第一数据时,压缩/解压缩电路207可以利用这些压缩/解压缩通道来平行地压缩不同部分的第一数据,以产生第二数据。以两个压缩通道(以下统称为第一压缩通道与第二压缩通道)为例,压缩/解压缩电路207可以利用第一压缩通道与第二压缩通道平行地压缩第一部分的第一数据与第二部分的第一数据。特别是,第二压缩通道对于第二部分的第一数据的压缩是基于第一压缩通道对于第一部分的第一数据的压缩结果。以字串“ABBBABAAB”为例,假设压缩/解压缩电路207的第一压缩通道是负责压缩此字串中的第1个字元至第4个字元“ABBB”,并且压缩/解压缩电路207的第二压缩通道是负责压缩此字串中的第5个字元至第9个字元“ABAAB”。压缩/解压缩电路207的第一压缩通道会先压缩数据“ABBB”为第二数据中的“124”,并且将“1=A,2=B,3=AB,4=BB”写入第一字典中。然后,压缩/解压缩电路207的第二压缩通道会基于第一字典中的“1=A,3=AB”来压缩数据“ABAAB”为第二数据中的“313”。也就是说,虽然压缩/解压缩电路207的第一压缩通道与第二压缩通道是平行地处理数据“ABBB”与数据“ABAAB”,但是,实际上压缩/解压缩电路207的第二压缩通道可能会等待压缩/解压缩电路207的第一压缩通道的压缩结果产生(例如,建立字典中的部分数据)后,才能进行数据压缩。在另一范例实施例中,不同之压缩/解压缩通道各别独立地建立所属的字典,而不需让压缩/解压缩通道的其中之一等待另一压缩/解压缩通道的压缩结果。此外,在另一范例实施例中,压缩/解压缩电路207则仅具有单一的压缩/解压缩通道,本发明不加以限制。
在本范例实施例中,存储器管理电路202会判断第一数据的初始数据传输信息是否符合预定条件,以决定是否压缩第一数据。例如,存储器管理电路202可以根据第一数据的压缩比例是否符合一压缩比例条件、第一数据的压缩速度是否符合一压缩速度条件、第二数据的数据流传输速度是否符合一压缩传输速度条件、第二数据的解压缩速度是否符合一解压缩速度条件、解压缩后的第二数据的数据流传输速度是否符合一解压缩传输速度条件、以及第一数据是否为连续数据的至少其中之一,来判断初始数据传输信息是否符合预定条件。
存储器管理电路202可以判断第一数据的压缩比例是否符合一压缩比例门槛值。若第一数据的压缩比例符合(例如,大于或等于)压缩比例门槛值,存储器管理电路202判定第一数据的压缩比例符合压缩比例条件。若第一数据的压缩比例不符合(例如,小于)压缩比例门槛值,则存储器管理电路202判定第一数据的压缩比例不符合压缩比例条件。
存储器管理电路202可以判断第一数据的压缩速度是否符合一压缩速度门槛值。若第一数据的压缩速度符合(例如,大于或等于)压缩速度门槛值,存储器管理电路202判定第一数据的压缩速度符合压缩速度条件。若第一数据的压缩速度不符合(例如,小于)压缩速度门槛值,则存储器管理电路202判定第一数据的压缩速度不符合压缩速度条件。
存储器管理电路202可以判断第二数据的数据流传输速度是否符合一压缩传输速度门槛值。若第二数据的数据流传输速度符合(例如,大于或等于)压缩传输速度门槛值,存储器管理电路202判定第二数据的数据流传输速度符合压缩传输速度条件。若第二数据的数据流传输速度不符合(例如,小于)压缩传输速度门槛值,则存储器管理电路202判定第二数据的数据流传输速度不符合压缩传输速度条件。
存储器管理电路202可以判断第二数据的解压缩速度是否符合一解压缩速度门槛值。若第二数据的解压缩速度符合(例如,大于或等于)解压缩速度门槛值,存储器管理电路202判定第二数据的解压缩速度符合解压缩速度条件。若第二数据的解压缩速度不符合(例如,小于)解压缩速度门槛值,则存储器管理电路202判定第二数据的解压缩速度不符合解压缩速度条件。
存储器管理电路202可以判断解压缩后的第二数据的数据流传输速度是否符合一解压缩传输速度门槛值。若解压缩后的第二数据的数据流传输速度符合(例如,大于或等于)解压缩传输速度门槛值,存储器管理电路202判定解压缩后的第二数据的数据流传输速度符合解压缩传输速度条件。若解压缩后的第二数据的数据流传输速度不符合(例如,小于)解压缩传输速度门槛值,则存储器管理电路202判定解压缩后的第二数据的数据流传输速度不符合解压缩传输速度条件。
值得一提的是,上述各个判断可以单独使用也可以任二个、任三个、任四个、任五个、六个同时使用或者撘配其余的判断机制来使用,本发明不加以限制。例如,在一范例实施例中,当第一数据的压缩比例符合压缩比例条件、第一数据的压缩速度符合压缩速度条件、第二数据的数据流传输速度符合压缩传输速度条件、第二数据的解压缩速度符合解压缩速度条件、解压缩后的第二数据的数据流传输速度符合解压缩传输速度条件、或者第一数据为连续数据时,存储器管理电路202判定初始数据传输信息符合预定条件。此外,在另一范例实施例中,当第一数据的压缩比例符合压缩比例条件并且第二数据的解压缩速度符合解压缩速度条件时,存储器管理电路202才会判定初始数据传输信息符合预定条件,且不限于此。
当初始数据传输信息符合预定条件时,存储器管理电路202会控制压缩/解压缩电路207将第一数据压缩为第二数据,并且将第二数据写入至可复写式非易失性存储器模块106。此外,当初始数据传输信息不符合预定条件时,存储器管理电路202会直接将未经压缩的第一数据写入至可复写式非易失性存储器模块106。
值得一提的是,数据在循序读取与随机读取时的读取速度(或频宽)可能有所不同,例如,主机系统1000通过循序读取从存储器存储装置100中读取数据时的读取速度,普遍会大于主机系统1000通过随机读取从存储器存储装置100中读取数据时的读取速度,因此,在一范例实施例中,存储器管理电路202也可根据第一数据是否为连续数据来决定或者调整压缩比例条件、压缩速度条件、压缩传输速度条件、解压缩速度条件以及解压缩传输速度条件的至少其中之一。例如,当第一数据是连续数据时,存储器管理电路202可以将压缩比例条件、压缩速度条件、解压缩速度条件及解压缩传输速度条件的至少其中之一的门槛值设定为第一门槛值。当第一数据不是连续数据时,存储器管理电路202可以将压缩速度条件、压缩速度条件、解压缩速度条件及解压缩传输速度条件的至少其中之一的门槛值设定为第二门槛值。第一门槛值会高于第二门槛值。此外,压缩速度条件的门槛值也称为压缩速度门槛值,压缩速度条件的门槛值亦称为压缩速度门槛值,解压缩速度条件的门槛值亦称为解压缩速度门槛值,并且解压缩传输速度条件的门槛值亦称为解压缩传输速度门槛值。
以解压缩速度条件为例,在一范例实施例中,当存储器管理电路202判定第一数据所对应的写入指令是循序写入指令时,表示第一数据应该是连续数据,因此存储器管理电路202会根据对应于循序读取的预设读取速度将解压缩速度门槛值设定为一个解压缩速度门槛值(以下统称为第一解压缩速度门槛值)。然而,若存储器管理电路202判定第一数据所对应的写入指令是随机写入指令,表示第一数据应该不是连续数据,因此存储器管理电路202会根据对应于随机读取的预设读取速度将解压缩速度门槛值设定为另一个解压缩速度门槛值(以下统称为第二解压缩速度门槛值)。特别是,第一解压缩速度门槛值会高于第二解压缩速度门槛值。举例来说,假设存储器管理电路202对应于循序读取的预设读取速度是600MB/sec,则当存储器管理电路202判定第一数据是连续数据时,存储器管理电路202可以将解压缩速度门槛值设定为500MB/sec(即,第一解压缩速度门槛值)。另外,假设存储器管理电路202对应于随机读取的预设读取速度是300MB/sec,则当存储器管理电路202判定第一数据不是连续数据时,存储器管理电路202可以将解压缩速度门槛值设定为250MB/sec(即,第二解压缩速度门槛值)。也就是说,若第一数据是连续数据,则存储器管理电路202可以将解压缩速度门槛值设定为对应于循序读取的预设读取速度乘上一特定倍数(例如,5/6)。若第一数据不是连续数据,则存储器管理电路202可以将此解压缩速度门槛值设定为对应于随机读取的预设读取速度乘上此特定倍数(例如,5/6)。然而,此特定倍数也可以是根据第一数据是否是连续数据而有所不同。此外,存储器管理电路202也可以根据使用者的设定指令或者任意的规则来设定第一解压缩速度门槛值与第二解压缩速度门槛值,本发明不加以限制。
同样以解压缩速度条件为例,在另一范例实施例中,存储器管理电路202则是会根据第二数据的解压缩速度与预设读取速度获得读取速度下降比例。在此提及的读取速度下降比例是指因数据的解压缩导致每单位时间内从存储器存储装置100传输到主机系统1000的数据量的下降比例。此外,在此提及的预设读取速度是指一般情况下主机系统1000从存储器存储装置100中读取数据时的读取速度。此预设读取频宽可以是一预设值或者是随着第一数据所对应的写入指令是循序写入指令或者随机写入指令而有所不同。例如,反应于第一数据所对应的写入指令是循序写入指令或者随机写入指令,此预设读取速度可以是对应于循序读取的预设读取速度或者是对应于随机读取的预设读取速度。然后,存储器管理电路202会判断读取速度下降比例是否符合预设速度下降比例。例如,假设存储器管理电路202获得第二数据的解压缩速度是300MB/sec,并且预设读取速度是600MB/sec,则存储器管理电路202可以获得读取速度下降比例是1/2(即,300/600)。若预设速度下降比例是1/6,存储器管理电路202会得知所获得的读取速度下降比例(即,1/2)不符合(例如,大于)预设速度下降比例(即,1/6)。又例如,假设第二数据的解压缩速度是270MB/sec,并且预设读取速度是300MB/sec,则存储器管理电路202可以获得读取速度下降比例是1/10(即,30/300)。若预设速度下降比例是1/6,则存储器管理电路202会得知所获得的读取速度下降比例(即,1/10)符合(例如,小于或等于)预设速度下降比例(即,1/6)。当读取速度下降比例符合预设速度下降比例时,存储器管理电路202会判定第二数据的解压缩速度符合解压缩速度条件。反之,当读取速度下降比例不符合预设速度下降比例时,存储器管理电路202则是会判定第二数据的解压缩速度不符合解压缩速度条件。此外,此范例实施例中的第二数据的解压缩速度也可以替换为第一数据的压缩速度、第二数据的数据流传输速度或者解压缩后的第二数据的数据流传输速度等,本发明不加以限制。
在一范例实施例中,存储器管理电路202也可判断可复写式非易失性存储器模块106的垃圾搜集(garbage collection)程序中,所搜集的有效数据是否包括未经压缩的数据。若此垃圾搜集程序所搜集的有效数据包括未经压缩的数据,则存储器管理电路202会获得所搜集的有效数据中的未经压缩的数据的数据传输信息(以下统称为后续数据传输信息),并且根据后续数据传输信息来决定是否压缩被搜集的有效数据中未经压缩的数据。以图7的范例实施例为例,假设存储器管理电路202是将未经压缩的第一数据写入至可复写式非易失性存储器模块106的实体抹除单元410(0)中。当可复写式非易失性存储器模块106在执行对于实体抹除单元410(0)的垃圾搜集程序时,存储器管理电路202会判断此垃圾搜集程序所搜集的有效数据是否包含至少部分的未经压缩的第一数据。若存储器管理电路202判定此垃圾搜集程序所搜集的有效数据包括至少部分的未经压缩的第一数据,则存储器管理电路202会获得此至少部分的未经压缩的第一数据的后续数据传输信息,并且判断此后续数据传输信息是否符合上述特定条件。若此后续数据传输信息符合上述特定条件,存储器管理电路202会控制压缩/解压缩电路207将此至少部分的未经压缩的第一数据压缩为另一数据(以下为统称为第三数据),并且将第三数据随着垃圾搜集程序重新写入至可复写式非易失性存储器模块106。例如,存储器管理电路202可以发送包括一或多个第三指令的第三指令序列至可复写式非易失性存储器模块106,其中此第三指令序列用以指令第三数据需被写入至可复写式非易失性存储器模块106。反之,若此后续数据传输信息不符合上述特定条件,则存储器管理电路202不压缩此至少部分的未经压缩的第一数据。此范例实施例中提及的后续数据传输信息类似于上述初始数据传输信息,并且详细的判断机制可参考前述各个范例实施例的说明,在此不加以赘述。
图8是根据一范例实施例所示出的数据写入方法的流程图。
请参照图8,在步骤S802中,由存储器管理电路202接收写入指令与对应于写入指令的第一数据。
在步骤S804中,由存储器管理电路202获得第一数据的初始数据传输信息。
在步骤S806中,由存储器管理电路202判断初始数据传输信息是否符合预定条件。
若初始数据传输信息符合预定条件,在步骤S808中,由存储器管理电路202控制压缩/解压缩电路207将第一数据压缩为第二数据,并且将第二数据写入至可复写式非易失性存储器模块106。
若存储器管理电路202初始数据传输信息不符合预定条件,在步骤S810中,由存储器管理电路202直接将未经压缩的第一数据写入至可复写式非易失性存储器模块106。
图9是根据另一范例实施例所示出的数据写入方法的流程图。
请参照图9,在步骤S902中,由存储器管理电路202接收写入指令与对应于写入指令的第一数据。
在步骤S904中,由存储器管理电路202获得第一数据的压缩比例信息。
在步骤S906中,由存储器管理电路202根据第一数据的压缩比例信息判断第一数据是否适合被压缩。例如,存储器管理电路202可以根据第一数据的压缩比例是否符合压缩比例条件来判断第一数据是否适合被压缩。当第一数据的压缩比例符合压缩比例条件时,存储器管理电路202判定第一数据适合被压缩。反之,当第一数据的压缩比例不符合压缩比例条件时,存储器管理电路202判定第一数据不适合被压缩。
若存储器管理电路202判定第一数据不适合被压缩,在步骤S914中,由存储器管理电路202直接将未经压缩的第一数据写入至可复写式非易失性存储器模块106。
若存储器管理电路202判定第一数据适合被压缩,在步骤S908中,由存储器管理电路202获得第二数据的解压缩速度信息。
在步骤S910中,由存储器管理电路202判断第二数据的解压缩速度是否符合解压缩速度条件。例如,存储器管理电路202可以判断第二数据的解压缩速度是否符合解压缩速度门槛值。当第二数据的解压缩速度符合解压缩速度门槛值时,存储器管理电路202判定第二数据的解压缩速度符合解压缩速度条件。反之,当第二数据的解压缩速度不符合解压缩速度门槛值时,存储器管理电路202可以判定第二数据的解压缩速度不符合解压缩速度条件。
若存储器管理电路202判定第二数据的解压缩速度符合解压缩速度条件,在步骤S912中,由存储器管理电路202控制压缩/解压缩电路207将第一数据压缩为第二数据,并且将第二数据写入至可复写式非易失性存储器模块106。
若存储器管理电路202判定第二数据的解压缩速度不符合解压缩速度条件,在步骤S914中,由存储器管理电路202直接将未经压缩的第一数据写入至可复写式非易失性存储器模块106。
值得一提的是,虽然图9的范例实施例是以第一数据的压缩比例是否符合压缩比例条件以及第二数据的解压缩速度是否符合解压缩速度条件来作为是否压缩第一数据的依据,但是在其他的范例实施例中,第一数据的压缩速度是否符合压缩速度条件、第二数据的数据流传输速度是否符合压缩传输速度条件、解压缩后的第二数据的数据流传输速度是否符合解压缩传输速度条件以及第一数据是否为连续数据也可以单独或者取至少其中之二来取代或者撘配图9的范例实施例中所使用的判断条件。此外,图9中的步骤S908也可以在步骤S904中一并执行,及/或步骤S906与S910的执行顺序也可以同步执行或者对调,例如,先执行步骤S910的判断,若判断为是,再接续执行步骤S906的判断等等,本发明不加以限制。此外,图8与图9中各步骤已详细说明如上,在此便不在赘述。值得注意的是,图8与图9中各步骤可以实作为多个程序码或是电路,本发明并不在此限。图8与图9的方法可以搭配以上范例实施例使用,也可以单独使用,本发明并不在此限。
综上所述,本发明的数据写入方法、存储器存储装置及存储器控制电路单元,在将数据写入至可复写式非易失性存储器模块之前,会先获得此数据的数据传输信息,并且根据此数据传输信息来决定是否压缩此数据,以有效减少因数据的解压缩效率太差而影响到后续的数据读取速度的问题。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (33)
1.一种数据写入方法,其特征在于,用于一存储器控制电路单元,该数据写入方法包括:
接收一写入指令与对应于该写入指令的一第一数据;
获得该第一数据的一初始数据传输信息,并且判断该初始数据传输信息是否符合一预定条件;
当该初始数据传输信息符合该预定条件时,将该第一数据压缩为一第二数据,并且将该第二数据写入至一可复写式非易失性存储器模块;以及
当该初始数据传输信息不符合该预定条件时,将未经压缩的该第一数据写入至该可复写式非易失性存储器模块。
2.根据权利要求1所述的数据写入方法,其特征在于,获得该第一数据的该初始数据传输信息的步骤包括:
压缩或者扫描至少一部分的该第一数据,以获得该第一数据的一压缩信息,其中该第一数据的该压缩信息包括该第一数据的一压缩速度信息以及该第二数据的一数据流传输速度信息的至少其中之一;以及
根据该第一数据的该压缩信息获得该第一数据的该初始数据传输信息。
3.根据权利要求1所述的数据写入方法,其特征在于,该第一数据的该初始数据传输信息包括该第一数据的一压缩比例信息、该第一数据的一压缩速度信息、该第二数据的一数据流传输速度信息、该第二数据的一解压缩速度信息、解压缩后的该第二数据的一数据流传输速度信息、以及该第一数据是否为一连续数据信息的至少其中之一。
4.根据权利要求3所述的数据写入方法,其特征在于,判断该初始数据传输信息是否符合该预定条件的步骤包括:
根据该第一数据的该压缩比例是否符合一压缩比例条件、该第一数据的该压缩速度是否符合一压缩速度条件、该第二数据的该数据流传输速度是否符合一压缩传输速度条件、该第二数据的该解压缩速度是否符合一解压缩速度条件、解压缩后的该第二数据的该数据流传输速度是否符合一解压缩传输速度条件、以及该第一数据是否为该连续数据的至少其中之一,来判断该初始数据传输信息是否符合该预定条件。
5.根据权利要求4所述的数据写入方法,其特征在于,还包括:
根据该第一数据是否为该连续数据来决定该压缩比例条件、该压缩速度条件、该压缩传输速度条件、该解压缩速度条件以及该解压缩传输速度条件的至少其中之一。
6.根据权利要求5所述的数据写入方法,其特征在于,根据该第一数据是否为该连续数据来决定该压缩比例条件、该压缩速度条件、该压缩传输速度条件、该解压缩速度条件以及该解压缩传输速度条件的至少其中之一的步骤包括:
当该第一数据是该连续数据时,将该压缩比例条件、该压缩速度条件、该解压缩速度条件及该解压缩传输速度条件的至少其中之一的一门槛值设定为一第一门槛值;以及
当该第一数据不是该连续数据时,将该压缩比例条件、该压缩速度条件、该解压缩速度条件及该解压缩传输速度条件的至少其中之一的该门槛值设定为一第二门槛值,
其中该第一门槛值高于该第二门槛值。
7.根据权利要求4所述的数据写入方法,其特征在于,还包括:
判断该第二数据的该解压缩速度是否符合一解压缩速度门槛值;以及
当判定该第二数据的该解压缩速度符合该解压缩速度门槛值时,判定该第二数据的该解压缩速度符合该解压缩速度条件。
8.根据权利要求4所述的数据写入方法,其特征在于,还包括:
根据该第二数据的该解压缩速度与一预设读取速度获得一读取速度下降比例;
判断该读取速度下降比例是否符合一预设速度下降比例;
当该读取速度下降比例符合该预设速度下降比例时,判定该第二数据的该解压缩速度符合该解压缩速度条件;以及
当该读取速度下降比例不符合该预设速度下降比例时,判定该第二数据的该解压缩速度不符合该解压缩速度条件。
9.根据权利要求1所述的数据写入方法,其特征在于,在将未经压缩的该第一数据写入至该可复写式非易失性存储器模块的步骤之后,该数据写入方法还包括:
若该可复写式非易失性存储器模块的一垃圾搜集程序所搜集的有效数据包括未经压缩的该第一数据的至少一部分,获得该至少一部分的该第一数据的一后续数据传输信息,并且判断该后续数据传输信息是否符合该预定条件;
当该后续数据传输信息符合该预定条件时,将该至少一部分的该第一数据压缩为一第三数据,并且将该第三数据写入至该可复写式非易失性存储器模块;以及
当该后续数据传输信息不符合该预定条件时,不压缩该至少一部分的该第一数据。
10.根据权利要求1所述的数据写入方法,其特征在于,将该第一数据压缩为该第二数据的步骤包括:
利用一第一压缩通道与一第二压缩通道平行地压缩一第一部分的该第一数据与一第二部分的该第一数据,以产生该第二数据,
其中该第二压缩通道对于该第二部分的该第一数据的压缩是基于该第一压缩通道对于该第一部分的该第一数据的一压缩结果。
11.根据权利要求1所述的数据写入方法,其特征在于,将该第一数据压缩为该第二数据的步骤包括:
随着该第一数据的压缩而建立一第一字典,
其中该数据写入方法还包括:
接收一读取指令,并且根据该读取指令从该可复写式非易失性存储器模块中读取该第二数据;以及
解压缩该第二数据,并且随着该第二数据的解压缩而建立一第二字典,其中该第一字典与该第二字典实质上相同。
12.一种存储器存储装置,其特征在于,包括:
一连接接口单元,用以电性连接至一主机系统;
一可复写式非易失性存储器模块;以及
一存储器控制电路单元,电性连接至该连接接口单元与该可复写式非易失性存储器模块,其中该存储器控制电路单元用以执行以下操作:
接收一写入指令与对应于该写入指令的一第一数据;
获得该第一数据的一初始数据传输信息,并且判断该初始数据传输信息是否符合一预定条件;
当该初始数据传输信息符合该预定条件时,将该第一数据压缩为一第二数据,并且将该第二数据写入至该可复写式非易失性存储器模块;以及
当该初始数据传输信息不符合该预定条件时,将未经压缩的该第一数据写入至该可复写式非易失性存储器模块。
13.根据权利要求12所述的存储器存储装置,其特征在于,获得该第一数据的该初始数据传输信息的操作包括:
压缩或者扫描至少一部分的该第一数据,以获得该第一数据的一压缩信息,其中该第一数据的该压缩信息包括该第一数据的一压缩速度信息以及该第二数据的一数据流传输速度信息的至少其中之一;以及
根据该第一数据的该压缩信息获得该第一数据的该初始数据传输信息。
14.根据权利要求12所述的存储器存储装置,其特征在于,该第一数据的该初始数据传输信息包括该第一数据的一压缩比例信息、该第一数据的一压缩速度信息、该第二数据的一数据流传输速度信息、该第二数据的一解压缩速度信息、解压缩后的该第二数据的一数据流传输速度信息、以及该第一数据是否为一连续数据信息的至少其中之一。
15.根据权利要求14所述的存储器存储装置,其特征在于,判断该初始数据传输信息是否符合该预定条件的操作包括:
根据该第一数据的该压缩比例是否符合一压缩比例条件、该第一数据的该压缩速度是否符合一压缩速度条件、该第二数据的该数据流传输速度是否符合一压缩传输速度条件、该第二数据的该解压缩速度是否符合一解压缩速度条件、解压缩后的该第二数据的该数据流传输速度是否符合一解压缩传输速度条件、以及该第一数据是否为该连续数据的至少其中之一,来判断该初始数据传输信息是否符合该预定条件。
16.根据权利要求15所述的存储器存储装置,其特征在于,该存储器控制电路单元还用以根据该第一数据是否为该连续数据来决定该压缩比例条件、该压缩速度条件、该压缩传输速度条件、该解压缩速度条件以及该解压缩传输速度条件的至少其中之一。
17.根据权利要求16所述的存储器存储装置,其特征在于,根据该第一数据是否为该连续数据来决定该压缩比例条件、该压缩速度条件、该压缩传输速度条件、该解压缩速度条件以及该解压缩传输速度条件的至少其中之一的操作包括:
将该压缩比例条件、该压缩速度条件、该解压缩速度条件及该解压缩传输速度条件的至少其中之一的一门槛值设定为一第一门槛值;以及
当该第一数据不是该连续数据时,将该压缩比例条件、该压缩速度条件、该解压缩速度条件及该解压缩传输速度条件的至少其中之一的该门槛值设定为一第二门槛值,
其中该第一门槛值高于该第二门槛值。
18.根据权利要求15所述的存储器存储装置,其特征在于,该存储器控制电路单元还用以执行以下操作:
判断该第二数据的该解压缩速度是否符合一解压缩速度门槛值;以及
当判定该第二数据的该解压缩速度符合该解压缩速度门槛值时,判定该第二数据的该解压缩速度符合该解压缩速度条件。
19.根据权利要求15所述的存储器存储装置,其特征在于,该存储器控制电路单元还用以执行以下操作:
根据该第二数据的该解压缩速度与一预设读取速度获得一读取速度下降比例;
判断该读取速度下降比例是否符合一预设速度下降比例;
当该读取速度下降比例符合该预设速度下降比例时,判定该第二数据的该解压缩速度符合该解压缩速度条件;以及
当该读取速度下降比例不符合该预设速度下降比例时,判定该第二数据的该解压缩速度不符合该解压缩速度条件。
20.根据权利要求12所述的存储器存储装置,其特征在于,在将未经压缩的该第一数据写入至该可复写式非易失性存储器模块之后,该存储器控制电路单元还用以执行以下操作:
若该可复写式非易失性存储器模块的一垃圾搜集程序所搜集的有效数据包括未经压缩的该第一数据的至少一部分,获得该至少一部分的该第一数据的一后续数据传输信息,并且判断该后续数据传输信息是否符合该预定条件;
当该后续数据传输信息符合该预定条件时,将该至少一部分的该第一数据压缩为一第三数据,并且将该第三数据写入至该可复写式非易失性存储器模块;以及
当该后续数据传输信息不符合该预定条件时,不压缩该至少一部分的该第一数据。
21.根据权利要求12所述的存储器存储装置,其特征在于,将该第一数据压缩为该第二数据的操作包括:
利用一第一压缩通道与一第二压缩通道平行地压缩一第一部分的该第一数据与一第二部分的该第一数据,以产生该第二数据,
其中该第二压缩通道对于该第二部分的该第一数据的压缩是基于该第一压缩通道对于该第一部分的该第一数据的一压缩结果。
22.根据权利要求12所述的存储器存储装置,其特征在于,将该第一数据压缩为该第二数据的操作包括:
随着该第一数据的压缩而建立一第一字典,
其中该存储器控制电路单元还用以执行以下操作:
接收一读取指令,并且根据该读取指令从该可复写式非易失性存储器模块中读取该第二数据;以及
解压缩该第二数据,并且随着该第二数据的解压缩而建立一第二字典,其中该第一字典与该第二字典实质上相同。
23.一种存储器控制电路单元,其特征在于,用于控制一可复写式非易失性存储器模块,该存储器控制电路单元包括:
一主机接口,用以电性连接至一主机系统;
一存储器接口,用以电性连接至该可复写式非易失性存储器模块;
一压缩/解压缩电路;以及
一存储器管理电路,电性连接至该主机接口、该存储器接口及该压缩/解压缩电路,其中该存储器管理电路用以执行以下操作:
接收一写入指令与对应于该写入指令的一第一数据;
获得该第一数据的一初始数据传输信息,并且判断该初始数据传输信息是否符合一预定条件;
当该初始数据传输信息符合该预定条件时,控制该压缩/解压缩电路将该第一数据压缩为一第二数据,并且发送一第一指令序列,其中该第一指令序列用以指示该第二数据需被写入至该可复写式非易失性存储器模块;以及
当该初始数据传输信息不符合该预定条件时,发送一第二指令序列,其中该第二指令序列用以指示未经压缩的该第一数据需被写入至该可复写式非易失性存储器模块。
24.根据权利要求23所述的存储器控制电路单元,其特征在于,获得该第一数据的该初始数据传输信息的操作包括:
控制该压缩/解压缩电路压缩或者扫描至少一部分的该第一数据,以获得该第一数据的一压缩信息,其中该第一数据的该压缩信息包括该第一数据的一压缩速度信息以及该第二数据的一数据流传输速度信息的至少其中之一;以及
根据该第一数据的该压缩信息获得该第一数据的该初始数据传输信息。
25.根据权利要求23所述的存储器控制电路单元,其特征在于,该第一数据的该初始数据传输信息包括该第一数据的一压缩比例信息、该第一数据的一压缩速度信息、该第二数据的一数据流传输速度信息、该第二数据的一解压缩速度信息、解压缩后的该第二数据的一数据流传输速度信息、以及该第一数据是否为一连续数据信息的至少其中之一。
26.根据权利要求25所述的存储器控制电路单元,其特征在于,判断该初始数据传输信息是否符合该预定条件的操作包括:
根据该第一数据的该压缩比例是否符合一压缩比例条件、该第一数据的该压缩速度是否符合一压缩速度条件、该第二数据的该数据流传输速度是否符合一压缩传输速度条件、该第二数据的该解压缩速度是否符合一解压缩速度条件、解压缩后的该第二数据的该数据流传输速度是否符合一解压缩传输速度条件、以及该第一数据是否为该连续数据的至少其中之一,来判断该初始数据传输信息是否符合该预定条件。
27.根据权利要求26所述的存储器控制电路单元,其特征在于,该存储器管理电路还用以根据该第一数据是否为该连续数据来决定该压缩比例条件、该压缩速度条件、该压缩传输速度条件、该解压缩速度条件以及该解压缩传输速度条件的至少其中之一。
28.根据权利要求27所述的存储器控制电路单元,其中根据该第一数据是否为该连续数据来决定该压缩比例条件、该压缩速度条件、该压缩传输速度条件、该解压缩速度条件以及该解压缩传输速度条件的至少其中之一的操作包括:
当该第一数据是该连续数据时,将该压缩比例条件、该压缩速度条件、该解压缩速度条件及该解压缩传输速度条件的至少其中之一的一门槛值设定为一第一门槛值;以及
当该第一数据不是该连续数据时,将该压缩比例条件、该压缩速度条件、该解压缩速度条件及该解压缩传输速度条件的至少其中之一的该门槛值设定为一第二门槛值,
其中该第一门槛值高于该第二门槛值。
29.根据权利要求26所述的存储器控制电路单元,其特征在于,该存储器管理电路还用以执行以下操作:
判断该第二数据的该解压缩速度是否符合一解压缩速度门槛值;以及
当判定该第二数据的该解压缩速度符合该解压缩速度门槛值时,判定该第二数据的该解压缩速度符合该解压缩速度条件。
30.根据权利要求26所述的存储器控制电路单元,其特征在于,该存储器管理电路还用以执行以下操作:
根据该第二数据的该解压缩速度与一预设读取速度获得一读取速度下降比例;
判断该读取速度下降比例是否符合一预设速度下降比例;
当该读取速度下降比例符合该预设速度下降比例时,判定该第二数据的该解压缩速度符合该解压缩速度条件;以及
当该读取速度下降比例不符合该预设速度下降比例时,判定该第二数据的该解压缩速度不符合该解压缩速度条件。
31.根据权利要求23所述的存储器控制电路单元,其特征在于,在发送该第二指令序列之后,该存储器管理电路还用以执行以下操作:
若该可复写式非易失性存储器模块的一垃圾搜集程序所搜集的有效数据包括未经压缩的该第一数据的至少一部分,获得该至少一部分的该第一数据的一后续数据传输信息,并且判断该后续数据传输信息是否符合该预定条件;
当该后续数据传输信息符合该预定条件时,控制该压缩/解压缩电路将该至少一部分的该第一数据压缩为一第三数据,并且发送一第三指令序列,其中该第三指令序列用以指示该第三数据需被写入至该可复写式非易失性存储器模块;以及
当该后续数据传输信息不符合该预定条件时,不控制该压缩/解压缩电路来压缩该至少一部分的该第一数据。
32.根据权利要求23所述的存储器控制电路单元,其特征在于,控制该压缩/解压缩电路将该第一数据压缩为该第二数据的操作包括:
利用一第一压缩通道与一第二压缩通道平行地压缩一第一部分的该第一数据与一第二部分的该第一数据,以产生该第二数据,
其中该第二压缩通道对于该第二部分的该第一数据的压缩是基于该第一压缩通道对于该第一部分的该第一数据的一压缩结果。
33.根据权利要求23所述的存储器控制电路单元,其特征在于,控制该压缩/解压缩电路将该第一数据压缩为该第二数据的操作包括:
随着该第一数据的压缩而建立一第一字典,
其中该存储器管理电路还用以执行以下操作:
接收一读取指令,并且根据该读取指令从该可复写式非易失性存储器模块中读取该第二数据;以及
控制该压缩/解压缩电路来解压缩该第二数据,并且随着该第二数据的解压缩而建立一第二字典,其中该第一字典与该第二字典实质上相同。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410068635.5A CN104881240B (zh) | 2014-02-27 | 2014-02-27 | 数据写入方法、存储器存储装置及存储器控制电路单元 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410068635.5A CN104881240B (zh) | 2014-02-27 | 2014-02-27 | 数据写入方法、存储器存储装置及存储器控制电路单元 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104881240A true CN104881240A (zh) | 2015-09-02 |
CN104881240B CN104881240B (zh) | 2018-04-24 |
Family
ID=53948751
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410068635.5A Active CN104881240B (zh) | 2014-02-27 | 2014-02-27 | 数据写入方法、存储器存储装置及存储器控制电路单元 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104881240B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109891506A (zh) * | 2016-08-04 | 2019-06-14 | 英特尔公司 | 用于使用较低电压阈值进行耐久性友好编程的设备和方法 |
CN110278205A (zh) * | 2019-06-19 | 2019-09-24 | 百度在线网络技术(北京)有限公司 | 蓝牙音箱底座及其控制方法和系统 |
CN111324478A (zh) * | 2018-12-14 | 2020-06-23 | 群联电子股份有限公司 | 解码方法、存储器控制电路单元以及存储器存储装置 |
CN112765047A (zh) * | 2019-10-21 | 2021-05-07 | 伊姆西Ip控股有限责任公司 | 用于重写数据的方法、设备和计算机程序产品 |
CN113568573A (zh) * | 2021-07-14 | 2021-10-29 | 锐掣(杭州)科技有限公司 | 数据存储方法、数据存储装置、存储介质及产品 |
WO2022027499A1 (en) * | 2020-08-06 | 2022-02-10 | Alibaba Group Holding Limited | Memory controller |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1539202A (zh) * | 2000-11-29 | 2004-10-20 | E������¼����������ι�˾ | 使用多通道编码信息并在单通道中解码的方法和设备 |
CN101252749A (zh) * | 2008-03-28 | 2008-08-27 | 深圳华为通信技术有限公司 | 处理移动终端信息的方法、装置 |
US20090154545A1 (en) * | 2001-02-13 | 2009-06-18 | Realtime Data Llc | Bandwidth sensitive data compression and decompression |
CN101540613A (zh) * | 2009-04-10 | 2009-09-23 | 深圳市新飞扬数码技术有限公司 | 一种数据压缩方法及其装置 |
CN102843341A (zh) * | 2011-06-22 | 2012-12-26 | 阿里巴巴集团控股有限公司 | 数据发送方法及装置、数据接收方法及装置 |
CN103076995A (zh) * | 2012-12-31 | 2013-05-01 | 深圳市硅格半导体有限公司 | NandFlash的数据处理方法及装置 |
-
2014
- 2014-02-27 CN CN201410068635.5A patent/CN104881240B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1539202A (zh) * | 2000-11-29 | 2004-10-20 | E������¼����������ι�˾ | 使用多通道编码信息并在单通道中解码的方法和设备 |
US20090154545A1 (en) * | 2001-02-13 | 2009-06-18 | Realtime Data Llc | Bandwidth sensitive data compression and decompression |
CN101252749A (zh) * | 2008-03-28 | 2008-08-27 | 深圳华为通信技术有限公司 | 处理移动终端信息的方法、装置 |
CN101540613A (zh) * | 2009-04-10 | 2009-09-23 | 深圳市新飞扬数码技术有限公司 | 一种数据压缩方法及其装置 |
CN102843341A (zh) * | 2011-06-22 | 2012-12-26 | 阿里巴巴集团控股有限公司 | 数据发送方法及装置、数据接收方法及装置 |
CN103076995A (zh) * | 2012-12-31 | 2013-05-01 | 深圳市硅格半导体有限公司 | NandFlash的数据处理方法及装置 |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109891506A (zh) * | 2016-08-04 | 2019-06-14 | 英特尔公司 | 用于使用较低电压阈值进行耐久性友好编程的设备和方法 |
CN109891506B (zh) * | 2016-08-04 | 2023-07-21 | 英特尔公司 | 用于使用较低电压阈值进行耐久性友好编程的设备和方法 |
CN111324478A (zh) * | 2018-12-14 | 2020-06-23 | 群联电子股份有限公司 | 解码方法、存储器控制电路单元以及存储器存储装置 |
CN111324478B (zh) * | 2018-12-14 | 2023-05-30 | 群联电子股份有限公司 | 解码方法、存储器控制电路单元以及存储器存储装置 |
CN110278205A (zh) * | 2019-06-19 | 2019-09-24 | 百度在线网络技术(北京)有限公司 | 蓝牙音箱底座及其控制方法和系统 |
US10950238B2 (en) | 2019-06-19 | 2021-03-16 | Baidu Online Network Technology (Beijing) Co., Ltd. | Bluetooth speaker base, method and system for controlling thereof |
CN112765047A (zh) * | 2019-10-21 | 2021-05-07 | 伊姆西Ip控股有限责任公司 | 用于重写数据的方法、设备和计算机程序产品 |
WO2022027499A1 (en) * | 2020-08-06 | 2022-02-10 | Alibaba Group Holding Limited | Memory controller |
CN113568573A (zh) * | 2021-07-14 | 2021-10-29 | 锐掣(杭州)科技有限公司 | 数据存储方法、数据存储装置、存储介质及产品 |
CN113568573B (zh) * | 2021-07-14 | 2023-12-22 | 锐掣(杭州)科技有限公司 | 数据存储方法、数据存储装置、存储介质及产品 |
Also Published As
Publication number | Publication date |
---|---|
CN104881240B (zh) | 2018-04-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9690490B2 (en) | Method for writing data, memory storage device and memory control circuit unit | |
US8560926B2 (en) | Data writing method, memory controller and memory storage apparatus | |
TWI534618B (zh) | 映射表更新方法、記憶體控制電路單元及記憶體儲存裝置 | |
CN104881240A (zh) | 数据写入方法、存储器存储装置及存储器控制电路单元 | |
TWI540582B (zh) | 資料管理方法、記憶體控制電路單元以及記憶體儲存裝置 | |
US9304900B2 (en) | Data reading method, memory controller, and memory storage device | |
US10013187B2 (en) | Mapping table accessing method, memory control circuit unit and memory storage device | |
TWI545432B (zh) | 資料管理方法、記憶體控制電路單元以及記憶體儲存裝置 | |
CN104699413A (zh) | 数据管理方法、存储器存储装置及存储器控制电路单元 | |
CN104866429A (zh) | 存储器管理方法、存储器控制电路单元与存储器存储装置 | |
TWI506634B (zh) | 資料存取方法、記憶體控制電路單元及記憶體儲存裝置 | |
TWI534814B (zh) | 資料寫入方法、記憶體控制電路單元與記憶體儲存裝置 | |
US20130019138A1 (en) | Data processing method, memory controller, and memory storage device | |
CN102591737B (zh) | 数据写入与读取方法、存储器控制器与存储器储存装置 | |
CN103914391A (zh) | 数据读取方法、存储器控制器与存储器存储装置 | |
CN106406746B (zh) | 映射表存取方法、存储器控制电路单元及存储器存储装置 | |
CN105653391A (zh) | 数据存取方法、存储器控制电路单元及存储器储存装置 | |
CN106354651B (zh) | 平均磨损方法、存储器控制电路单元及存储器储存装置 | |
CN104731710A (zh) | 存储器管理方法、存储器控制电路单元与存储器储存装置 | |
CN105630687B (zh) | 数据写入方法、存储器控制电路单元与存储器存储装置 | |
CN105335096A (zh) | 数据管理方法、存储器控制电路单元以及存储器存储装置 | |
US9600363B2 (en) | Data accessing method, memory controlling circuit unit and memory storage apparatus | |
US20160117244A1 (en) | Data writing method, memory control circuit unit and memory storage apparatus | |
CN105573661A (zh) | 数据写入方法、存储器存储装置及存储器控制电路单元 | |
CN105573662A (zh) | 数据写入方法、存储器控制电路单元以及存储器存储装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
EXSB | Decision made by sipo to initiate substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |