CN104317753B - 存储设备及其数据读写方法 - Google Patents
存储设备及其数据读写方法 Download PDFInfo
- Publication number
- CN104317753B CN104317753B CN201410562409.2A CN201410562409A CN104317753B CN 104317753 B CN104317753 B CN 104317753B CN 201410562409 A CN201410562409 A CN 201410562409A CN 104317753 B CN104317753 B CN 104317753B
- Authority
- CN
- China
- Prior art keywords
- block
- data
- address
- write
- storage
- 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
Links
Landscapes
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本发明提供一种存储设备及其数据读写方法,其中,所述存储设备至少包括:相变存储器芯片;耦合到所述相变存储器芯片的相变存储器接口控制模块;耦合到外部设备的SD接口控制模块;以及耦合到所述相变存储器接口控制模块和所述SD接口控制模块的存储控制器,用于响应来自于所述SD接口控制模块的数据读取或写入命令,并通过所述相变存储器接口控制模块控制对所述相变存储器芯片的读取或写入。本发明的存储设备为基于相变存储器的SD卡,采用相变存储器芯片作为存储介质,可以进行随机读写。另外,相较于FLASH,坏块管理和ECC纠错等操作也更加简单,实现了坏块屏蔽功能,且具有抗疲劳的特点。
Description
技术领域
本发明涉及微纳电子学技术领域,特别是涉及一种存储设备及其数据读写方法。
背景技术
相变存储器(Phase Change Random Access Memory,PCRAM)是一种新型非易失随机存储器,其基本原理是以硫系化合物作为存储介质,通过电能或热能的作用使相变材料在多晶(低阻)与非晶(高阻)状态之间相互转化,并利用两种状态之间的差值来表征二进制数据。PCRAM在工艺上与CMOS标准工艺完全兼容,并且具有操作速度快,抗疲劳特性好和微缩性等特点,在低压、低功耗、高速、高密度和嵌入式存储等方面有非常广阔的商业前景。PCRAM被认为是最有可能取代闪存(FLASH)的下一代非易失性存储器,其相较于FLASH在随机读写和抗疲劳性(耐写能力为106次)方面具有优势。
SD卡(Secure Digital Memory Card,安全数码卡)是基于SD接口技术和FLASH存储技术的一种非易失性存储卡。SD卡具有体积小、功耗低、口线少、操作方便等特点,是目前消费数码产品应用最广泛的存储卡。SD卡的主要存储介质为Nand FLASH,其具有高密度、写带宽大等特点,但是Nand FLASH读写均以块为单位,在写入数据前必须进行块擦除操作,无法实现“重写”(将“0”或“1”写入任意单元,而不管单元的初始状态),且抗疲劳特性较差(耐写能力为104次)。
因此,现在亟需一种能够改善SD卡写入数据前必须进行块擦除操作、无法实现“重写”等缺陷的存储设备。
发明内容
鉴于以上所述现有技术的缺点,本发明的目的在于提供一种存储设备及其数据读写方法,用于解决现有技术中SD卡写入数据前必须进行块擦除操作、无法实现“重写”的问题。
为实现上述目的及其他相关目的,本发明提供一种存储设备,其中,所述存储设备至少包括:
相变存储器芯片;
耦合到所述相变存储器芯片的相变存储器接口控制模块,用于控制对所述相变存储器芯片的操作;
耦合到外部设备的SD接口控制模块,用于处理所述存储设备与所述外部设备之间的数据通信;
耦合到所述相变存储器接口控制模块和所述SD接口控制模块的存储控制器,用于响应来自于所述SD接口控制模块的数据读取或写入命令,并通过所述相变存储器接口控制模块控制对所述相变存储器芯片的读取或写入。
优选地,所述存储控制器至少包括:
内部存储器,用于缓存写入所述相变存储器芯片的数据;
耦合到所述内部存储器的内部存储器控制模块,用于根据需要写入所述相变存储器芯片的数据来控制所述内部存储器资源的分配;
耦合到所述内部存储器控制模块的ECC模块,用于对所述相变存储器芯片读取或写入数据的编解码进行数据纠错;
DMA控制模块,用于控制所述存储设备内部数据的读取或写入;
耦合到所述内部存储器控制模块、所述ECC模块和所述DMA控制模块的MCU,用于控制所述内部存储器控制模块、所述ECC模块和所述DMA控制模块的各种操作。
优选地,所述SD接口控制模块通过外部总线耦合到所述外部设备,所述存储设备与所述外部设备采用串行或并行的方式进行数据通信。
优选地,所述外部总线为外部SD数据总线或外部MMC数据总线。
本发明还提供一种如上所述的存储设备的数据读写方法,其中,所述存储设备的数据读写方法至少包括:
对相变存储器芯片的存储空间进行划分,至少形成索引区和数据区;其中,所述数据区至少包括若干个相同长度的物理扇区,对所述数据区按扇区进行读取或写入;
在所述索引区内预设一相变存储器转换层,用于记录逻辑扇区地址与所述数据区中实际的物理扇区地址之间的映射关系,并在对所述相变存储器芯片进行数据读取或写入时实现逻辑扇区地址和物理扇区地址的转换;
在所述数据区内预设一动态交换块,用于缓存写入所述相变存储器芯片的数据;其中,所述动态交换块映射到所述数据区的一个物理块,所述物理块至少包括一个物理扇区;
在存储控制器通过SD接口控制模块接收到由逻辑块地址和块数据组成的数据写入命令时,所述逻辑块地址通过所述相变存储器转换层转换为所述数据区中的实际物理块地址,所述存储控制器将所述实际物理块地址发送到相变存储器接口控制模块,以驱动所述相变存储器芯片的数据写入;所述相变存储器接口控制模块在接收到所述实际物理块地址后,将所述块数据写入到所述动态交换块映射的物理块中,然后将所述逻辑块地址重映射到所述动态交换块对应的物理块地址,并将所述动态交换块重映射到所述实际物理块地址对应的实际物理块,更新所述相变存储器转换层,以实现所述块数据的写入更新。
优选地,在存储控制器通过SD接口控制模块接收到由逻辑块地址和块长度组成的数据读取命令时,所述逻辑块地址通过所述相变存储器转换层转换为所述数据区中的实际物理块地址,所述存储控制器将所述实际物理块地址和所述块长度发送到相变存储器接口控制模块,以驱动所述相变存储器芯片的数据读取;所述相变存储器接口控制模块在接收到所述实际物理块地址和所述块长度后,直接读取所述实际物理块地址对应的实际物理块中的块数据,以实现所述块数据的读取。
优选地,所述索引区至少包括主索引表和与所述主索引表内容相同的备份及校验索引表,对所述索引区以字为单位直接进行写入;所述相变存储器转换层至少包括:位于所述主索引表内的地址映射表和动态交换扇区表,所述地址映射表用于记录逻辑扇区地址与所述数据区中实际的物理扇区地址之间的映射关系,所述动态交换扇区表用于记录所述动态交换块和其当前映射的物理块之间的映射关系。
优选地,对相变存储器芯片的存储空间进行划分时,还形成冗余区;其中,所述冗余区至少包括若干个完整的冗余物理块,用于替换所述数据区中出现损坏的物理块。
如上所述,本发明的存储设备及其数据读写方法,具有以下有益效果:
本发明的存储设备为基于相变存储器的SD卡,采用相变存储器芯片作为存储介质,可以进行随机读写,即可以按位进行“重写”,同时也可以以一定大小的单元块为单位进行“重写”。另外,相较于FLASH,坏块管理和ECC纠错等操作也更加简单,实现了坏块屏蔽功能,且具有抗疲劳的特点。
本发明的存储设备的数据读写方法,在对数据区写入数据时,并不是直接写入逻辑扇区当前对应的实际物理扇区内,而是先将要写的数据写入动态交换块对应的物理块内,在通过改变映射关系实现写入操作。通过这样的方式,实现了逻辑扇区与物理扇区的动态对应,这样在对同一逻辑扇区进行多次操作的时候,写入操作次数能够分布在不同的物理扇区,因而能减少损坏扇区的出现,提升芯片寿命。同时,在写入发生错误时,由于写入的是动态交换块对应的物理块,实际物理扇区的数据未遭到破坏,因而能够一定程度地避免数据丢失,恢复到写入错误之前的状态,有利于存储设备的稳定性。
附图说明
图1显示为本发明第一实施方式的存储设备示意图。
图2显示为本发明第二实施方式的存储设备的数据读写方法的流程示意图。
图3显示为本发明第一实施方式的存储设备中相变存储器芯片的存储空间划分示意图。
图4显示为本发明第二实施方式的存储设备的数据读写方法的示例性原理图。
元件标号说明
100 相变存储器芯片
200 相变存储器接口控制模块
300 存储控制器
301 内部存储器
302 内部存储器控制模块
303 ECC模块
304 DMA控制模块
305 MCU
400 SD接口控制模块
500 外部总线
S1~S4 步骤
具体实施方式
以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。
请参阅图1,本发明第一实施方式涉及一种存储设备。需要说明的是,本实施方式中所提供的图示仅以示意方式说明本发明的基本构想,遂图式中仅显示与本发明中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。
如图1所示,本实施方式的存储设备至少包括:相变存储器芯片100;耦合到相变存储器芯片100的相变存储器接口控制模块200,用于控制对相变存储器芯片100的操作;耦合到外部设备的SD接口控制模块400,用于处理存储设备与外部设备之间的数据通信;耦合到相变存储器接口控制模块200和SD接口控制模块400的存储控制器300,用于响应来自于SD接口控制模块400的数据读取或写入命令,并通过相变存储器接口控制模块200控制对相变存储器芯片100的读取或写入。
对于存储控制器300,其还同时用于管理整个存储设备中逻辑扇区与物理扇区之间的映射、坏块信息和冗余信息等,请继续参阅图1,其至少包括:(1)内部存储器301,用于缓存写入相变存储器芯片100的数据,可以为SRAM(Static Random Access Memory,静态随机存储器)或者其他能够缓存写入相变存储器芯片100数据的存储器。(2)耦合到内部存储器301的内部存储器控制模块302,用于根据需要写入相变存储器芯片100的数据来控制内部存储器301资源的分配。(3)耦合到内部存储器控制模块302的ECC(Error CorrectionCode,纠错码)模块303,用于对相变存储器芯片100读取或写入数据的编解码进行数据纠错,其可以根据相变存储器芯片100读取或写入的数据结构配置成不同模式。(4)DMA(Direct Memory Access,直接内存存取)控制模块,用于控制存储设备内部数据的读取或写入,其能够控制整个存储设备内部大量数据的读取或写入,从而提高整个存储设备处理数据的速度与能力。(5)耦合到内部存储器301控制模块、ECC模块303和DMA控制模块304的MCU(Micro Control Unit,微控制器)305,用于控制内部存储器301控制模块、ECC模块303和DMA控制模块304的各种操作,是整个存储控制器300的处理核心。
对于相变存储器芯片100,其作为整个存储设备的存储介质,由相变存储单元阵列和一系列***电路组成。
对于相变存储器接口控制模块200,其用于控制对相变存储器芯片100的操作,包括对相变存储器芯片100的选址、读写、配置寄存器等操作。
对于SD接口控制模块400,其通过外部总线500耦合到外部设备,存储设备与外部设备采用串行或并行的方式进行数据通信;例如可以将数据经过外部总线500从外部设备传至存储控制器300中运行的内部存储器301中,或者将存储控制器300中运行的内部存储器301上存储的数据传至外部设备。优选地,外部总线500为外部SD数据总线或外部MMC(Multi Media Card,多媒体存储卡)数据总线。
现有技术中SD卡使用Nand FLASH作为存储介质,其读写按块为单位进行,且由于在写操作之前必须进行块擦除操作,无法实现“重写”。而本实施方式的存储设备使用相变存储器作为存储介质,它的特点在于可以进行随机读写,即可以按位进行“重写”,同时也可以以一定大小的单元块为单位进行“重写”。相较于FLASH,在坏块管理和ECC纠错等方面的操作也更加简单且具有抗疲劳的特点。
值得一提的是,本实施方式中所涉及到的各模块均为逻辑模块,在实际应用中,一个逻辑模块可以是一个物理单元,也可以是一个物理单元的一部分,还可以以多个物理单元的组合实现。此外,为了突出本发明的创新部分,本实施方式中并没有将与解决本发明所提出的技术问题关系不太密切的单元引入,但这并不表明本实施方式中不存在其它的单元。
本发明第二实施方式还涉及一种存储设备的数据读写方法,其具体流程如图2所示。不难发现,本实施方式为与第一实施方式所涉及的存储设备相对应的数据读写实施例,本实施方式可与第一实施方式互相配合实施。第一实施方式中提到的相关技术细节在本实施方式中依然有效,为了减少重复,这里不再赘述。相应地,本实施方式中提到的相关技术细节也可应用在第一实施方式中。
本实施方式的存储设备的数据读写方法至少包括:
步骤S1,对相变存储器芯片100的存储空间进行划分,至少形成索引区和数据区;其中,数据区至少包括若干个相同长度的物理扇区,对数据区按扇区进行读取或写入。
通常情况下,存储器上存储的数据类型不相同,其操作方式也不同。为了区别地存放这些数据,存储空间会被划分为多个区域;请参阅图3,本实施方式中的相变存储器芯片100的存储空间至少被划分为:索引区,其至少包括主索引表(index1)与主索引表内容相同的备份及校验索引表(index2和index3),对索引区以字为单位直接进行写入;数据区,其至少包括若干个相同长度的物理扇区,对数据区按扇区进行读取或写入。此外,优选地,对相变存储器芯片100的存储空间进行划分时,还形成冗余区;其中,冗余区至少包括若干个完整的冗余物理块,每个冗余物理块至少包括一个物理扇区,用于替换数据区中出现损坏的物理块。
值得一提的是,数据区内的地址用以存放数据,由于文件***是按扇区(512B)为最小单位对数据进行操作,故将数据区的空间划分成相同长度的扇区(sector area),每个扇区的大小为512B。同时每个扇区包括一个备用区(spare area),备用区用来存放ECC校验信息或者其他用户数据,备用区的大小根据需求设定。由于相变存储器芯片100会存在一些损坏扇区,且在使用过程中也会逐渐出现扇区损坏的情况,为了增加整个芯片的使用寿命,有必要设置冗余。冗余区的扇区结构和数据区内相同,其大小视需求设定。
步骤S2,在索引区内预设一相变存储器转换层,用于记录逻辑扇区地址与数据区中实际的物理扇区地址之间的映射关系,并在对相变存储器芯片100进行数据读取或写入时实现逻辑扇区地址和物理扇区地址的转换。
步骤S3,在数据区内预设一动态交换块,用于缓存写入相变存储器芯片100的数据;其中,动态交换块映射到数据区的一个物理块,物理块至少包括一个物理扇区。
请继续参阅图3,主索引表中至少包括:(1)操作配置寄存器信息表,用于记录相变存储器芯片100的最佳工作参数。整个存储设备在初始化的时候会读取主索引表中的数据,并进行相变存储器芯片100配置寄存器的操作。(2)坏块信息表,用于记录数据区中出现损坏的物理块的数量与位置。这些损坏的物理块通常是相变存储器芯片100在出厂时带有的,或者是在相变存储器芯片100使用过程中出现的。(3)冗余扇区表,用于记录冗余区中完整的冗余物理块的数量与位置。当相变存储器芯片100需要进行损坏扇区替换时,在冗余扇区表内查找空闲的冗余扇区,并与损坏扇区进行映射替换,同时更新冗余扇区表。(4)地址映射表(address mapping table),用于记录逻辑扇区地址与数据区中实际的物理扇区地址之间的映射关系。当获得逻辑块(扇区)号,通过查询地址映射表即可获得物理块(扇区)号,再经过一定的运算关系即可获得实际的待操作的物理块(扇区)首地址。(5)动态交换扇区表,用于记录动态交换块和其当前映射的物理块之间的映射关系,其中动态交换块用于相变存储器进行块写入时的缓存。
步骤S4,在存储控制器300通过SD接口控制模块400接收到由逻辑块地址和块数据组成的数据写入命令时,逻辑块地址通过相变存储器转换层转换为数据区中的实际物理块地址,存储控制器300将实际物理块地址发送到相变存储器接口控制模块200,以驱动相变存储器芯片100的数据写入;相变存储器接口控制模块200在接收到实际物理块地址后,将块数据写入到动态交换块映射的物理块中,然后将逻辑块地址重映射到动态交换块对应的物理块地址,并将动态交换块重映射到实际物理块地址对应的实际物理块,更新相变存储器转换层,以实现块数据的写入更新。
其中,在本实施方式中,“块”指数据区中至少一个扇区的组合,而一个文件数据可以对应一个或者多个这样的“块”。不同于FLASH在写操作之前必须进行擦除操作且必须按块进行操作,相变存储器芯片100的写操作可以按块进行,也可以按位进行,这取决于操作位置的数据结构要求。针对本实施方式涉及的存储设备,在数据区与冗余区,写擦的最小单位为扇区,而在索引区,写擦的最小单位为字。在更新索引区上的数据时,在相变存储器索引区需要更新的位置,直接进行“重写”。
在需要对相变存储器芯片100数据区进行数据写入操作时,外部文件***通过SD接口控制模块400发送数据写入命令,该数据写入命令包括逻辑块地址和块数据,存储控制器300在接受到读写命令后,向相变存储器接口控制模块200发送数据区中的实际物理地址和要写入的块数据,完成相变存储器芯片100的写入操作。而在需要对相变存储器芯片100数据区进行数据读取操作时,本实施方式的存储设备的数据读写方法还包括:步骤S4’,在存储控制器300通过SD接口控制模块400接收到由逻辑块地址和块长度组成的数据读取命令时,逻辑块地址通过相变存储器转换层转换为数据区中的实际物理块地址,存储控制器300将实际物理块地址和块长度发送到相变存储器接口控制模块200,以驱动相变存储器芯片100的数据读取;相变存储器接口控制模块200在接收到实际物理块地址和块长度后,直接读取实际物理块地址对应的实际物理块中的块数据,以实现块数据的读取。
由此可见,在相变存储器读写过程中,需要将接收到的逻辑块地址转换为相变存储器芯片100的物理区域位置的物理块地址,这就需要相变存储器转换层(PCRAMTranslation Layer,PTL)来实现。PTL的核心就是位于主索引表内的地址映射表,该地址映射表使用的是扇区寻址的方式,其基本单元大小为一个字,其编号表示逻辑扇区号,该地址映射表存储的内容为与逻辑扇区号对应的物理扇区号。在存储设备上电后,存储设备初始化,存储设备会主动将相变存储器芯片100索引区中存放的地址映射表读到存储设备运行的内部存储器中。当获得要操作的逻辑扇区号时,找到该逻辑扇区号在地址映射表中对应的位置,即可获得要操作扇区的物理扇区号,再将相变存储器芯片实际需要操作物理扇区的首地址发送到相变存储器接口控制模块200,驱动相变存储器的读写。同时,PTL还包括位于主索引表内的动态交换扇区表,在进行块写入操作时,数据实际写入的扇区为动态交换扇区映射的物理扇区,在成功写入后,动态交换扇区表内的动态交换扇区映射会被更新。
也就是说,在对数据区写入数据时,并不是直接写入逻辑扇区当前对应的物理扇区内,而是先将要写的数据写入交换扇区对应的物理扇区内,在通过改变映射关系实现写入操作。如图4所示,当前要写入的逻辑扇区号为2,要写入的数据为A,相对应的物理扇区号为5,当前动态交换扇区对应的物理扇区号为4。在写入数据时,先将数据A写入物理扇区4,然后将逻辑扇区2映射到物理扇区4,并将动态交换扇区映射到物理扇区5。通过这样的写入方式,实现了逻辑扇区与物理扇区的动态对应,在对同一逻辑扇区进行多次操作的时候,写入操作次数能够分布在不同物理扇区,因而能减少损坏扇区的出现,提升芯片寿命。同时,在写入发生错误时,由于写入扇区为交换扇区,原扇区的数据未遭到破坏,因而能够一定程度地避免数据丢失,恢复到写入错误之前的状态,有利于***稳定性。
当然,在对数据区读取数据时,直接进行读取即可。请继续参阅图4,当前要读取的逻辑扇区号为n,相对应的物理扇区号为m-1;在读取数据时,存储控制器300将物理扇区m-1和数据长度L发送到相变存储器接口控制模块200,相变存储器接口控制模块200直接读取物理扇区m-1。其中,n为大于等于0的自然数,m为大于等于1的自然数。
此外,由于相变存储器芯片在出厂后视工艺的好坏会出现一定程度的坏块,如果因为少量坏块就报废掉整个相变存储器芯片无疑是对成本的浪费,所以在坏块的数量在不影响总体使用的容量时,将相变存储器芯片中这部分地址屏蔽,那么存在坏块的芯片也可以正常使用。且相变存储器芯片虽然具有抗疲劳的特点,但其单元寿命并非无限,因此在随着读写次数的不断增加,某些易失效的单元率先出现疲劳失效,导致坏块数量的增加而影响芯片寿命。为了降低这种影响,将总体使用容量之外的一些正常的数据块用作冗余物理块,这些冗余物理块的位置记录在冗余扇区表内。当相变存储器芯片在使用中出现坏块的时候,通过查询冗余扇区表,获得冗余物理块的物理块号,用以替换当前寻址表中出现损坏的物理块号。同时将出现损坏的数据块的物理号添加到坏块信息表中,并把替换它的冗余块从冗余信息表中删除。因此,本发明第一实施方式的存储设备和本实施方式的存储设备的读写方法有效实现了坏块屏蔽功能,相变存储器芯片的抗疲劳效果更好。
上面各种方法的步骤划分,只是为了描述清楚,实现时可以合并为一个步骤或者对某些步骤进行拆分,分解为多个步骤,只要包含相同的逻辑关系,都在本专利的保护范围内;对算法中或者流程中添加无关紧要的修改或者引入无关紧要的设计,但不改变其算法和流程的核心设计都在该专利的保护范围内。
综上,本发明的存储设备为基于相变存储器的SD卡,采用相变存储器芯片作为存储介质,可以进行随机读写,即可以按位进行“重写”,同时也可以以一定大小的单元块为单位进行“重写”。另外,相较于FLASH,坏块管理和ECC纠错等操作也更加简单,实现了坏块屏蔽功能,且具有抗疲劳的特点。
本发明的存储设备的数据读写方法,在对数据区写入数据时,并不是直接写入逻辑扇区当前对应的实际物理扇区内,而是先将要写的数据写入动态交换块对应的物理块内,在通过改变映射关系实现写入操作。通过这样的方式,实现了逻辑扇区与物理扇区的动态对应,这样在对同一逻辑扇区进行多次操作的时候,写入操作次数能够分布在不同的物理扇区,因而能减少损坏扇区的出现,提升芯片寿命。同时,在写入发生错误时,由于写入的是动态交换块对应的物理块,实际物理扇区的数据未遭到破坏,因而能够一定程度地避免数据丢失,恢复到写入错误之前的状态,有利于存储设备的稳定性。
所以,本发明有效克服了现有技术中的种种缺点而具高度产业利用价值。
上述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。任何熟悉此技术的人士皆可在不违背本发明的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属技术领域中具有通常知识者在未脱离本发明所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本发明的权利要求所涵盖。
Claims (8)
1.一种存储设备,其特征在于,所述存储设备至少包括:
相变存储器芯片,其存储空间至少被划分形成索引区和数据区;其中,所述数据区至少包括若干个相同长度的物理扇区,对所述数据区按扇区进行读取或写入;所述相变存储器芯片至少包括:设于所述索引区内的相变存储器转换层,用于记录逻辑扇区地址与所述数据区中实际的物理扇区地址之间的映射关系,并在对所述相变存储器芯片进行数据读取或写入时实现逻辑扇区地址和物理扇区地址的转换;以及设于所述数据区内的动态交换块,用于缓存写入所述相变存储器芯片的数据;其中,所述动态交换块映射到所述数据区的一个物理块,所述物理块至少包括一个物理扇区;
耦合到所述相变存储器芯片的相变存储器接口控制模块,用于控制对所述相变存储器芯片的操作;
耦合到外部设备的SD接口控制模块,用于处理所述存储设备与所述外部设备之间的数据通信;
耦合到所述相变存储器接口控制模块和所述SD接口控制模块的存储控制器,用于响应来自于所述SD接口控制模块的数据读取或写入命令,并通过所述相变存储器接口控制模块控制对所述相变存储器芯片的读取或写入;
其中,在所述存储控制器通过所述SD接口控制模块接收到由逻辑块地址和块数据组成的数据写入命令时,所述逻辑块地址通过所述相变存储器转换层转换为所述数据区中的实际物理块地址,所述存储控制器将所述实际物理块地址发送到所述相变存储器接口控制模块,以驱动所述相变存储器芯片的数据写入;所述相变存储器接口控制模块在接收到所述实际物理块地址后,将所述块数据写入到所述动态交换块映射的物理块中,然后将所述逻辑块地址重映射到所述动态交换块对应的物理块地址,并将所述动态交换块重映射到所述实际物理块地址对应的实际物理块,更新所述相变存储器转换层,以实现所述块数据的写入更新。
2.根据权利要求1所述的存储设备,其特征在于,所述存储控制器至少包括:
内部存储器,用于缓存写入所述相变存储器芯片的数据;
耦合到所述内部存储器的内部存储器控制模块,用于根据需要写入所述相变存储器芯片的数据来控制所述内部存储器资源的分配;
耦合到所述内部存储器控制模块的ECC模块,用于对所述相变存储器芯片读取或写入数据的编解码进行数据纠错;
DMA控制模块,用于控制所述存储设备内部数据的读取或写入;
耦合到所述内部存储器控制模块、所述ECC模块和所述DMA控制模块的MCU,用于控制所述内部存储器控制模块、所述ECC模块和所述DMA控制模块的各种操作。
3.根据权利要求1所述的存储设备,其特征在于,所述SD接口控制模块通过外部总线耦合到所述外部设备,所述存储设备与所述外部设备采用串行或并行的方式进行数据通信。
4.根据权利要求3所述的存储设备,其特征在于,所述外部总线为外部SD数据总线或外部MMC数据总线。
5.一种如权利要求1所述的存储设备的数据读写方法,其特征在于,所述存储设备的数据读写方法至少包括:
对相变存储器芯片的存储空间进行划分,至少形成索引区和数据区;其中,所述数据区至少包括若干个相同长度的物理扇区,对所述数据区按扇区进行读取或写入;
在所述索引区内预设一相变存储器转换层,用于记录逻辑扇区地址与所述数据区中实际的物理扇区地址之间的映射关系,并在对所述相变存储器芯片进行数据读取或写入时实现逻辑扇区地址和物理扇区地址的转换;
在所述数据区内预设一动态交换块,用于缓存写入所述相变存储器芯片的数据;其中,所述动态交换块映射到所述数据区的一个物理块,所述物理块至少包括一个物理扇区;
在存储控制器通过SD接口控制模块接收到由逻辑块地址和块数据组成的数据写入命令时,所述逻辑块地址通过所述相变存储器转换层转换为所述数据区中的实际物理块地址,所述存储控制器将所述实际物理块地址发送到相变存储器接口控制模块,以驱动所述相变存储器芯片的数据写入;所述相变存储器接口控制模块在接收到所述实际物理块地址后,将所述块数据写入到所述动态交换块映射的物理块中,然后将所述逻辑块地址重映射到所述动态交换块对应的物理块地址,并将所述动态交换块重映射到所述实际物理块地址对应的实际物理块,更新所述相变存储器转换层,以实现所述块数据的写入更新。
6.根据权利要求5所述的存储设备的数据读写方法,其特征在于,在存储控制器通过SD接口控制模块接收到由逻辑块地址和块长度组成的数据读取命令时,所述逻辑块地址通过所述相变存储器转换层转换为所述数据区中的实际物理块地址,所述存储控制器将所述实际物理块地址和所述块长度发送到相变存储器接口控制模块,以驱动所述相变存储器芯片的数据读取;所述相变存储器接口控制模块在接收到所述实际物理块地址和所述块长度后,直接读取所述实际物理块地址对应的实际物理块中的块数据,以实现所述块数据的读取。
7.根据权利要求5所述的存储设备的数据读写方法,其特征在于,所述索引区至少包括主索引表和与所述主索引表内容相同的备份及校验索引表,对所述索引区以字为单位直接进行写入;所述相变存储器转换层至少包括:位于所述主索引表内的地址映射表和动态交换扇区表,所述地址映射表用于记录逻辑扇区地址与所述数据区中实际的物理扇区地址之间的映射关系,所述动态交换扇区表用于记录所述动态交换块和其当前映射的物理块之间的映射关系。
8.根据权利要求5所述的存储设备的数据读写方法,其特征在于,对相变存储器芯片的存储空间进行划分时,还形成冗余区;其中,所述冗余区至少包括若干个完整的冗余物理块,用于替换所述数据区中出现损坏的物理块。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410562409.2A CN104317753B (zh) | 2014-10-21 | 2014-10-21 | 存储设备及其数据读写方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410562409.2A CN104317753B (zh) | 2014-10-21 | 2014-10-21 | 存储设备及其数据读写方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104317753A CN104317753A (zh) | 2015-01-28 |
CN104317753B true CN104317753B (zh) | 2017-09-22 |
Family
ID=52372988
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410562409.2A Active CN104317753B (zh) | 2014-10-21 | 2014-10-21 | 存储设备及其数据读写方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104317753B (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107783723A (zh) * | 2016-08-29 | 2018-03-09 | 深圳市中兴微电子技术有限公司 | 一种存储器块处理方法和装置 |
CN106844248B (zh) * | 2017-02-16 | 2019-09-24 | 北京中航通用科技有限公司 | 数据传输的方法及*** |
CN107391048A (zh) * | 2017-08-23 | 2017-11-24 | 中国舰船研究设计中心 | 面向复杂实时应用的舰载多级存储体系结构及存储方法 |
KR102418856B1 (ko) * | 2017-11-02 | 2022-07-07 | 삼성전자주식회사 | 데이터 저장 장치 |
CN109634919A (zh) * | 2018-10-16 | 2019-04-16 | 西北铁道电子股份有限公司 | 一种文件管理*** |
CN110459259A (zh) * | 2019-07-31 | 2019-11-15 | 至誉科技(武汉)有限公司 | 存储设备写错误纠错能力的测试方法、***及存储介质 |
WO2022116067A1 (zh) * | 2020-12-03 | 2022-06-09 | 华为技术有限公司 | 闪存的数据处理方法和数据处理装置 |
CN112925557B (zh) * | 2021-01-28 | 2023-09-05 | 长沙市到家悠享网络科技有限公司 | 数据处理装置、方法及计算设备 |
CN114238929B (zh) * | 2021-12-20 | 2022-09-13 | 深圳市德仪电子科技有限公司 | 一种内置运放的mcu芯片及其在变频***中的应用 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102483717A (zh) * | 2009-11-30 | 2012-05-30 | 惠普发展公司,有限责任合伙企业 | 存储器磨损平衡的重映射 |
CN102637453A (zh) * | 2012-02-17 | 2012-08-15 | 北京时代全芯科技有限公司 | 一种包括串行输入输出接口的相变存储器 |
CN102981971A (zh) * | 2012-12-25 | 2013-03-20 | 重庆大学 | 一种快速响应的相变存储器损耗均衡方法 |
CN103092534A (zh) * | 2013-02-04 | 2013-05-08 | 中国科学院微电子研究所 | 一种内存结构的调度方法和装置 |
CN103885724A (zh) * | 2014-03-14 | 2014-06-25 | 山东大学 | 基于相变存储器的存储***结构及其损耗均衡算法 |
-
2014
- 2014-10-21 CN CN201410562409.2A patent/CN104317753B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102483717A (zh) * | 2009-11-30 | 2012-05-30 | 惠普发展公司,有限责任合伙企业 | 存储器磨损平衡的重映射 |
CN102637453A (zh) * | 2012-02-17 | 2012-08-15 | 北京时代全芯科技有限公司 | 一种包括串行输入输出接口的相变存储器 |
CN102981971A (zh) * | 2012-12-25 | 2013-03-20 | 重庆大学 | 一种快速响应的相变存储器损耗均衡方法 |
CN103092534A (zh) * | 2013-02-04 | 2013-05-08 | 中国科学院微电子研究所 | 一种内存结构的调度方法和装置 |
CN103885724A (zh) * | 2014-03-14 | 2014-06-25 | 山东大学 | 基于相变存储器的存储***结构及其损耗均衡算法 |
Also Published As
Publication number | Publication date |
---|---|
CN104317753A (zh) | 2015-01-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104317753B (zh) | 存储设备及其数据读写方法 | |
CN104102585B (zh) | 映射信息记录方法、存储器控制器与存储器储存装置 | |
CN103946811B (zh) | 用于实现具有不同操作模式的多级存储器分级结构的设备和方法 | |
CN104461393B (zh) | 一种闪存存储器的混合映射方法 | |
US8001317B2 (en) | Data writing method for non-volatile memory and controller using the same | |
US8386698B2 (en) | Data accessing method for flash memory and storage system and controller using the same | |
US9268687B2 (en) | Data writing method, memory control circuit unit and memory storage apparatus | |
CN107844431A (zh) | 映射表更新方法、存储器控制电路单元与存储器存储装置 | |
US8131911B2 (en) | Data writing method, and flash storage system and controller using the same | |
US20100042774A1 (en) | Block management method for flash memory, and storage system and controller using the same | |
CN103699344B (zh) | 非易失性存储器装置及其操作方法 | |
CN104699413B (zh) | 数据管理方法、存储器存储装置及存储器控制电路单元 | |
US20140129758A1 (en) | Wear leveling in flash memory devices with trim commands | |
CN106681652B (zh) | 存储器管理方法、存储器控制电路单元与存储器存储装置 | |
US20100057979A1 (en) | Data transmission method for flash memory and flash memory storage system and controller using the same | |
CN104571938A (zh) | 在多层单元存储器存取数据的方法及其多层单元存储装置 | |
US9037814B2 (en) | Flash memory management method and flash memory controller and storage system using the same | |
US8074128B2 (en) | Block management and replacement method, flash memory storage system and controller using the same | |
TWI498899B (zh) | 資料寫入方法、記憶體控制電路單元與記憶體儲存裝置 | |
CN107402716A (zh) | 数据写入方法、内存控制电路单元与内存储存装置 | |
US8423707B2 (en) | Data access method for flash memory and storage system and controller using the same | |
CN102902626B (zh) | 区块管理方法、存储器控制器与存储器储存装置 | |
CN101667157A (zh) | 闪存数据传输方法、闪存储存***及控制器 | |
CN115437580B (zh) | 一种数据存储设备的管理方法、***及数据存储设备 | |
CN107544922A (zh) | 数据写入方法、存储器控制电路单元及存储器存储装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |