1.本发明涉及一种存储器管理技术,且尤其涉及一种数据重读方法、存储器存储装置及存储器控制电路单元。
背景技术:2.易失性存储器模块(volatile memory module)具有数据存取快速及体积小的特性。因此,易失性存储器模块适合设置于各式电子装置中,以作为暂时性数据的存储媒体。
3.一般来说,当易失性存储器模块发生存取错误(例如无法识别来自存储器控制器的指令)时,存储器控制器会指示易失性存储器模块重新执行先前执行过的部分操作指令,以尝试完成先前无法完成的工作。但是,若重新执行的指令包含读取指令,则读取回来的数据可能会存在新旧数据混杂的情形。
技术实现要素:4.本发明提供一种数据重读方法、存储器存储装置及存储器控制电路单元,可提高易失性存储器模块的操作稳定性及数据存取效能。
5.本发明的范例实施例提供一种数据重读方法,其用于易失性存储器模块,所述数据重读方法包括:检测来自所述易失性存储器模块的通知信号;响应于所述通知信号,指示所述易失性存储器模块执行缓存区中的n个指令序列;以及在所述易失性存储器模块执行所述n个指令序列后,根据所述n个指令序列所涉及的m个实体地址,发送至少一读取指令序列,以指示所述易失性存储器模块从所述m个实体地址读取第一数据。
6.在本发明的一范例实施例中,述的数据重读方法还包括:将通过执行所述缓存区中的所述n个指令序列而从所述m个实体地址读取的第二数据标记为无效数据,且不解码所述第二数据。
7.在本发明的一范例实施例中,所述的数据重读方法还包括:响应于所述通知信号,停止将任何指令序列加入至缓冲电路,其中所述缓冲电路用以将待执行的指令序列提供给所述易失性存储器模块;以及在所述易失性存储器模块执行完所述n个指令序列后,指示所述易失性存储器模块执行所述缓冲电路中剩余的指令序列。
8.在本发明的一范例实施例中,所述通知信号反映所述易失性存储器模块发生存取错误。
9.在本发明的一范例实施例中,所述缓存区用以存放已经传送给所述易失性存储器模块的指令序列。
10.在本发明的一范例实施例中,所述的数据重读方法还包括:在检测来自所述易失性存储器模块的所述通知信号之前,将至少一指令序列送入至缓冲电路;指示所述易失性存储器模块执行所述缓冲电路中的指令序列;以及将所述缓冲电路中已经传送给所述易失性存储器模块的指令序列存放于所述缓存区中。
11.在本发明的一范例实施例中,指示所述易失性存储器模块执行所述缓冲电路中的
所述指令序列的步骤包括:经由所述缓冲电路中的第一复用器将所述至少一指令序列暂存至所述缓冲电路中的至少一指令寄存器;以及经由所述缓冲电路中的第二复用器输出所述至少一指令序列的其中之一,以供所述易失性存储器模块执行。
12.本发明的范例实施例另提供一种存储器存储装置,其包括连接接口单元、易失性存储器模块及存储器控制电路单元。所述连接接口单元用以连接至主机系统。所述存储器控制电路单元连接至所述连接接口单元与所述易失性存储器模块。所述存储器控制电路单元用以:检测来自所述易失性存储器模块的通知信号;响应于所述通知信号,指示所述易失性存储器模块执行缓存区中的n个指令序列;以及在所述易失性存储器模块执行所述n个指令序列后,根据所述n个指令序列所涉及的m个实体地址,发送至少一读取指令序列,以指示所述易失性存储器模块从所述m个实体地址读取第一数据。
13.在本发明的一范例实施例中,所述存储器控制电路单元还用以:将通过执行所述缓存区中的所述n个指令序列而从所述m个实体地址读取的第二数据标记为无效数据,且不解码所述第二数据。
14.在本发明的一范例实施例中,所述存储器控制电路单元还用以:响应于所述通知信号,停止将任何指令序列加入至缓冲电路,其中所述缓冲电路用以将待执行的指令序列提供给所述易失性存储器模块;以及在所述易失性存储器模块执行完所述n个指令序列后,指示所述易失性存储器模块执行所述缓冲电路中剩余的指令序列。
15.在本发明的一范例实施例中,所述存储器控制电路单元还用以:在检测来自所述易失性存储器模块的所述通知信号之前,将至少一指令序列送入至缓冲电路;指示所述易失性存储器模块执行所述缓冲电路中的指令序列;以及将所述缓冲电路中已经传送给所述易失性存储器模块的指令序列存放于所述缓存区中。
16.在本发明的一范例实施例中,所述缓冲电路包括第一复用器、多个指令寄存器及第二复用器。所述多个指令寄存器连接至所述第一复用器。所述第二复用器连接至所述多个指令寄存器。所述第一复用器用以将所述至少一指令序列暂存至所述多个指令寄存器的至少其中之一。所述第二复用器用以输出所述至少一指令序列的其中之一,以供所述易失性存储器模块执行。
17.本发明的范例实施例另提供一种存储器控制电路单元,其用于控制易失性存储器模块。所述存储器控制电路单元包括主机接口、存储器接口及存储器管理电路。所述主机接口用以连接至主机系统。所述存储器接口用以连接至易失性存储器模块。所述存储器管理电路连接至所述主机接口与所述存储器接口。所述存储器管理电路用以:检测来自所述易失性存储器模块的通知信号;响应于所述通知信号,指示所述易失性存储器模块执行缓存区中的n个指令序列;以及在所述易失性存储器模块执行所述n个指令序列后,根据所述n个指令序列所涉及的m个实体地址,发送至少一读取指令序列,以指示所述易失性存储器模块从所述m个实体地址读取第一数据。
18.在本发明的一范例实施例中,所述存储器管理电路还用以:将通过执行所述缓存区中的所述n个指令序列而从所述m个实体地址读取的第二数据标记为无效数据,且不解码所述第二数据。
19.在本发明的一范例实施例中,所述存储器管理电路还用以:响应于所述通知信号,停止将任何指令序列加入至缓冲电路,其中所述缓冲电路用以将待执行的指令序列提供给
technology attachment,sata)标准、并行高级技术附件(parallel advanced technology attachment,pata)标准、电气和电子工程师协会(institute of electrical and electronic engineers,ieee)1394标准、通用串行总线(universal serial bus,usb)标准、sd接口标准、超高速一代(ultra high speed-i,uhs-i)接口标准、超高速二代(ultra high speed-ii,uhs-ii)接口标准、存储棒(memory stick,ms)接口标准、mcp接口标准、mmc接口标准、emmc接口标准、通用快闪存储器(universal flash storage,ufs)接口标准、emcp接口标准、cf接口标准、整合式驱动电子接口(integrated device electronics,ide)标准或其他适合的标准。连接接口单元11可与存储器控制电路单元12封装在一个芯片中,或者连接接口单元11是布设于一包含存储器控制电路单元12的芯片外。
35.存储器控制电路单元12连接至连接接口单元11与易失性存储器模块13。存储器控制电路单元12用以执行以硬件型式或固件型式实作的多个逻辑门或控制指令。存储器控制电路单元12可用以控制易失性存储器模块13。例如,存储器控制电路单元12可包括存储器控制器,以指示易失性存储器模块13进行数据的写入、读取与删除等运作。此外,存储器控制电路单元12可包括中央处理单元(central processing unit,cpu)或是其他可编程的一般用途或特殊用途的微处理器、数字信号处理器(digital signal processor,dsp)、可编程控制器、专用集成电路(application specific integrated circuits,asic)、可编程逻辑器件(programmable logic device,pld)或其他类似装置或这些装置的组合。
36.易失性存储器模块13可用以易失性地存储数据。例如,易失性存储器模块13可包括各式随机存取存储器(random access memory,ram)。例如,易失性存储器模块13可包括双通道同步动态随机存取存储器(double data rate(ddr)sdram),例如ddr sdram、ddr2 sdram、ddr3 sdram、ddr4sdram、ddr5 sdram等,或者其他类型的非易失性存储器。
37.存储器控制电路单元12可包括主机接口121、存储器管理电路122、存储器接口123、缓冲电路124、缓冲存储器125及解码电路126。主机接口121用以将存储器控制电路单元12连接至主机系统。存储器控制电路单元12可经由主机接口121与主机系统通信。例如,主机接口121可相容于pci express标准、sata标准、pata标准、ieee 1394标准、usb标准、sd标准、uhs-i标准、uhs-ii标准、ms标准、mmc标准、emmc标准、ufs标准、cf标准、ide标准或其他适合的数据传输标准。
38.存储器管理电路122连接至主机接口121、存储器接口123、缓冲电路124、缓冲存储器125及解码电路126。存储器管理电路122用以负责存储器控制电路单元12的整体或部分运作。此外,存储器管理电路122可用以控制易失性存储器模块13。例如,根据来自主机系统的读取指令、写入指令或删除指令,存储器管理电路122可发送相应的指令序列至易失性存储器模块13,以指示易失性存储器模块13执行数据的写入、读取或抹除等操作行为。在以下的范例实施例中,对于存储器管理电路122的描述可等同于对存储器控制电路单元12的描述。
39.存储器接口123用以存取易失性存储器模块13。例如,存储器管理电路122可通过存储器接口123存取易失性存储器模块13。例如,存储器管理电路122可通过存储器接口123将各式指令以指令序列的形式传送至易失性存储器模块13以指示易失性存储器模块13执行数据的写入、读取及抹除等操作行为。例如,所述指令序列可包括指令的识别码及所欲存取的实体地址(即存储器地址)等信息。在一范例实施例中,所述指令序列也称为指令码。
40.缓冲电路124可连接在存储器管理电路122与存储器接口123之间。或者,缓冲电路124可设置于存储器管理电路122或存储器接口123中。缓冲电路124用以暂存由存储器管理电路122发出且欲传送给易失性存储器模块13的指令序列。例如,当存储器管理电路122连续发出多个指令序列时,缓冲电路124可先接收并暂存此些指令序列,然后再逐一将此些指令序列传送给易失性存储器模块13,以供易失性存储器模块13执行。根据来自缓冲电路124的指令序列,易失性存储器模块13可对易失性存储器模块13中特定的实体地址(即存储器地址)执行数据写入、数据读取及数据抹除等数据存取行为。
41.缓冲存储器125可包括缓存区14。缓存区14可用以存储多个指令序列。特别是,缓存区14可专用以存放已经被传送给易失性存储器模块13的指令序列和/或已经被易失性存储器模块13执行过的指令序列。此外,缓存区14的深度(depth)可影响存储于缓存区14中的指令序列的总数。
42.解码电路126也称为错误检查与校正电路。解码电路126可用以执行错误检查与校正操作以确保数据的正确性。例如,当数据被从易失性存储器模块13中读取出来时,解码电路126可对所读取的数据执行错误检查与校正操作,以更正此数据中的错误。例如,解码电路126可采用低密度奇偶检查码(low-density parity-check code,ldpc code)或bch码等各式编/解码算法来执行数据的编码与解码,本发明不加以限制。由于解码电路126属于存储器存储装置中常见的电路模块,故在此不对其工作原理多加赘述。
43.在一范例实施例中,存储器管理电路122可将至少一指令序列送入至缓冲电路124中。存储器管理电路122可指示易失性存储器模块13执行缓冲电路124中的指令序列。同时,存储器管理电路122可将缓冲电路124中已经被传送给易失性存储器模块13或者已经被易失性存储器模块13执行过的指令序列存放于缓存区14中。例如,经由缓冲电路124传送给易失性存储器模块13执行的指令序列可以被复制或备份在缓存区14中。
44.在一范例实施例中,在易失性存储器模块13根据来自缓冲电路124的指令序列而执行数据存取的过程中,易失性存储器模块13可能会传送通知信号给存储器管理电路122。此通知信号可反映出易失性存储器模块13发生存取错误。例如,当易失性存储器模块13无法识别来自缓冲电路124的特定指令序列或易失性存储器模块13对特定实体地址的存取失败时,易失性存储器模块13可发送所述通知信号给存储器管理电路122。在一范例实施例中,所述通知信号可包括警示信号,以反映易失性存储器模块13发生存取错误。
45.响应于所述通知信号,存储器管理电路122可指示易失性存储器模块13重新执行缓存区14中的n个指令序列。n可为任意大于1的整数。特别是,n的数值可小于缓存区14的深度或当前存储于缓存区14中的所有指令序列的总数。
46.在一范例实施例中,响应于所述通知信号,易失性存储器模块13可根据缓存区14中的所述n个指令序列,自动执行先前已经执行过的数据存取行为。例如,根据所述n个指令序列中的至少一读取指令序列,易失性存储器模块13可从易失性存储器模块13中的m个实体地址读取数据(也称为第二数据)。m可为任意正整数,且m可相同或不同于n。或者,根据所述n个指令序列中的至少一写入指令序列,易失性存储器模块13可将特定数据存储至易失性存储器模块13中的特定实体地址。
47.在易失性存储器模块13执行缓存区14中的所述n个指令序列(包含从所述m个实体地址读取第二数据)后,存储器管理电路122可根据所述n个指令序列所涉及的所述m个实体
地址,重新发送至少一读取指令序列。所述读取指令序列可用以指示易失性存储器模块13重新从所述m个实体地址读取数据(也称为第一数据)。须注意的是,第一数据与第二数据都是从易失性存储器模块13中相同的m个实体地址中读取出来,但是,第一数据的数据内容可相同或不同于第二数据的数据内容。
48.在一范例实施例中,存储器管理电路122可将所读取的第二数据标记为无效数据,且解码电路126可不解码第二数据。例如,被标记为无效数据的第二数据可被舍弃且不被分析。然而,在读取第一数据后,解码电路126可解码第一数据,以尝试更正第一数据中的错误。尔后,经解码的第一数据可被传送给主机系统或执行其他处理。
49.在一范例实施例中,在检测到所述通知信号后,响应于所述通知信号,存储器管理电路122可停止(或暂停)将新的指令序列加入至缓冲电路124中。同时,存储器管理电路122可指示易失性存储器模块13执行仍暂存于缓冲电路124中的指令序列。在易失性存储器模块13完成缓冲电路124中的所有指令序列后,缓冲电路124中的指令序列可被清空,且存储器管理电路122可指示易失性存储器模块13执行缓存区14中的所述n个指令序列(包含从所述m个实体地址读取第二数据)。
50.在一范例实施例中,响应于所述通知信号,存储器管理电路122可停止(或暂停)将新的指令序列加入至缓冲电路124中。同时,存储器管理电路122可指示易失性存储器模块13执行缓存区14中的所述n个指令序列(包含从所述m个实体地址读取第二数据)。在易失性存储器模块13重新执行缓存区14中的所述n个指令序列后,存储器管理电路122可指示易失性存储器模块13执行仍暂存于缓冲电路124中的指令序列。在易失性存储器模块13完成缓冲电路124中的所有指令序列后,缓冲电路124中的指令序列可被清空。
51.在一范例实施例中,在易失性存储器模块13完成缓冲电路124中的所有指令序列(即缓冲电路124中的指令序列已被清空)且缓存区14中的所述n个指令序列也被重新执行后,存储器管理电路122可根据所述n个指令序列所涉及的所述m个实体地址,重新发送所述至少一读取指令序列,以指示易失性存储器模块13重新从所述m个实体地址读取所述第一数据。
52.图2是根据本发明的范例实施例所示出的对易失性存储器模块执行数据存取的示意图。请参照图2,在一范例实施例中,缓冲电路124可包括地址映射与指令解析电路21、复用器(也称为第一复用器)22、指令寄存器23(1)~23(p)及复用器(也称为第二复用器)24。复用器22连接在地址映射与指令解析电路21的输出端及指令寄存器23(1)~23(p)的输入端之间。复用器24连接至指令寄存器23(1)~23(p)的输出端。
53.当接收到指令201时,地址映射与指令解析电路21可对指令201执行地址映射与指令解析。例如,地址映射与指令解析电路21可对指令201所指示存取的逻辑地址执行地址映射以取得此逻辑地址所映射的实体地址。例如,地址映射与指令解析电路21可解析指令201,以判断指令201的类型(例如为读取指令或写入指令等)。接着,地址映射与指令解析电路21可经由复用器22将指令201所对应的指令序列送入指令寄存器23(1)~23(p)的其中之一。复用器24可根据预设规则,依序输出指令寄存器23(1)~23(p)中的指令序列。例如,在轮到指令201所对应的指令序列输出时,指令寄存器23(1)~23(p)的其中之一可经由复用器24将指令201所对应的指令序列传送给易失性存储器模块13,以供易失性存储器模块13执行相应的存取操作。
54.另一方面,经由复用器24传送给易失性存储器模块13的指令序列也会逐一备份在缓存区14中。例如,当前备份在缓存区14中的指令序列202(1)~202(k)可包括新加入至缓存区14中的指令201所对应的指令序列。此外,指令序列202(1)~202(k)可依照先进先出(first in first out,fifo)的模式在缓存区14中排序。
55.在易失性存储器模块13接收并执行指令201所对应的指令序列之后,假设指令201为读取指令,则易失性存储器模块13可将对应于指令201而从易失性存储器模块13中的特定实体地址读取出来的数据传送给解码电路126进行解码。或者,若指令201为写入指令,则易失性存储器模块13可将指令201所指示存储的数据存储至易失性存储器模块13中的特定实体地址。
56.图3是根据本发明的范例实施例所示出的对易失性存储器模块执行数据存取时产生通知信号的示意图。请参照图3,在易失性存储器模块13根据来自缓冲电路124的指令序列而执行数据存取的过程中,易失性存储器模块13可能会传送通知信号301给存储器管理电路122。通知信号301可反映出易失性存储器模块13发生存取错误。例如,当易失性存储器模块13无法识别来自缓冲电路124的特定指令序列时,易失性存储器模块13可产生通知信号301。
57.图4是根据本发明的范例实施例所示出的根据通知信号重新执行缓存区中的n个指令序列的示意图。请参照图4,接续于图3的范例实施例,响应于通知信号301,存储器管理电路122可从缓存区14中界定出n个指令序列301(1)~301(n)作为需重新执行的指令序列。例如,指令序列301(1)~301(n)可为缓存区14中相对较晚被加入缓存区14中的指令序列。接着,易失性存储器模块13可自动重新执行指令序列301(1)~301(n)。例如,指令序列301(1)~301(n)中的指令序列301(i)可从缓存区14直接被传送给易失性存储器模块13执行。在易失性存储器模块13重新执行完指令序列301(1)~301(n)之后,缓存区14可被清空。
58.另一方面,响应于通知信号301,存储器管理电路122可停止将新的指令序列加入至缓冲电路124中。在缓存区14被清空后(即指令序列301(1)~301(n)被重新执行过后),存储器管理电路122可指示易失性存储器模块13尽快执行还存放在指令寄存器23(1)~23(p)中的剩余的指令序列。在易失性存储器模块13执行完毕指令寄存器23(1)~23(p)中剩余的指令序列后,指令寄存器23(1)~23(p)(或缓冲电路124)中的指令序列也可被清空。
59.在一范例实施例中,假设指令序列301(1)~301(n)中包含针对易失性存储器模块13中的m个实体地址的读取指令序列。在重新执行指令序列301(1)~301(n)的过程中,从所述m个实体地址读取出来的数据(即第二数据)会被存储器管理电路122标记为无效数据,且所述m个实体地址可被存储器管理电路122记载下来。被标记为无效数据的第二数据可被舍弃且不被分析。例如,解码电路126可不对第二数据进行解码。在清空缓冲电路124与缓存区14之后,存储器管理电路122可根据所记载的所述m个实体地址重新从易失性存储器模块13中的所述m个实体地址读取数据(即第一数据)。
60.图5是根据本发明的范例实施例所示出的在执行缓存区中的n个指令序列后,重新发送读取指令序列的示意图。请参照图5,接续于图4的范例实施例,在清空缓冲电路124与缓存区14后,存储器管理电路122可根据指令序列301(1)~301(n)所涉及的所述m个实体地址,经由缓冲电路124重新发送至少一读取指令序列至易失性存储器模块13,以指示易失性存储器模块13重新从所述m个实体地址读取数据(即第一数据)。例如,存储器管理电路122
可根据所述m个实体地址的其中之一,经由缓冲电路124重新发送指令序列401至易失性存储器模块13。指令序列401可指示易失性存储器模块13从所述m个实体地址的其中之一读取数据并将所读取的数据(即第一数据)回传给解码电路126进行解码,以尝试更正第一数据中的错误。尔后,经解码的第一数据可被传送给主机系统或执行其他处理。
61.在一范例实施例中,相较于第二数据的读取过程中可能会读取到后续将被覆写的旧数据,第一数据的读取是在易失性存储器模块13完成缓冲电路124中的所有指令序列且缓存区14中的所述n个指令序列也被重新执行后执行,因此可确保后续所读取的第一数据都是最新数据,且减少发生读取到的数据中存在新旧数据混杂的情形。另一方面,通过使用第一数据来取代第二数据,可提高在检测到所述通知信号后,对易失性存储器模块13执行数据重读所读取到的数据的正确性,从而提高系统的操作稳定度。
62.须注意的是,图3至图5的范例实施例中的缓冲电路124的架构仅为范例,非用以限定本发明。在另一范例实施例中,缓冲电路124的内部结构也可被调整,本发明不加以限制。例如,在一范例实施例中,地址映射与指令解析电路21也可视为存储器管理电路122的一部分。
63.在一范例实施例中,图1的存储器存储装置10也可包括非易失性存储器模块与其控制器。存储器存储装置10可与主机系统一起使用,以使主机系统可将数据写入至存储器存储装置10或从存储器存储装置10中读取数据。
64.图6是根据本发明的范例实施例所示出的主机系统、存储器存储装置及输入/输出(i/o)装置的示意图。图7是根据本发明的范例实施例所示出的主机系统、存储器存储装置及i/o装置的示意图。
65.请参照图6与图7,主机系统61可包括处理器611、随机存取存储器(ram)612、只读存储器(read only memory,rom)613及数据传输接口614。处理器611、随机存取存储器612、只读存储器613及数据传输接口614可连接至系统总线(system bus)610。
66.在一范例实施例中,主机系统61可通过数据传输接口614与存储器存储装置60连接。例如,主机系统61可经由数据传输接口614将数据存储至存储器存储装置60或从存储器存储装置60中读取数据。此外,主机系统61可通过系统总线610与i/o装置62连接。例如,主机系统61可经由系统总线610将输出信号传送至i/o装置62或从i/o装置62接收输入信号。
67.在一范例实施例中,处理器611、随机存取存储器612、只读存储器613及数据传输接口614可设置在主机系统61的主机板70上。数据传输接口614的数目可以是一或多个。通过数据传输接口614,主机板70可以经由有线或无线方式连接至存储器存储装置60。
68.在一范例实施例中,存储器存储装置60可例如是u盘701、存储卡702、固态硬盘(solid state drive,ssd)703或无线存储器存储装置704。无线存储器存储装置704可例如是近场通信(near field communication,nfc)存储器存储装置、无线传真(wifi)存储器存储装置、蓝牙(bluetooth)存储器存储装置或低功耗蓝牙存储器存储装置(例如,ibeacon)等以各式无线通信技术为基础的存储器存储装置。此外,主机板70也可以通过系统总线610连接至全球定位系统(global positioning system,gps)模块705、网络接口卡706、无线传输装置707、键盘708、屏幕709、喇叭710等各式i/o装置。例如,在一范例实施例中,主机板70可通过无线传输装置707存取无线存储器存储装置704。
69.在一范例实施例中,主机系统61为计算机系统。在一范例实施例中,主机系统61可
为可实质地与存储器存储装置60配合以存储数据的任意系统。在一范例实施例中,存储器存储装置60与主机系统61可分别包括图8的存储器存储装置80与主机系统81。
70.图8是根据本发明的范例实施例所示出的主机系统与存储器存储装置的示意图。
71.请参照图8,存储器存储装置80可与主机系统81搭配使用以存储数据。例如,主机系统81可以是数码相机、摄像机、通信装置、音频播放器、视频播放器或平板计算机等系统。例如,存储器存储装置80可为主机系统81所使用的安全数字(secure digital,sd)卡82、小型快闪(compact flash,cf)卡83或嵌入式存储装置84等各式非易失性存储器存储装置。嵌入式存储装置84包括嵌入式多媒体卡(embedded multi media card,emmc)841和/或嵌入式多芯片封装(embedded multi chip package,emcp)存储装置842等各类型将存储器模块直接连接于主机系统的基板上的嵌入式存储装置。
72.图9是根据本发明的范例实施例所示出的存储器存储装置的示意图。
73.请参照图9,存储器存储装置60包括连接接口单元91、存储器控制电路单元92、可复写式非易失性存储器模块93及非易失性存储器模块94。
74.连接接口单元91用以将存储器存储装置60连接主机系统61。存储器存储装置60可经由连接接口单元91与主机系统61通信。例如,连接接口单元91可相容于pci express标准、sata标准、pata标准、ieee 1394标准、usb标准、sd标准、uhs-i标准、uhs-ii标准、ms标准、mmc标准、emmc标准、ufs标准、cf标准、ide标准或其他适合的数据传输标准。连接接口单元91可与存储器控制电路单元92封装在一个芯片中,或者连接接口单元91是布设于一包含存储器控制电路单元92的芯片外。
75.存储器控制电路单元92连接至连接接口单元91、可复写式非易失性存储器模块93及易失性存储器模块94。存储器控制电路单元92用以执行以硬件型式或固件型式实作的多个逻辑门或控制指令并且根据主机系统61的指令在可复写式非易失性存储器模块93中进行数据的写入、读取与抹除等运作。此外,存储器控制电路单元92可包括图1的存储器控制电路单元12,以控制易失性存储器模块94。相关的操作细节皆以详述如上,在此不多加赘述。
76.可复写式非易失性存储器模块93用以存储主机系统61所写入的数据。可复写式非易失性存储器模块93可包括单阶存储单元(single level cell,slc)nand型快闪存储器模块(即,一个存储单元中可存储1个比特的快闪存储器模块)、二阶存储单元(multi level cell,mlc)nand型快闪存储器模块(即,一个存储单元中可存储2个比特的快闪存储器模块)、三阶存储单元(triple level cell,tlc)nand型快闪存储器模块(即,一个存储单元中可存储3个比特的快闪存储器模块)、四阶存储单元(quad level cell,qlc)nand型快闪存储器模块(即,一个存储单元中可存储4个比特的快闪存储器模块)、其他快闪存储器模块或其他具有相同特性的存储器模块。
77.可复写式非易失性存储器模块93中的每一个存储单元是以电压(以下也称为临界电压)的改变来存储一或多个比特。具体来说,每一个存储单元的控制门(control gate)与通道之间有一个电荷捕捉层。通过施予一写入电压至控制门,可以改变电荷补捉层的电子量,进而改变存储单元的临界电压。此改变存储单元的临界电压的操作也称为“把数据写入至存储单元”或“程序化(programming)存储单元”。随着临界电压的改变,可复写式非易失性存储器模块43中的每一个存储单元具有多个存储状态。通过施予读取电压可以判断一个
存储单元是属于哪一个存储状态,因此取得此存储单元所存储的一或多个比特。
78.在一范例实施例中,可复写式非易失性存储器模块93的存储单元可构成多个实体程序化单元,并且此些实体程序化单元可构成多个实体抹除单元。具体来说,同一条字线上的存储单元可组成一或多个实体程序化单元。若每一个存储单元可存储2个以上的比特,则同一条字线上的实体程序化单元可至少可被分类为下实体程序化单元与上实体程序化单元。例如,一存储单元的最低有效比特(least significant bit,lsb)是属于下实体程序化单元,并且一存储单元的最高有效比特(most significant bit,msb)是属于上实体程序化单元。一般来说,在mlc nand型快闪存储器中,下实体程序化单元的写入速度会大于上实体程序化单元的写入速度,和/或下实体程序化单元的可靠度是高于上实体程序化单元的可靠度。
79.在一范例实施例中,实体程序化单元为程序化的最小单元。即,实体程序化单元为写入数据的最小单元。例如,实体程序化单元可为实体页(page)或是实体扇(sector)。若实体程序化单元为实体页,则此些实体程序化单元可包括数据比特区与冗余(redundancy)比特区。数据比特区包含多个实体扇,用以存储用户数据,而冗余比特区用以存储系统数据(例如,错误更正码等管理数据)。在一范例实施例中,数据比特区包含32个实体扇,且一个实体扇的大小为512字节(byte,b)。然而,在其他范例实施例中,数据比特区中也可包含8个、16个或数目更多或更少的实体扇,并且每一个实体扇的大小也可以是更大或更小。另一方面,实体抹除单元为抹除的最小单位。也即,每一实体抹除单元含有最小数目的一并被抹除的存储单元。例如,实体抹除单元为实体块(block)。
80.图10是根据本发明的范例实施例所示出的数据重读方法的流程图。请参照图10,在步骤1001中,检测来自易失性存储器模块的通知信号。在步骤1002中,响应于所述通知信号,指示所述易失性存储器模块执行缓存区中的n个指令序列。在所述易失性存储器模块执行所述n个指令序列后,在步骤1003中,根据所述n个指令序列所涉及的m个实体地址,发送至少一读取指令序列,以指示所述易失性存储器模块从所述m个实体地址读取第一数据。
81.然而,图10中各步骤已详细说明如上,在此便不再赘述。值得注意的是,图10中各步骤可以实作为多个程序码或是电路,本案不加以限制。此外,图10的方法可以搭配以上范例实施例使用,也可以单独使用,本案不加以限制。
82.综上所述,本发明的范例实施例可在接收到来自易失性存储器模块的通知信号后,确保通过数据重读所读取到的数据(即第一数据)皆为最新数据,减少新旧数据混杂的情形发生,进而提高系统的操作稳定度。
83.最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。