数据存取方法、存储器控制电路单元及存储器储存装置的制造方法_3

文档序号:9887494阅读:来源:国知局
件(即,一个存储单元中可储存3个比特数据的快闪存储器组件)、其他快闪存储器组件或其他具有相同特性的存储器组件。
[0129]图3是根据第一范例实施例所示出的存储器控制电路单元的概要方块图。
[0130]请参照图3,存储器控制电路单元104包括存储器管理电路202、主机接口 204、存储器接口 206与数据压缩/解压缩电路208。
[0131]存储器管理电路202用以控制存储器控制电路单元104的整体运行。具体来说,存储器管理电路202具有多个控制指令,并且在存储器储存装置100运行时,此些控制指令会被执行以对可复写式非易失性存储器组件106下达指令序列来将数据写入至可复写式非易失性存储器组件106、从可复写式非易失性存储器组件106读取数据或将可复写式非易失性存储器组件106上的数据抹除等操作。
[0132]在本范例实施例中,存储器管理电路202的控制指令是以固件形式来实现。例如,存储器管理电路202具有微处理器单元(未示出)与只读存储器(未示出),并且此些控制指令是被烧录至此只读存储器中。当存储器储存装置100运行时,此些控制指令会由微处理器单元来执行以进行数据的写入、读取与抹除等操作。
[0133]在本发明另一范例实施例中,存储器管理电路202的控制指令也可以代码形式储存于可复写式非易失性存储器组件106的特定区域(例如,存储器组件中专用于存放系统数据的系统区)中。此外,存储器管理电路202具有微处理器单元(未示出)、只读存储器(未示出)及随机存取存储器(未示出)。特别是,此只读存储器具有驱动码,并且当存储器控制电路单元104被致能时,微处理器单元会先执行此驱动码段来将储存于可复写式非易失性存储器组件106中的控制指令载入至存储器管理电路202的随机存取存储器中。之后,微处理器单元会运转此些控制指令以进行数据的写入、读取与抹除等操作。
[0134]此外,在本发明另一范例实施例中,存储器管理电路202的控制指令也可以一硬件形式来实现。例如,存储器管理电路202包括微控制器、存储单元管理电路、存储器写入电路、存储器读取电路、存储器抹除电路与数据处理电路。存储单元管理电路、存储器写入电路、存储器读取电路、存储器抹除电路与数据处理电路是耦接至微控制器。其中,存储单元管理电路用以管理可复写式非易失性存储器组件106的实体抹除单元;存储器写入电路用以对可复写式非易失性存储器组件106下达写入指令以将数据写入至可复写式非易失性存储器组件106中;存储器读取电路用以对可复写式非易失性存储器组件106下达读取指令以从可复写式非易失性存储器组件106中读取数据;存储器抹除电路用以对可复写式非易失性存储器组件106下达抹除指令以将数据从可复写式非易失性存储器组件106中抹除;而数据处理电路用以处理欲写入至可复写式非易失性存储器组件106的数据以及从可复写式非易失性存储器组件106中读取的数据。
[0135]主机接口 204是耦接至存储器管理电路202并且用以耦接至连接接口单元102,以接收与识别主机系统1000所传送的指令与数据。也就是说,主机系统1000所传送的指令与数据会通过主机接口 204来传送至存储器管理电路202。在本范例实施例中,主机接口 204是相容于SATA标准。然而,必须了解的是本发明不限于此,主机接口 204也可以是相容于PATA标准、IEEE 1394标准、PCI Express标准、USB标准、UHS-1接口标准、UHS-1I接口标准、SD标准、MS标准、MMC标准、CF标准、IDE标准或其他适合的数据传输标准。
[0136]存储器接口 206是耦接至存储器管理电路202并且用以存取可复写式非易失性存储器组件106。也就是说,欲写入至可复写式非易失性存储器组件106的数据会经由存储器接口 206转换为可复写式非易失性存储器组件106所能接受的格式。
[0137]数据压缩/解压缩电路208是耦接至存储器管理电路202。在此,数据压缩/解压缩电路208用以压缩欲写入至可复写式非易失性存储器组件106的数据并且用以解压缩从可复写式非易失性存储器组件106中所读取的数据。例如,数据压缩/解压缩电路208包含压缩器(compressor)及解压缩器(decompressor)。压缩器用以找出原始数据(originaldata)中存在的数据累赘(data redundancy)、移除所找出的累赘,将剩余的必要数据编码并且输出编码结果(即,压缩数据(compressed data)。而解压缩器用以将读入的压缩数据依据既定的步骤解码并送出解码结果(即,解压缩数据(decompressed data)。在本范例实施例中,数据压缩/解压缩电路208是使用无失真压缩演算法来压缩数据,以使压缩后的数据能够被还原。
[0138]在本发明一范例实施例中,存储器控制电路单元104还包括缓冲存储器210、电源管理电路212与错误检查与校正电路214。
[0139]缓冲存储器210是耦接至存储器管理电路202并且用以暂存来自于主机系统1000的数据与指令或来自于可复写式非易失性存储器组件106的数据。
[0140]电源管理电路212是耦接至存储器管理电路202并且用以控制存储器储存装置100的电源。
[0141 ] 错误检查与校正电路214是耦接至存储器管理电路202并且用以执行错误检查与校正程序以确保数据的正确性。具体来说,当存储器管理电路202从主机系统1000中接收到写入指令时,错误检查与校正电路214会为对应此写入指令的数据产生对应的错误检查与校正码(Error Checking and Correcting Code,简称:ECC Code),并且存储器管理电路202会将对应此写入指令的数据与对应的错误检查与校正码写入至可复写式非易失性存储器组件106中。之后,当存储器管理电路202从可复写式非易失性存储器组件106中读取数据时会同时读取此数据对应的错误检查与校正码,并且错误检查与校正电路214会依据此错误检查与校正码对所读取的数据执行错误检查与校正程序。
[0142]值得一提的是,错误检查与校正电路214能够校正的错误比特的数目会与所产生的错误检查与校正码的大小成正比。也就是说,当错误检查与校正电路214被设计能够校正的错误比特的数目越多时,则需要越多储存空间来储存所产生的错误检查与校正码。然而,用以储存错误检查与校正码的冗余比特区的容量是固定的(根据不同种类的可复写式非易失性存储器组件而不同)。因此,实现错误检查与校正电路214中的错误校正演算法会受限于可复写式非易失性存储器组件106的类型。具体来说,错误检查与校正电路214会被设计能够校正一数目的错误比特(以下称为最大可校正错误比特数)。例如,最大可校正错误比特数为48。倘若发生在所读取的数据的错误比特的数目非大于48个时,错误检查与校正电路214就能够依据错误检查与校正码将错误比特校正回正确的值。反之,错误检查与校正电路214会回报错误校正失败且存储器管理电路202会将指示数据已遗失的信息传送给主机系统1000。
[0143]图4A与图4B是根据第一范例实施例所示出的管理实体抹除单元的范例示意图。
[0144]必须了解的是,在此描述可复写式非易失性存储器组件106的实体抹除单元的运行时,以“提取丨丨、“分组丨丨、“划分丨丨、“关联丨丨等词来操作实体抹除单元是逻辑上的概念。也就是说,可复写式非易失性存储器组件的实体抹除单元的实际位置并未更动,而是逻辑上对可复写式非易失性存储器组件的实体抹除单元进行操作。
[0145]请参照图4A,存储器控制电路单元104 (或存储器管理电路202)会将实体抹除单元410 (O)?410-(N)逻辑地分组为数据区502、闲置区504、系统区506与取代区508。
[0146]逻辑上属于数据区502与闲置区504的实体抹除单元是用以储存来自于主机系统1000的数据。具体来说,数据区502的实体抹除单元是被视为已储存数据的实体抹除单元,而闲置区504的实体抹除单元是用以替换数据区502的实体抹除单元。也就是说,当从主机系统1000接收到写入指令与欲写入的数据时,存储器控制电路单元104 (或存储器管理电路202)会从闲置区504中提取实体抹除单元,并且将数据写入至所提取的实体抹除单元中,以替换数据区502的实体抹除单元。
[0147]逻辑上属于系统区506的实体抹除单元是用以记录系统数据。例如,系统数据包括关于可复写式非易失性存储器组件的制造商与型号、可复写式非易失性存储器组件的实体抹除单元数、每一实体抹除单元的实体编程单元数等。
[0148]逻辑上属于取代区508中的实体抹除单元是用于坏实体抹除单元取代程序,以取代损坏的实体抹除单元。具体来说,倘若取代区508中仍存有正常的实体抹除单元并且数据区502的实体抹除单元损坏时,存储器控制电路单元104(或存储器管理电路202)会从取代区508中提取正常的实体抹除单元来更换损坏的实体抹除单元。
[0149]特别是,数据区502、闲置区504、系统区506与取代区508的实体抹除单元的数量会依据不同的存储器规格而有所不同。此外,必须了解的是,在存储器储存装置100的运行中,实体抹除单元关联至数据区502、闲置区504、系统区506与取代区508的分组关系会动态地变动。例如,当闲置区504中的实体抹除单元损坏而被取代区508的实体抹除单元取代时,则原本取代区508的实体抹除单元会被关联至闲置区504。
[0150]请参照图4B,存储器控制电路单元104(或存储器管理电路202)会配置逻辑地址LBA(O)?LBA(H)以映射数据区502的实体抹除单元,其中每一逻辑地址具有多个逻辑子单元以映射对应的实体抹除单元的实体编程单元。并且,当主机系统100欲写入数据至逻辑地址或更新储存于逻辑地址中的数据时,存储器控制电路单元104(或存储器管理电路202)会从闲置区504中提取一个实体抹除单元来写入数据,以轮替数据区502的实体抹除单元。在本范例实施例中,逻辑子单元可以是逻辑页面或逻辑扇区。
[0151]为了识别数据每个逻辑地址的数据被储存在那个实体抹除单元,在本范例实施例中,存储器控制电路单元104(或存储器管理电路202)会记录逻辑地址与实体抹除单元之间的映射。并且,当主机系统1000欲在逻辑子单元中存取数据时,存储器控制电路单元104 (或存储器管理电路202)会确认此逻辑子单元所属的逻辑地址,并且在此逻辑地址所映射的实体抹除单元中来存取数据。例如,在本范例实施例中,存储器控制电路单元104(或存储器管理电路202)会在可复写式非易失性存储器组件106中储存逻辑转实体地址映射表来记录每一逻辑地址所映射的实体抹除单元,并且当欲存取数据时存储器控制电路单元104 (或存储器管理电路202)会将逻辑转实体地址映射表载入至缓冲存储器210来维护。
[0152]值得一提的是,由于缓冲存储器210的容量有限,无法储存记录所有逻辑地址的映射关系的映射表,因此,在本范例实施例中,存储器控制电路单元104(或存储器管理电路202)会将逻辑地址LBA(O)?LBA(H)分组为多个逻辑区域LZ(O)?LZ(M),并且为每一逻辑区域配置一个逻辑转实体地址映射表。特别是,当存储器控制电路单元104 (或存储器管理电路202)欲更新某个逻辑地址的映射时,对应此逻辑地址所属的逻辑区域的逻辑转实体地址映射表会被载入至缓冲存储器210来被更新。
[0153]图5?图7是根据第一范例实施例所示出的写入数据至可复写式非易失性存储器组件的范例。
[0154]请参照图5?图7,在本范例实施例中,存储器储存装置100的可复写式非易失性存储器组件106是以实体抹除单元为基础(也称为区块为基础(block based)来进行管理。具体而言,在逻辑地址LBA(O)是映射至实体抹除单元410 (O)的映射状态下,当存储器控制电路单元104(或存储器管理电路202)从主机系统1000中接收到写入指令而欲写入数据至属于逻辑地址LBA(O)的逻辑存取地址时,存储器控制电路单元104(或存储器管理电路202)会依据逻辑转实体地址映射表识别逻辑地址LBA (O)目前是映射至实体抹除单元410(0)并且从闲置区504中提取实体抹除单元410 (F)作为替换实体抹除单元来轮替实体抹除单元410 (O)。然而,当存储器控制电路单元104 (或存储器管理电路202)将新数据写入至实体抹除单元410 (F)的同时,存储器控制电路单元104(或存储器管理电路202)不会立刻将实体抹除单元410 (O)中的所有有效数据搬移至实体抹除单元410 (F)而抹除实体抹除单元410 (O)。具体来说,存储器控制电路单元104 (或存储器管理电路202)会将实体抹除单元410(0)中欲写入实体编程单元之前的有效数据(即,实体抹除单元410(0)的第O实体编程单元与第I实体编程单元中的数据)复制至实体抹除单元410(F)的第O实体编程单元与第I实体编程单元中(如图5所示),并且将新数据写入至实体抹除单元410(F)的第2实体编程单元与第3实体编程单元中(如图6所示)。此时,存储器控制电路单元104(或存储器管理电路202)即完成写入的操作。因为实体抹除单元410 (O)中的有效数据有可能在下个操作(例如,写入指令)中变成无效,因此立刻将实体抹除单元410 (O)中的有效数据搬移至实体抹除单元410 (F)可能会造成无谓的搬移。此外,数据必须依序地写入至实体抹除单元内的实体编程单元,因此,存储器控制电路单元104(或存储器管理电路202)仅会先搬移欲写入实体编程单元之前的有效数据。
[0155]在本范例实施例中,暂时地维持此等母子暂态关系(即,实体抹除单元410(0)与实体抹除单元410 (F))的操作称为开启(open)母子单元,并且原实体抹除单元称为母实体抹除单元而替换实体抹除单元称为子实体抹除单元。
[0156]之后,当需要将实体抹除单元410 (O)与实体抹除单元410 (F)的内容合并(merge)时,存储器控制电路单元104(或存储器管理电路202)才会将实体抹除单元410 (O)与实体抹除单元410(F)的数据整并至一个实体抹除单元,由此提升实体抹除单元的使用效率。在此,合并母子单元的操作称为数据合并程序或关闭(close)母子单元。例如,如图7所示,当进行关闭母子单元时,存储器控制电路单元104 (或存储器管理电路202)会将实体抹除单元410(0)中剩余的有效数据(即,实体抹除单元410(0)的第4实体编程单元?第(K)实体编程单元中的数据)复制至替换实体抹除单元410 (F)的第4
当前第3页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1