CN101556560B - 储存装置、控制器及其数据存取方法 - Google Patents

储存装置、控制器及其数据存取方法 Download PDF

Info

Publication number
CN101556560B
CN101556560B CN2008100911911A CN200810091191A CN101556560B CN 101556560 B CN101556560 B CN 101556560B CN 2008100911911 A CN2008100911911 A CN 2008100911911A CN 200810091191 A CN200810091191 A CN 200810091191A CN 101556560 B CN101556560 B CN 101556560B
Authority
CN
China
Prior art keywords
data
sign indicating
indicating number
sequence data
flash memory
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.)
Active
Application number
CN2008100911911A
Other languages
English (en)
Other versions
CN101556560A (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.)
Phison Electronics Corp
Original Assignee
Phison Electronics Corp
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 Phison Electronics Corp filed Critical Phison Electronics Corp
Priority to CN2008100911911A priority Critical patent/CN101556560B/zh
Publication of CN101556560A publication Critical patent/CN101556560A/zh
Application granted granted Critical
Publication of CN101556560B publication Critical patent/CN101556560B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

本发明提出一种储存装置,其控制器包括错误校正模块与数据扰乱模块。错误校正模块用以对欲储存至储存装置的闪存模块的数据包进行错误校正编码以产生包含数据包与对应数据包的错误校正码的序列数据码,其中数据包包括记录写入数据的数据区与记录关于数据包的数据的备用区。数据扰乱模块用以将序列码进行转换以产生非序列数据码,其中数据区与备用区的数据和错误校正码是分散于该非序列数据码中。基此,能够有效地将数据包的数据分散,以提升数据的安全性。

Description

储存装置、控制器及其数据存取方法 
技术领域
本发明涉及一种储存装置,特别是涉及一种于闪存中能够安全地储存数据的储存装置、其控制器及其数据存取方法。 
背景技术
数字相机、手机相机与MP3在这几年来的成长十分迅速,使得消费者对储存媒体的需求也急速增加。由于闪存(Flash Memory)具有数据非易失性、省电、体积小与无机械结构等的特性,适合可携式应用,最适合使用于这类可携式由电池供电的产品上。存储卡就是一种以NAND闪存作为储存媒体的储存装置。由于存储卡体积小容量大且携带方便,所以已广泛用于个人重要数据的储存。因此,近年闪存产业成为电子产业中相当热门的一环。 
传统上,闪存控制器的固件码会以闪存控制器内的可程序只读存储器来储存,并且于闪存控制器运作时加载闪存控制器内的静态随机存取存储器来执行。为了能够缩小储存装置的尺寸且能够更方便更新/修改固件码,目前已发展出将固件码直接储存在储存装置的闪存中且于控制器欲运作时再加载至控制器的技术。然而,倘若闪存与闪存控制器之间的数据传输无进行编码时,则固件码可能会轻易地受到破解。因此,有其需要一种在闪存中具安全性的数据存取方法。 
发明内容
本发明提供一种储存装置,其能够所储存的数据码具备安全性。 
本发明提供一种控制器,其能够使所储存的数据码具备安全性。 
本发明提供一种数据存取方法,其能够使所储存的数据码具备安全性。 
本发明提出一种储存装置,其包括闪存模块、控制器与连接接口。闪存模块用以储存数据。控制器耦接至闪存模块并且用以对闪存模块进行存取。控制器包括错误校正模块与数据扰乱模块。错误校正模块用以在数据 写入作业时对欲储存至该闪存模块的数据包(data packet)进行错误校正编码以产生包含数据包与对应数据包的错误校正码的序列数据码,其中数据包包括记录写入数据的数据区与记录关于数据包的数据的备用区。数据扰乱模块用以在该数据写入作业时将序列码进行转换以产生非序列数据码,其中数据区与备用区的数据和错误校正码是分散于该非序列数据码中。连接接口耦接控制器并且用以连接主机。其中,在数据写入作业时该控制器将该数据扰乱模块所产生的非序列数据码写入至该闪存模块,其中在数据读取作业时该控制器从该闪存模块中读取该非序列数据码,该数据扰乱模块将所读取的该非序列数据码反转换为该序列数据码,并且该错误校正模块依据所反转换的该序列数据码中的该错误校正码对所反转换的该序列数据码中的该数据包进行错误校正。 
在本发明的一实施例中,上述的数据扰乱模块包括数据扰乱单元与对映缓冲器单元。数据扰乱单元用以将序列数据码分为多个子序列数据码并且将每一子序列数据码中至少两个字节中的数据进行对调以产生包括多个子非序列数据码的非序列数据码,并且用以将子非序列数据码进行反对调以还原子序列数据码。对映缓冲器单元用以将非序列数据码以每一子非序列数据码为单位传送至闪存中,并且用以将从闪存模块中接收的非序列数据码以对映每一子非序列数据码为单位传送至数据扰乱单元。 
在本发明的一实施例中,上述的数据扰乱模块还包括加解密单元,用以对序列数据码进行加密与解密。 
在本发明的一实施例中,上述的错误校正模块以一非顺序方式对数据包的每一字节进行错误校正编码。 
在本发明的一实施例中,上述的闪存模块为SLC(Single Level Cell)NAND闪存模块或MLC(Multi Level Cell)NAND闪存模块。 
在本发明的一实施例中,上述的连接接口为PCI Express接口、USB接口、IEEE 1394接口、SATA接口、MS接口、MMC接口、SD接口、CF接口或IDE接口。 
本发明提出一种控制器,其适用于具有闪存模块的储存装置,此控制器包括错误校正模块与数据扰乱模块。错误校正模块用以在数据写入作业时对欲储存至该闪存模块的数据包进行错误校正编码以产生包含数据包与对应数据包的错误校正码的序列数据码,其中数据包包括记录写入数据的 数据区与记录关于数据包的数据的备用区。数据扰乱模块用以在该数据写入作业时将序列码进行转换以产生非序列数据码,其中数据区与备用区的数据和错误校正码是分散于该非序列数据码中。其中在数据写入作业时该微处理单元将该数据扰乱模块所产生的非序列数据码写入至该闪存模块,其中在数据读取作业时该微处理单元从该闪存模块中读取该非序列数据码,该数据扰乱模块将所读取的该非序列数据码反转换为该序列数据码,并且该错误校正模块依据所反转换的该序列数据码中的该错误校正码对所反转换的该序列数据码中的该数据包进行错误校正。 
在本发明的一实施例中,上述的数据扰乱模块包括数据扰乱单元与对映缓冲器单元。数据扰乱单元用以将序列数据码分为多个子序列数据码并且将每一子序列数据码中至少两个字节中的数据进行对调以产生包括多个子非序列数据码的非序列数据码,并且用以将子非序列数据码进行反对调以还原子序列数据码。对映缓冲器单元用以将非序列数据码以每一子非序列数据码为单位传送至闪存中,并且用以将从闪存模块中接收的非序列数据码以对映每一子非序列数据码为单位传送至数据扰乱单元。 
在本发明的一实施例中,上述的数据扰乱模块还包括加解密单元,用以对序列数据码进行加密与解密。 
在本发明的一实施例中,上述的错误校正模块以一非顺序方式对数据包的每一字节进行错误校正编码。 
在本发明的一实施例中,上述的闪存模块为SLC(Single Level Cell)NAND闪存模块或MLC(Multi Level Cell)NAND闪存模块。 
在本发明的一实施例中,上述的储存装置为USB随身盘、快闪存储卡或固态硬盘。 
本发明提出一种数据处理方法,其适用于闪存模块。此数据处理方法包括对欲储存至闪存模块的数据包进行错误校正编码以产生包含数据包与对应数据包的错误校正码的序列数据码,其中数据包包括记录写入数据的数据区与记录关于该数据包的数据的备用区。此方法还包括将序列数据码进行转换以产生非序列数据码,其中数据区与备用区的数据和错误校正码是分散于非序列数据码中。此外,此方法还包括将非序列数据码传送至闪存模块。 
在本发明的一实施例中,上述的数据处理方法还包括从闪存模块中读 取非序列数据码,将非序列数据码进行转换以还原序列数据码,以及依据序列数据码中的错误校正码对序列数据码中的数据包进行错误校正。 
在本发明的一实施例中,上述的数据处理方法还包括对序列数据码进行加密解密。 
在本发明的一实施例中,上述的数据处理方法将序列码进行转换为非序列数据码包括将序列数据码分为多个子序列数据码,以及将每一子序列数据码中至少两个字节中的数据进行对调以产生包括多个子非序列数据码的非序列数据码。 
在本发明的一实施例中,上述的将非序列数据码传送至闪存模块包括以每一子非序列数据码为单位将非序列数据码传送至闪存中。 
在本发明的一实施例中,上述的对数据包进行错误校正编码包括以一非顺序方式对数据包的每一字节进行错误校正编码。 
本发明因采用将所欲传送至闪存模块的数据码进行分散的作运,由此可使得所传送的数据码无法区分出数据区的数据、备用区的数据或错误校正码。基此,可有效地提升数据码传输的安全性。 
为让本发明的上述特征和优点能更明显易懂,下文特举较佳实施例,并配合所附图式,作详细说明如下。 
附图说明
图1是根据本发明实施例绘示闪存储存装置的方块图。 
图2是绘示图1所示数据扰乱模块的方块图。 
图3是绘示数据扰乱模块转换数据码的范例示意图。 
图4是根据本发明另一实施例绘示控制器的方块图。 
图5是根据本发明另一实施例绘示数据扰乱模块的方块图。 
图6(a)、((b)是根据本发明实施例绘示数据存取方法的流程图。 
附图符号说明 
100:闪存储存装置 
110:闪存模块 
120:控制器 
122:错误校正模块 
124:数据扰乱模块 
130:连接接口 
200:主机 
300:总线 
202:数据扰乱单元 
204:对映缓冲器单元 
120’:控制器 
402:微处理单元 
404:存储器管理模块 
406:闪存接口 
408:缓冲存储器 
124’:数据扰乱模块 
502:加解密单元 
S601、S603、S603-1、S603-2、S605、S607、S609、S611、S613:数据存取步骤 
具体实施方式
目前在闪存中储存数据时,一般闪存控制器会对所欲写入的数据以字节为单位进行错误校正编码(error correcting coding),然其所产生的错误校正码(error correcting code)仅能对数据的错误进行校正的功能。本发明所提出的闪存控制器架构除了具有提供上述错误校正能力的错误校正模块外,还包括数据扰乱模块,其会将原本序列的写入数据与错误校正码转换为非序列的写入数据与错误校正码来传送至闪存,由此可以将所储存的数据的顺序分散。基此,可有效保护在控制器与闪存之间传送的安全。以下将以范例实施例并配合图式详细说明本发明。 
图1是根据本发明实施例绘示闪存储存装置的概要方块图。请参照图1,闪存储存装置100包括闪存模块110、控制器120以及连接接口130。通常闪存储存装置100会与主机200一起使用,以使主机200可将数据储存至闪存储存装置100或从闪存储存装置100中读取数据。在本实施例中,闪存储存装置100为随身盘。但必须了解的是,在本发明另一实施例中闪存储存装置100亦可以是存储卡或固态硬盘(Solid State Drive,SSD)。 
闪存模块110是耦接至控制器120并且用以储存数据。在本实施中闪存模块110为MLC NAND闪存。然而,本发明不限于此,在本发明另一实施例中,闪存模块110亦可为SLC NAND闪存。 
闪存模块110通常实质上分割为多个实体区块(physical block),为方便说明以下将实体区块简称为区块。区块通常会被分组为多个区域(zone),以区域来管理存储器某种程度上是彼此独立地操作以增加操作执行的平行程度且简化管理的复杂度。一般而言,在闪存中区块为抹除的最小单位。亦即,每一区块含有最小数目的一并被抹除的存储单元。每一 区块通常会分割为多页(page)。 
页通常为程序(program)的最小单元,但要特别说明的是在有些不同的闪存设计中最小的程序单位也可为一个扇区(sector)大小,即一页中有多个扇区并以一扇区为程序的最小单元。换言之,页为写入数据或读取数据的最小单元。为对应于磁盘驱动器的扇区(sector)大小,一般而言,一页为一个扇区。然而,亦可以多个扇区形成一页,例如一页包括4个扇区。一般而言,区块可由任意数目的页所组成,例如64页、128页、256页等。每一页通常包括数据区(data area)与备用区(spare area)。数据区用以储存欲写入的数据,而备用区用以储存欲写入页的相关数据(例如此页所属的区块、此页所属的区域等)。因此,在本发明实施例中主机200欲写入数据至闪存模块130的数据包(data packet)是以依序地包含数据区与备用区的序列数据包。然而,必须了解的是,在本发明另一实施例中,数据包亦可以是依序地包含备用区与数据区的序列数据包。 
控制器120会控制闪存储存装置100的整体运作,例如数据的储存、读取与抹除等。控制器120包括错误校正模块(error correcting module)122、数据扰乱模块124以及协调错误校正模块122与数据扰乱模块124的运作的微处理单元126。 
错误校正模块122是耦接至微处理单元126。错误校正模块122用以对欲储存至闪存模块110的数据包执行错误校正编码程序,并且产生错误校正码。错误校正模块122还用以在数据读取作业时依据所产生的错误校正码来检查及修正在数据传输时可能产生的错误或噪声(noise)。 
具体来说,当主机200对闪存装置100执行数据写入运作时,控制器120的错误校正模块122会将包含欲写入数据(记录于数据区)与相关数据(记录于备用区)的序列数据包进行错误校正编码。之后,序列数据包和所产生的对应错误校正码会组合成为欲传送至闪存模块110中的序列数据码。本发明是以序列数据包在前且对应错误校正码接续在后的序列数据码为例进行说明。然而,在本发明另一实施例中亦可以是对应错误校正码在前序列数据包接续在后的序列数据码。此外,在数据读取作业时错误校正模块122会以序列数据码中的错误校正码来检查所读取的序列数据包,并且在检查出序列数据包中发生错误时进行修正。 
数据扰乱模块124耦接至微处理单元126。根据本发明实施例数据扰乱 模块124会将所输入的序列数据码转换为非序列数据码,或者将非序列数据码转换为序列数据码。具体来说,数据扰乱模块124会将所接收的数据码的至少两个字节(byte)中的数据进行交换的动作。在本发明实施例中的数据扰乱模块124是以改变数据的序列来混乱数据,然而在本发明另一实施例中亦可将数据位作一反相(例如“0”变“1”或“1”变“0”)或者一算法来混乱数据。 
例如,如图2所示,数据扰乱模块124包括数据扰乱单元202与对映缓冲器单元204。 
请参照图2,在本实施例中,数据扰乱单元202是用以将所输入的数据码分为多个子数据码(8个字节),并且以子数据码为单位将前4个字节与后4个字节进行对调。如图3所示,当所输入的序列数据码为16个字节的数据“01 02 03 04 05 06 07 08 11 12 13 14 15 16 17 18”时,数据扰乱单元202会将其编码为”05 06 07 08 01 02 03 04 15 16 17 18 11 1213 14”。反之,当所输入的非序列数据码为16个字节的数据“05 06 0708 01 02 03 04 15 16 17 18 11 12 13 14”,则数据扰乱单元202会将其反编码为“01 02 03 04 05 06 07 08 11 12 13 14 15 16 17 18”。然而,必须了解的是上述对调范例并非限制本发明,本领域的技术人员可轻易地依照上述精神实现其它形式的对调交换或重新排列方式。 
对映缓冲器单元204是耦接至数据扰乱单元202。对映缓冲器单元204会将数据扰乱单元202所产生的非序列数据码以子非序列数据码为单位传送至闪存模块110中。此外,当从闪存模块110中接收非序列数据码时,配合数据扰乱单元202以对映出完整子非序列数据码以传送至数据扰乱单元202。具体来说,在本实施例中,对映缓冲器单元204具有8个byte的FIFO缓存器(first in,first out)。当数据扰乱单元202将输入的序列数据码”01 02 03 04 05 06 07 08 11 12 13 14 15 16 17 18”编码为”05 06 07 08 01 02 03 04 15 16 17 18 11 12 13 14”。数据扰乱单元202先传送“05 06 07 08”至对映缓冲器单元204,此笔数据输出后,数据扰乱单元202再传送“01 02 03 04”,如此类推。反之亦然。 
必须了解的是,除了错误校正模块122、数据扰乱模块124与微处理单元126的外,控制器还可包括存储器管理模块404、闪存接口406与缓冲存储器408(如图4所示的控制器120’)。 
例如,存储器管理模块404耦接至微处理单元126。存储器管理模块404会管理闪存130,例如执行平均磨损(wear leveling)方法、坏区块管理、维护对映表(mapping table)等。闪存接口406耦接至微处理单元126并且用以存取闪存模块110。也就是,主机200欲写入至闪存模块110的数据会经由闪存接口406转换为闪存模块110所能接受的格式。缓冲存储器408用以暂时地储存系统数据(例如逻辑实体对映表)或者主机200所读取或写入的数据。例如,缓冲存储器408为静态随机存取存储器(staticrandom access memory,SRAM)。然而,必须了解的是,本发明不限于此,动态随机存取存储器(Dynamic Random Access memory,DRAM)、磁阻式存储器(Magnetoresistive Random Access Memory,MRAM)、相变化存储器(Phase Change Random Access Memory,PRAM)或其它适合的存储器亦可应用于本发明。 
请再参照图1,连接接口130用以通过总线300连接于主机200。在本实施例中,连接接口130为USB接口。然而,必须了解的是本发明不限于此,连接接口130可以是PCI Express接口、IEEE 1394接口、SATA接口、MS接口、MMC接口、SD接口、CF接口、IDE接口或其它适合的数据传输接口。 
综上所述,根据本发明实施例的闪存储存装置100在储存数据时会通过错误校正模块122进行错误校正编码,并且通过数据扰乱模块124将欲储存数据的序列分散再传送至闪存模块110。换言之,根据本发明实施例,上述产生的序列数据码在程序至闪存模块110之前,控制器120的数据扰乱模块124会将序列数据码分割为多个子序列数据码,并且将每一子序列数据码之前数个字节的数据与之后数个字节的数据进行对调以产生多个子非序列数据码,其中,该字节数可依对映缓冲单元的容量来决定。如此一来,数据扰乱模块124将原本具一定顺序(即使用者数据、系统数据与错误校正码的顺序)的序列数据码转换为无法区分使用者数据、系统数据与错误校正码的非序列数据码(如图3所示)。之后,再将此非序列数据码传送至闪存模块110。因此,在控制器120与闪存模块110之间所传输的数据无法识别出其本质,由此强化储存数据的安全性。 
在本发明另一实施例中,数据扰乱模块还包括加解密单元502(如图5所示)。加解密单元502会在储存程序中对包含数据包与错误校正码的序 列数据码以一金钥进行加密,并且当进行读取程序时,加解密单元502会对所读取的序列数据码以此金钥进行解密,由此更进一步保护所传送的数据码。 
此外,为了进一步加强数据包的安全,在本发明另一实施例中,错误校正模块122还会以一非顺序方式对数据包的每一字节进行错误校正编码。具体来说,当欲将数据包传送至错误校正模块122进行错误校正编码时,数据包的每一字节会以非顺序的方式传送至错误校正模块122来进行错误校正编码。由此,在数据扰乱模块124分散数据包与错误校正码之前进行初步的分散动作,以使得欲传送至闪存模块110的数据码的数据排列顺序更为散乱。具体来说,在本实施例中错误校正模块122一次是对一个字节做编码,因此,当数据包传送至错误校正模块122时,微处理单元126会将排列数据包内部的数据为包含6位的使用者数据,及2位的系统数据。然而,必须了解的是上述数据重整范例并非限制本发明,本领域的技术人员可轻易地依照上述精神实现其它形式的重新排列方式。 
图6是根据本发明实施例绘示数据存取方法的流程图,其中图6中的(a)示出了储存的步骤,而图6中的(b)示出了读取的步骤。 
请参照图6的(a),当欲写入数据至闪存储存装置时时,在步骤S601中首先会对欲储存至闪存模块110的数据包进行错误校正编码以产生包含数据包与对应数据包的错误校正码的序列数据码。如上所述数据包是包括记录写入数据(使用者数据)的数据区与记录关于数据包的数据(系统数据)的备用区的序列数据包。 
接着,在步骤S603中会将序列数据码进行转换以产生非序列数据码。例如,在步骤S603中包括将序列数据码分为多个子序列数据码(步骤S603-1),以及将每一子序列数据码中至少两个字节中的数据进行对调以产生包括多个子非序列数据码的非序列数据码(步骤S603-2)。因此,数据包中的数据区数据与备用区数据和错误校正码会分散于非序列数据码中。最后,在步骤S605中会将非序列数据码程序至闪存模块110中。 
此外,当欲读取以上述程序储存至闪存模块110的数据时,必须通过相同模块以反向步骤来还原所写入的数据。 
请参照图6的(b),例如,当从闪存模块110传送欲读取的数据至控制器120时,在步骤S607中会先将分散的数据码暂存于数据扰乱模块124中, 例如对映缓冲器单元204中。当接受到完整的子非序列数据码后,数据扰乱模块124会执行反转换运作(步骤S609)。例如,在步骤609中包括数据扰乱单元202会将前4个字节与后4个字节的数据对调,由此将子非序列数据码还原为子序列数据码。之后再将包含所有子序列数据码的序列数据码传送至错误校正模块进行检查及修正(步骤S611)。最后,控制器120再将经过错误校正模块检查或修正的数据码传送至主机200(步骤S613)。 
在本发明另一实施例中,数据存取方法可还包括以一金钥对序列数据码进行加密/解密的步骤,或者在对数据包进行错误校正编码包括以一非顺序方式对数据包的每一字节进行错误校正编码,由此进一步强化所欲程序的数据码的安全性。此外,值得说明的是上述的数据扰乱模块124与错误校正模块122可以一硬件或固件方式实施。 
综上所述,本发明的闪存控制器在储存数据时除了对数据包进行以字节为单位的错误校正编码外,还包括将包含数据包与错误校正码的序列数据码以多个字节为单位进行数据字节的对调,由此将序列数据码分散为非序列数据码以区分不出数据包的数据区与备用区以及错误校正码。因此,可有效地确保所储存数据的安全性。此外,本发明亦包含对序列数据码进行加密,或者在对数据包进行错误校正编码时以一非顺序方式对数据包的每一字节进行错误校正编码,由此进一步强化了所欲储存的数据码的安全性。 
虽然本发明已以较佳实施例披露如上,然其并非用以限定本发明,本领域技术人员在不脱离本发明的精神和范围的前提下可作若干的更动与润饰,因此本发明的保护范围以本发明的权利要求为准。 

Claims (17)

1.一种储存装置,包括:
闪存模块,用以储存数据;
控制器,耦接至该闪存模块并且用以对该闪存模块进行存取,该控制器包括:
微处理单元;
错误校正模块,耦接至该微处理单元,用以在数据写入作业时对欲储存至该闪存模块的数据包进行错误校正编码以产生包含该数据包与对应该数据包的错误校正码的序列数据码,其中该数据包包括记录写入数据的数据区与记录关于该数据包的数据的备用区;以及
数据扰乱模块,耦接至该微处理单元,用以在该数据写入作业时将该序列数据码进行转换以产生非序列数据码,其中该数据区与该备用区的数据和该错误校正码是分散于该非序列数据码中;以及
连接接口,耦接该控制器并且用以连接一主机,
其中在数据写入作业时该控制器将该数据扰乱模块所产生的非序列数据码写入至该闪存模块,
其中在数据读取作业时该控制器从该闪存模块中读取该非序列数据码,该数据扰乱模块将所读取的该非序列数据码反转换为该序列数据码,并且该错误校正模块依据所反转换的该序列数据码中的该错误校正码对所反转换的该序列数据码中的该数据包进行错误校正,
其中该数据扰乱模块包括数据扰乱单元,用以将该序列数据码分为多个子序列数据码并且将每一子序列数据码中至少两个字节中的数据进行对调或重新排列以产生包括多个子非序列数据码的该非序列数据码,并且用以将所述子非序列数据码进行反对调以还原所述子序列数据码。
2.如权利要求1所述的储存装置,其中该数据扰乱模块还包括:
对映缓冲器单元,用以将该非序列数据码以每一子非序列数据码为单位传送至该闪存中,并且用以将从闪存模块中接收的该非序列数据码以每一子非序列数据码为单位传送至该数据扰乱单元。
3.如权利要求2所述的储存装置,其中该数据扰乱模块还包括加解密单元,用以对该序列数据码进行加密与解密。
4.如权利要求1所述的储存装置,其中该微处理单元会以一非顺序方式传送该数据包的每一字节至该错误校正模块来进行错误校正编码。
5.如权利要求1所述的储存装置,其中该闪存模块为SLC NAND闪存模块或MLC NAND闪存模块。
6.如权利要求1所述的储存装置,其中该连接接口为PCI Express接口、USB接口、IEEE 1394接口、SATA接口、MS接口、MMC接口、SD接口、CF接口或IDE接口。
7.一种控制器,其适用于具有闪存模块的储存装置,该控制器包括:
微处理单元;
错误校正模块,耦接至该微处理单元,用以在数据写入作业时对欲储存至该闪存模块的数据包进行错误校正编码以产生包含该数据包与对应该数据包的错误校正码的序列数据码,其中该数据包包括记录写入数据的数据区与记录关于该数据包的数据的备用区;以及
数据扰乱模块,耦接至该微处理单元,用以在该数据写入作业时将该序列码进行转换以产生非序列数据码,其中该数据区与该备用区的数据和该错误校正码是分散于该非序列数据码中,
其中在数据写入作业时该微处理单元将该数据扰乱模块所产生的非序列数据码写入至该闪存模块,
其中在数据读取作业时该微处理单元从该闪存模块中读取该非序列数据码,该数据扰乱模块将所读取的该非序列数据码反转换为该序列数据码,并且该错误校正模块依据所反转换的该序列数据码中的该错误校正码对所反转换的该序列数据码中的该数据包进行错误校正,
其中该数据扰乱模块包括数据扰乱单元,用以将该序列数据码分为多个子序列数据码并且将每一子序列数据码中至少两个字节中的数据进行对调或重新排列以产生包括多个子非序列数据码的该非序列数据码,并且用以将所述子非序列数据码进行反对调以还原所述子序列数据码。
8.如权利要求7所述的控制器,其中该数据扰乱模块还包括:
对映缓冲器单元,用以将该非序列数据码以每一子非序列数据码为单位传送至该闪存中,并且用以将从闪存模块中接收的该非序列数据码以每一子非序列数据码为单位传送至该数据扰乱单元。
9.如权利要求8所述的控制器,其中该数据扰乱模块还包括加解密单元,用以对该序列数据码进行加密与解密。
10.如权利要求7所述的控制器,其中该微处理单元以一非顺序方式将该数据包的每一字节传送至该错误校正模块以进行错误校正编码。
11.如权利要求7所述的控制器,其中该闪存模块为SLC NAND闪存模块或MLC NAND闪存模块。
12.如权利要求7所述的控制器,其中该储存装置为一USB随身盘、一快闪存储卡或一固态硬盘。
13.一种数据处理方法,其适用于闪存模块,该数据存取方法包括:
对欲储存至该闪存模块的数据包进行错误校正编码以产生包含该数据包与对应该数据包的错误校正码的序列数据码,其中该数据包包括记录写入数据的数据区与记录关于该数据包的数据的备用区;
将该序列数据码分为多个子序列数据码并且将每一子序列数据码中至少两个字节中的数据进行对调或重新排列以产生包括多个子非序列数据码的非序列数据码,其中该数据区与该备用区的数据和该错误校正码是分散于该非序列数据码中;以及
将该非序列数据码传送至该闪存模块。
14.如权利要求13所述的数据处理方法,还包括:
从该闪存模块中读取该非序列数据码;
将所读取的该非序列数据码进行转换以还原该序列数据码;以及
依据该序列数据码中的该错误校正码对该序列数据码中的该数据包进行错误校正。
15.如权利要求13所述的数据处理方法,还包括对该序列数据码进行加密解密。
16.如权利要求13所述的数据处理方法,其中将该非序列数据码传送至该闪存模块包括以每一子非序列数据码为单位将该非序列数据码传送至该闪存中。
17.如权利要求13所述的数据处理方法,其中对该数据包进行错误校正编码包括以一非顺序方式对该数据包的每一字节进行错误校正编码。
CN2008100911911A 2008-04-09 2008-04-09 储存装置、控制器及其数据存取方法 Active CN101556560B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2008100911911A CN101556560B (zh) 2008-04-09 2008-04-09 储存装置、控制器及其数据存取方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2008100911911A CN101556560B (zh) 2008-04-09 2008-04-09 储存装置、控制器及其数据存取方法

Publications (2)

Publication Number Publication Date
CN101556560A CN101556560A (zh) 2009-10-14
CN101556560B true CN101556560B (zh) 2011-05-04

Family

ID=41174680

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2008100911911A Active CN101556560B (zh) 2008-04-09 2008-04-09 储存装置、控制器及其数据存取方法

Country Status (1)

Country Link
CN (1) CN101556560B (zh)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102456400B (zh) * 2010-10-15 2015-03-11 慧荣科技股份有限公司 使用于闪存的控制方法与控制器
CN102591804A (zh) * 2011-01-17 2012-07-18 上海华虹集成电路有限责任公司 一种flash数据加密保护的方法
CN103793333B (zh) * 2012-10-30 2017-02-08 北京兆易创新科技股份有限公司 非易失性存储器加密的方法和装置以及非易失性存储器
US9274978B2 (en) * 2013-06-10 2016-03-01 Western Digital Technologies, Inc. Migration of encrypted data for data storage systems
KR102327076B1 (ko) * 2014-12-18 2021-11-17 에스케이하이닉스 주식회사 데이터 저장 장치 및 그것의 동작 방법
CN107872313A (zh) * 2016-09-27 2018-04-03 联车(上海)信息科技有限公司 控制指令的加密方法及解密方法
CN106507098B (zh) * 2016-10-09 2018-10-19 珠海市魅族科技有限公司 数据处理的方法和装置
CN109032518A (zh) * 2018-07-19 2018-12-18 江苏华存电子科技有限公司 一种闪存内超级块的类型识别方法
CN109086004A (zh) * 2018-07-19 2018-12-25 江苏华存电子科技有限公司 一种闪存中块类型的识别方法
CN108897499A (zh) * 2018-07-19 2018-11-27 江苏华存电子科技有限公司 一种闪存内块的类型识别方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1755819A (zh) * 2004-10-01 2006-04-05 其乐达科技股份有限公司 数字激光视盘(dvd)储存装置中实时循环冗余校验码之产生与扰乱
CN200947355Y (zh) * 2006-08-03 2007-09-12 创惟科技股份有限公司 闪存的数据快取装置
CN101051272A (zh) * 2006-04-04 2007-10-10 深圳安凯微电子技术有限公司 微处理器启动过程中对所用通用闪存的检测方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1755819A (zh) * 2004-10-01 2006-04-05 其乐达科技股份有限公司 数字激光视盘(dvd)储存装置中实时循环冗余校验码之产生与扰乱
CN101051272A (zh) * 2006-04-04 2007-10-10 深圳安凯微电子技术有限公司 微处理器启动过程中对所用通用闪存的检测方法
CN200947355Y (zh) * 2006-08-03 2007-09-12 创惟科技股份有限公司 闪存的数据快取装置

Also Published As

Publication number Publication date
CN101556560A (zh) 2009-10-14

Similar Documents

Publication Publication Date Title
CN101556560B (zh) 储存装置、控制器及其数据存取方法
US9348693B2 (en) Data accessing method for flash memory module
KR101150162B1 (ko) 데이터 저장 시스템에서 심볼 빈도 레벨링
US8560926B2 (en) Data writing method, memory controller and memory storage apparatus
CN101149709B (zh) 存储卡的加密处理器和使用其进行数据读写的方法
US9336081B2 (en) Data writing and reading method, and memory controller and memory storage apparatus using the same for improving reliability of data access
US8316175B2 (en) High throughput flash memory system
KR20140060285A (ko) 데이터를 저장하기 위한 시스템들 및 방법들
US8831229B2 (en) Key transport method, memory controller and memory storage apparatus
TWI472927B (zh) 資料串分派與傳送方法、記憶體控制器與記憶體儲存裝置
JP2012518224A (ja) メモリコントローラ及び方法におけるデータ完全性
CN105074676A (zh) 数据存储系统的数据的多个流压缩和格式化
EP2102782A2 (en) Method and system to provide security implementation for storage devices
TWI454912B (zh) 資料處理方法、記憶體控制器與記憶體儲存裝置
US9772937B2 (en) Data processing method, memory controller and memory storage apparatus
US9304907B2 (en) Data management method, memory control circuit unit and memory storage apparatus
US20110022746A1 (en) Method of dispatching and transmitting data streams, memory controller and memory storage apparatus
TWI430104B (zh) 資料串分派與傳送方法、記憶體控制器與記憶體儲存裝置
TWI732642B (zh) 資料寫入方法、記憶體控制電路單元以及記憶體儲存裝置
CN101634937B (zh) 数据存取方法、使用此方法的存储系统及其控制器
CN102591737A (zh) 数据写入与读取方法、存储器控制器与存储器储存装置
TWI416331B (zh) 用於快閃記憶體的資料寫入方法及其控制器與儲存裝置
CN110633225B (zh) 实体存储对照表产生装置及方法
CN108664350B (zh) 数据保护方法、存储器存储装置及存储器控制电路单元
US20180276067A1 (en) Data protecting method and memory storage device

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant