CN106775436B - 数据存取方法、存储器控制电路单元与存储器 - Google Patents
数据存取方法、存储器控制电路单元与存储器 Download PDFInfo
- Publication number
- CN106775436B CN106775436B CN201510824019.2A CN201510824019A CN106775436B CN 106775436 B CN106775436 B CN 106775436B CN 201510824019 A CN201510824019 A CN 201510824019A CN 106775436 B CN106775436 B CN 106775436B
- Authority
- CN
- China
- Prior art keywords
- data
- memory
- instruction
- control circuit
- unit
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
- G06F3/0631—Configuration or reconfiguration of storage systems by allocating resources to storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Read Only Memory (AREA)
Abstract
本发明提供一种数据存取方法、存储器控制电路单元与存储器,所述存储器中配置有可复写式非易失性存储器模块与缓冲存储器。本方法包括:接收至少一操作指令,此至少一操作指令包括至少一读取指令;以及计数至少一读取指令的累计数据量,且当累计数据量达到数据量门槛值时,将缓冲存储器中的数据写入至可复写式非易失性存储器模块中。本发明可降低主机系统读取操作的时间,并有效提升内存控制电路单元或内存管理电路读取数据时的效率。
Description
技术领域
本发明是涉及一种数据存取方法,以及使用此方法的存储器控制电路单元与存储器。
背景技术
数字相机、手机与MP3在这几年来的成长十分迅速,使得消费者对储存媒体的需求也急速增加。由于可复写式非易失性存储器(rewritable non-volatile memory)具有数据非易失性、省电、体积小、无机械结构、读写速度快等特性,最适于可携式电子产品,例如笔记型电脑。固态硬盘就是一种以快闪存储器作为储存媒体的存储器。因此,近年快闪存储器产业成为电子产业中相当热门的一环。
在使用可复写式非易失性存储器作为储存媒体的存储器中,通常也会配置缓冲存储器,用以暂存程序码、数据或是用于存储器在执行背景(background)工作时数据的暂存区域,并且此些暂存程序码与数据会被储存在缓冲存储器的缓存单元中。例如,当接收到写入指令而执行写入操作时,存储器的控制器会将对应写入指令的数据写入缓存单元,并且更新逻辑单元-缓存单元映射表以记录每一缓存单元所对应的逻辑单元。并且当接收到读取指令而执行读取操作时,存储器的控制器会根据所述逻辑单元-缓存单元映射表,搜寻储存对应读取指令的数据的缓存单元,并从所搜寻到的缓存单元中读取所述数据。
然而,当缓冲存储器中已暂存大量的数据时,存储器的控制器需消耗许多时间搜寻逻辑单元-缓存单元映射表,由此造成主机系统读取时间过长且读取速度下降,使存储器的整体性能下降。因此,如何提升读取数据时的效率以使得存储器的整体性能提升,为本领域技术人员所关心的议题。
发明内容
本发明提供一种数据存取方法、存储器控制电路单元与存储器,可降低主机系统读取操作的时间,并有效提升存储器控制电路单元(或存储器管理电路)读取数据时的效率。
本发明的一范例实施例提出一种数据存取方法,用于一存储器,其中此存储器包括一可复写式非易失性存储器模块与一缓冲存储器。本数据存取方法包括:接收至少一操作指令,且所述至少一操作指令包括至少一读取指令;以及计数所述至少一读取指令的一累计数据量,且当所述累计数据量达到一数据量门槛值时,将所述缓冲存储器中的数据写入至可复写式非易失性存储器模块中。
在本发明的一范例实施例中,上述至少一操作指令包括至少一写入指令,且所述至少一操作指令中的至少一写入指令以外的操作指令均为读取指令。
在本发明的一范例实施例中,上述缓冲存储器具有多个缓存单元,且所述数据存取方法还包括:判断所述缓冲存储器中的有效数据计数值是否为预定值。倘若有效数据计数值为预定值时,从可复写式非易失性存储器模块中读取对应所述至少一读取指令的数据,反之,倘若所述有效数据计数值非为预定值时,根据一逻辑单元-缓存单元映射表从缓存单元中读取对应所述至少一读取指令的数据,其中计数至少一读取指令的累计数据量的步骤是在判断有效数据计数值非为预定值之后执行。
在本发明的一范例实施例中,上述预定值为零。
在本发明的一范例实施例中,上述数据存取方法还包括:当接收到写入指令时,将所述累计数据量归零,以及将对应写入指令的写入数据暂存至缓存单元之中未被占用的至少一个缓存单元,且计数有效数据计数值。
在本发明的一范例实施例中,上述数据存取方法,还包括:将缓存单元中的数据写入至可复写式非易失性存储器模块中之后,将所述有效数据计数值归零。
本发明的一范例实施例提出一种存储器控制电路单元,用于控制可复写式非易失性存储器模块。本存储器控制电路单元包括主机接口、存储器接口、缓冲存储器及存储器管理电路。主机接口耦接至一主机系统,存储器接口耦接至可复写式非易失性存储器模块,缓冲存储器耦接至主机接口及存储器接口,存储器管理电路耦接至主机接口、存储器接口与缓冲存储器。存储器管理电路用以接收至少一操作指令,其中所述至少一操作指令包括至少一读取指令。存储器管理电路会计数至少一读取指令的累计数据量,且当累计数据量达到数据量门槛值时,将缓冲存储器中的数据写入至可复写式非易失性存储器模块中。
在本发明的一范例实施例中,上述至少一操作指令包括至少一写入指令,且所述至少一操作指令中的至少一写入指令以外的操作指令均为读取指令。
在本发明的一范例实施例中,上述缓冲存储器具有多个缓存单元,且存储器管理电路会判断所述缓冲存储器中的有效数据计数值是否为预定值。倘若有效数据计数值为预定值时,存储器管理电路会从可复写式非易失性存储器模块中读取对应所述至少一读取指令的数据。反之,倘若有效数据计数值非为预定值时,存储器管理电路会根据逻辑单元-缓存单元映射表从缓存单元中读取对应所述至少一读取指令的数据,其中存储器管理电路是在判断有效数据计数值非为零之后,执行计数至少一读取指令的累计数据量的操作。
在本发明的一范例实施例中,上述预定值为零。
在本发明的一范例实施例中,上述存储器管理电路会在当接收到一写入指令时,将所述累计数据量归零,以及将对应此写入指令的写入数据暂存至缓存单元之中未被占用的至少一个缓存单元,且计数所述有效数据计数值。
在本发明的一范例实施例中,在将缓存单元中的数据写入至可复写式非易失性存储器模块中之后,所述存储器管理电路会将所述有效数据计数值归零。
本发明的一范例实施例提出一种存储器,其包括连接接口单元、可复写式非易失性记忆体模块及上述的存储器控制电路单元。连接接口单元耦接至主机系统,存储器控制电路单元耦接至连接接口单元与可复写式非易失性存储器模块并且包括缓冲存储器。存储器控制电路单元用以接收至少一操作指令,且所述至少一操作指令包括至少一读取指令。存储器控制电路单元会计数至少一读取指令的累计数据量,且当累计数据量达到数据量门槛值时,将缓冲存储器中的数据写入至可复写式非易失性存储器模块中。
在本发明的一范例实施例中,上述至少一操作指令包括至少一写入指令,且所述至少一操作指令中的至少一写入指令以外的操作指令均为读取指令。
在本发明的一范例实施例中,上述缓冲存储器具有多个缓存单元,且存储器控制电路单元会判断缓冲存储器中的有效数据计数值是否为预定值。倘若有效数据计数值为预定值时,存储器控制电路单元会从可复写式非易失性存储器模块中读取对应所述至少一读取指令的数据。反之,倘若有效数据计数值非为预定值时,存储器控制电路单元会根据逻辑单元-缓存单元映射表从缓存单元中读取对应所述至少一读取指令的数据,其中存储器控制电路单元是在判断有效数据计数值非为零之后,执行计数至少一读取指令的累计数据量的操作。
在本发明的一范例实施例中,上述预定值为零。
在本发明的一范例实施例中,上述存储器控制电路单元会在当接收到一写入指令时,将所述累计数据量归零,以及将对应此写入指令的写入数据暂存至缓存单元之中未被占用的至少一个缓存单元,且计数所述有效数据计数值。
在本发明的一范例实施例中,将缓存单元中的数据写入至可复写式非易失性存储器模块中之后,上述存储器控制电路单元会将所述有效数据计数值归零。
基于上述,上述范例实施例是藉由计数连续接收的读取指令的累计数据量以将缓冲存储器中的数据清空并写入可复写式非易失性存储器模块。如此一来,可在缓冲存储器没有储存有效数据时,省略执行搜寻逻辑单元-缓存单元映射表的操作,且在缓冲存储器储存有有效数据时,避免逻辑单元-缓存单元映射表过大而造成的存储器控制电路单元(或存储器管理电路)的读取速度下降的问题。据此,上述范例实施例可有效提升存储器的整体性能。
为让本发明的上述特征和优点能更明显易懂,下文特举实施例,并配合附图作详细说明如下。
附图说明
图1是根据本发明的一范例实施例所显示的主机系统、存储器及输入/输出(I/O)设备的示意图。
图2是根据本发明的另一范例实施例所显示的主机系统、存储器及I/O设备的示意图。
图3是根据本发明的另一范例实施例所显示的主机系统与存储器的示意图。
图4是根据本发明的一范例实施例所显示的存储器的概要方框图。
图5是根据一范例实施例所显示的存储器控制电路单元的概要方框图。
图6是根据一范例实施例所显示的缓冲存储器的示意图。
图7A与图7B是根据一范例实施例所显示的管理实体抹除单元的范例示意图。
图8A~图8C是根据一范例实施例所显示的存储器控制电路单元(或存储器管理电路)执行数据存取方法的范例示意图。
图9与图10是根据本发明的一范例实施例所显示的数据存取方法的流程图。
附图标记:
10、30:存储器
11、31:主机系统
12:I/O设备
110:系统总线
111:处理器
112:随机存取存储器(RAM)
113:只读存储器(ROM)
114:数据传输接口
20:主机板
201:随身盘
202:存储卡
203:固态硬盘
204:无线存储器
205:全球定位系统(GPS)模块
206:网络接口卡
207:无线传输设备
208:键盘
209:屏幕
210:喇叭
32:SD卡
33:CF卡
34:嵌入式存储器
341:嵌入式多媒体卡(eMMC)
342:嵌入式多芯片封装存储器(eMCP)
402:连接接口单元
404:存储器控制电路单元
406:可复写式非易失性存储器模块
410(0)~410(N):实体抹除单元
502:存储器管理电路
504:主机接口
506:存储器接口
508:缓冲存储器
510:电源管理电路
512:错误检查与校正电路
610(0)~610(511):缓存单元
702:数据区
704:闲置区
706:系统区
708:取代区
710(0)~710(D):逻辑地址
800:逻辑单元-缓存单元映射表
RCmd1、RCmd2:读取指令
S801、S803、S805:数据存取方法的阶段
S901、S903、S1001、S1003、S1005、S1007、S1009:数据存取方法的步骤
具体实施方式
一般而言,存储器(亦称,存储器储存系统)包括可复写式非易失性存储器模块与控制器(亦称,控制电路)。通常存储器是与主机系统一起使用,以使主机系统可将数据写入至存储器或从存储器中读取数据。
图1是根据本发明的一范例实施例所显示的主机系统、存储器及输入/输出(I/O)设备的示意图。图2是根据本发明的另一范例实施例所显示的主机系统、存储器及I/O设备的示意图。
请参照图1与图2,主机系统11一般包括处理器111、随机存取存储器(randomaccess memory,RAM)112、只读存储器(read only memory,ROM)113及数据传输接口114。处理器111、随机存取存储器112、只读存储器113及数据传输接口114均耦接至系统总线(system bus)110。
在本范例实施例中,主机系统11是通过数据传输接口114与存储器10耦接。例如,主机系统11可经由数据传输接口114将数据写入至存储器10或从存储器10中读取数据。此外,主机系统11是通过系统总线110与I/O设备12耦接。例如,主机系统11可经由系统总线110将输出信号传送至I/O设备12或从I/O设备12接收输入信号。
在本范例实施例中,处理器111、随机存取存储器112、只读存储器113及数据传输接口114是可设置在主机系统11的主机板20上。数据传输接口114的数目可以是一或多个。通过数据传输接口114,主机板20可以经由有线或无线的方式耦接至存储器10。耦接或无线传输至存储器10,其中存储器10可例如是随身盘201、存储卡202、固态硬盘(Solid StateDrive,SSD)203或无线存储器204。其中,无线存储器204可例如是近距离无线通信(NearField Communication,NFC)存储器、无线传真(WiFi)存储器、蓝牙(Bluetooth)存储器或低功耗蓝牙存储器(例如,iBeacon)等以各式无线通信技术为基础的各种类型存储器。此外,主机板20也可以通过系统总线110耦接至全球定位系统(Global Positioning System,GPS)模块205、网络接口卡206、无线传输设备207、键盘208、屏幕209、喇叭210等各种类型的I/O设备。例如,在一范例实施例中,主机板20可通过无线传输设备207存取无线存储器204。
在一范例实施例中,所提及的主机系统为可实质地与存储器配合以储存数据的任意系统。虽然在上述范例实施例中,主机系统是以电脑系统来作说明,然而,图3是根据本发明的另一范例实施例所显示的主机系统与存储器的示意图。请参照图3,在另一范例实施例中,主机系统31也可以是数字相机、摄像机、通信设备、音频播放器、视频播放器或平板电脑等系统,而存储器30可为其所使用的SD卡32、CF卡33或嵌入式存储器34等各式非易失性存储器。嵌入式存储器34包括嵌入式多媒体卡(embedded MMC,eMMC)341和/或嵌入式多芯片封装存储器(embedded Multi Chip Package,eMCP)342等各类型将存储器模块直接耦接于主机系统的基板上的嵌入式存储器。
图4是根据本发明的一范例实施例所显示的存储器的概要方框图。
请参照图4,存储器10包括连接接口单元402、存储器控制电路单元404与可复写式非易失性存储器模块406。
在本范例实施例中,连接接口单元402是相容于序列先进附件(Serial AdvancedTechnology Attachment,SATA)标准。然而,必须了解的是,本发明不限于此,连接接口单元402亦可以是符合并列先进附件(Parallel Advanced Technology Attachment,PATA)标准、电气和电子工程师协会(Institute of Electrical and Electronic Engineers,IEEE)1394标准、高速周边零件连接接口(Peripheral Component Interconnect Express,PCI Express)标准、通用序列总线(Universal Serial Bus,USB)标准、安全数字(SecureDigital,SD)接口标准、超高速一代(Ultra High Speed-I,UHS-I)接口标准、超高速二代(Ultra High Speed-II,UHS-II)接口标准、记忆棒(Memory Stick,MS)接口标准、多芯片封装(Multi-Chip Package)接口标准、多媒体储存卡(Multi Media Card,MMC)接口标准、嵌入式多媒体储存卡(Embedded Multimedia Card,eMMC)接口标准、通用快闪存储器(Universal Flash Storage,UFS)接口标准、嵌入式多芯片封装(embedded Multi ChipPackage,eMCP)接口标准、小型快闪(Compact Flash,CF)接口标准、整合式驱动电子接口(Integrated Device Electronics,IDE)标准或其他适合的标准。连接接口单元402可与存储器控制电路单元404封装在一个芯片中,或者连接接口单元402是布设于一包含存储器控制电路单元404的芯片外。
存储器控制电路单元404用以执行以硬件形式或固件形式实作的多个逻辑闸或控制指令,并且根据主机系统11的指令在可复写式非易失性存储器模块406中进行数据的写入、读取与抹除等运作。
可复写式非易失性存储器模块406是耦接至存储器控制电路单元404,并且用以储存主机系统11所写入的数据。可复写式非易失性存储器模块406具有实体抹除单元410(0)~410(N)。例如,实体抹除单元410(0)~410(N)可属于同一个存储器晶粒(die)或者属于不同的存储器晶粒。每一实体抹除单元分别具有多个实体程序化单元,其中属于同一个实体抹除单元的实体程序化单元可被独立地写入且被同时地抹除。然而,必须了解的是,本发明不限于此,每一实体抹除单元是可由64个实体程序化单元、256个实体程序化单元或其他任意个实体程序化单元所组成。
更详细来说,实体抹除单元为抹除的最小单位。即,每一实体抹除单元含有最小数目之一并被抹除的存储胞。实体程序化单元为程序化的最小单元。即,实体程序化单元为写入数据的最小单元。每一实体程序化单元通常包括数据比特区与冗余比特区。数据比特区包含多个实体存取地址用以储存使用者的数据,而冗余比特区用以储存系统的数据(例如,控制资讯与错误更正码)。在本范例实施例中,每一个实体程序化单元的数据比特区中会包含8个实体存取地址,且一个实体存取地址的大小为512字节(byte)。然而,在其他范例实施例中,数据比特区中也可包含数目更多或更少的实体存取地址,本发明并不限制实体存取地址的大小以及个数。例如,在一范例实施例中,实体抹除单元为实体区块,并且实体程序化单元为实体页面或实体扇区,但本发明不以此为限。
在本范例实施例中,可复写式非易失性存储器模块406为多阶记忆胞(MultiLevel Cell,MLC)NAND型快闪存储器模块(即,一个存储胞中可储存2个数据比特的快闪存储器模块)。然而,本发明不限于此,可复写式非易失性存储器模块406亦可是单阶存储胞(Single Level Cell,SLC)NAND型快闪存储器模块(即,一个存储胞中可储存1个数据比特的快闪存储器模块)、复数阶存储胞(Trinary Level Cell,TLC)NAND型快闪存储器模块(即,一个存储胞中可储存3个数据比特的快闪存储器模块)、其他快闪存储器模块或其他具有相同特性的存储器模块。
图5是根据一范例实施例所显示的存储器控制电路单元的概要方框图。
请参照图5,存储器控制电路单元404包括存储器管理电路502、主机接口504与存储器接口506。
存储器管理电路502用以控制存储器控制电路单元404的整体运作。具体来说,存储器管理电路502具有多个控制指令,并且在存储器10运作时,此些控制指令会被执行以进行数据的写入、读取与抹除等运作。
在本范例实施例中,存储器管理电路502的控制指令是以固件形式来实作。例如,存储器管理电路502具有微处理器单元(未显示)与只读存储器(未显示),并且此些控制指令是被烧录至此只读存储器中。当存储器10运作时,此些控制指令会由微处理器单元来执行以进行数据的写入、读取与抹除等运作。
在本发明另一范例实施例中,存储器管理电路502的控制指令亦可以程序码形式储存于可复写式非易失性存储器模块406的特定区域(例如,存储器模块中专用于存放系统数据的系统区)中。此外,存储器管理电路502具有微处理器单元(未显示)、只读存储器(未显示)及随机存取存储器(未显示)。特别是,此只读存储器具有驱动码,并且当存储器控制电路单元404被致能时,微处理器单元会先执行此驱动码段来将储存于可复写式非易失性存储器模块406中的控制指令载入至存储器管理电路502的随机存取存储器中。之后,微处理器单元会运转此些控制指令以进行数据的写入、读取与抹除等运作。
主机接口504是耦接至存储器管理电路502并且用以耦接至连接接口单元402,以接收与识别主机系统11所传送的指令与数据。也就是说,主机系统11所传送的指令与数据会通过主机接口504来传送至存储器管理电路502。在本范例实施例中,主机接口504是相容于SATA标准。然而,必须了解的是本发明不限于此,主机接口504亦可以是相容于PATA标准、IEEE 1394标准、PCI Express标准、USB标准、UHS-I接口标准、UHS-II接口标准、SD标准、MS标准、MMC标准、CF标准、IDE标准或其他适合的数据传输标准。
存储器接口506是耦接至存储器管理电路502并且用以存取可复写式非易失性存储器模块406。也就是说,欲写入至可复写式非易失性存储器模块406的数据会经由存储器接口506转换为可复写式非易失性存储器模块406所能接受的格式。
在一范例实施例中,存储器控制电路单元404还包括缓冲存储器508、电源管理电路510与错误检查与校正电路512。
缓冲存储器508是耦接至存储器管理电路502并且用以暂存来自于主机系统11的数据与指令或来自于可复写式非易失性存储器模块406的数据。
图6是根据一范例实施例所显示的缓冲存储器的示意图。
请参照图6,在本范例实施例中,缓冲存储器508具有512个缓存单元(即,缓存单元610(0)~610(511)),且每一个缓存单元的大小为4KB。此外,在本范例实施例中,四个缓存单元的大小为对应一个可复写式非易失性存储器的实体程序化单元的大小。然而,必须了解的是,本范例实施例不限定配置在缓冲存储器508中的缓存单元的个数、缓存单元的大小以及主机系统11所传送的数据的大小。例如,在其他范例实施例中,缓冲存储器508中缓存单元的个数可以多于或少于512个缓存单元的大小。此外,主机系统11例如是以4KB为单位来传送或存取数据,或者主机系统11每次所传送或存取的数据的大小亦可以大于或小于4KB。
缓存单元610(0)~610(511)用以暂存来自于主机系统11欲写入至可复写式非易失性存储器模块406的数据与指令,或来自于可复写式非易失性存储器模块406的数据。此外,缓存单元610(0)~610(511)亦可用于存储器10中存储器控制电路单元404(或存储器管理电路502)执行背景工作时数据的暂存区域。例如,背景工作为映射表储存、数据合并(garbage collection)和/或错误校正(error correction)等。
请再参照图5,电源管理电路510是耦接至存储器管理电路502并且用以控制存储器10的电源。
错误检查与校正电路512是耦接至存储器管理电路502并且用以执行错误检查与校正程序以确保数据的正确性。具体来说,当存储器管理电路502从主机系统11中接收到写入指令时,错误检查与校正电路512会为对应此写入指令的数据产生对应的错误检查与校正码(Error Checking and Correcting Code,ECC Code),并且存储器管理电路502会将对应此写入指令的数据与对应的错误检查与校正码写入至可复写式非易失性存储器模块406中。之后,当存储器管理电路502从可复写式非易失性存储器模块406中读取数据时会同时读取此数据对应的错误检查与校正码,并且错误检查与校正电路512会依据此错误检查与校正码对所读取的数据执行错误检查与校正程序。
图7A与图7B是根据一范例实施例所显示的管理实体抹除单元的范例示意图。
必须了解的是,在此描述可复写式非易失性存储器模块406的实体抹除单元的运作时,以“提取”、“分组”、“划分”、“关联”等词来操作实体抹除单元是逻辑上的概念。也就是说,可复写式非易失性存储器模块的实体抹除单元的实际位置并未更动,而是逻辑上对可复写式非易失性存储器模块的实体抹除单元进行操作。
请参照图7A,存储器控制电路单元404(或存储器管理电路502)会将实体抹除单元410(0)~410(N)逻辑地分组为数据区702、闲置区704、系统区706与取代区708。
逻辑上属于数据区702与闲置区704的实体抹除单元是用以储存来自于主机系统11的数据。具体来说,数据区702的实体抹除单元是被视为已储存数据的实体抹除单元,而闲置区704的实体抹除单元是用以替换数据区702的实体抹除单元。也就是说,当从主机系统11接收到写入指令与欲写入的数据时,存储器管理电路502会从闲置区704中提取实体抹除单元,并且将数据写入至所提取的实体抹除单元中,以替换数据区702的实体抹除单元。
逻辑上属于系统区706的实体抹除单元是用以记录系统数据。例如,系统数据包括关于可复写式非易失性存储器模块的制造商与型号、可复写式非易失性存储器模块的实体抹除单元数、每一实体抹除单元的实体程序化单元数等。
逻辑上属于取代区708中的实体抹除单元是用于坏实体抹除单元取代程序,以取代损坏的实体抹除单元。具体来说,倘若取代区708中仍存有正常的实体抹除单元并且数据区702的实体抹除单元损坏时,存储器管理电路502会从取代区708中提取正常的实体抹除单元来更换损坏的实体抹除单元。
特别是,数据区702、闲置区704、系统区706与取代区708的实体抹除单元的数量会依据不同的存储器规格而有所不同。此外,必须了解的是,在存储器10的运作中,实体抹除单元关联至数据区702、闲置区704、系统区706与取代区708的分组关系会动态地变动。例如,当闲置区704中的实体抹除单元损坏而被取代区708的实体抹除单元取代时,则原本取代区708的实体抹除单元会被关联至闲置区704。
请参照图7B,如上所述,数据区702与闲置区704的实体抹除单元是以轮替方式来储存主机系统11所写入的数据。在本范例实施例中,存储器控制电路单元404(或存储器管理电路502)会配置逻辑单元710(0)~710(D)给主机系统11,以映射至数据区702中部份的实体抹除单元414(0)~410(F-1),以利于在以上述轮替方式来储存数据的实体抹除单元中进行数据存取。特别是,主机系统11会通过逻辑单元710(0)~710(D)来存取数据区702中的数据。此外,存储器控制电路单元404(或存储器管理电路502)会建立逻辑-实体映射表(logical-physical mapping table),以记录逻辑单元与实体抹除单元之间的映射关系。此逻辑-实体映射表还可以例如是记录逻辑单元与实体程序化单元、逻辑程序化单元与实体程序化单元和/或逻辑程序化单元与实体抹除单元之间的映射关系等各种逻辑与实体的对应关系,本发明不加以限制。
具体而言,在一般的缓冲存储器508的存取中,当主机系统11执行写入操作时,存储器控制电路单元404(或存储器管理电路502)会将对应此写入操作的写入数据暂存至缓冲存储器508的缓存单元610(0)~610(511)中未被占用的缓存单元中。当写入数据顺利地暂存至缓冲存储器508后,存储器控制电路单元404(或存储器管理电路502)会发送一个确认信息给主机系统11,以通知主机系统11此写入操作已完成,并且根据配置给主机系统11的逻辑单元710(0)~710(D),记录储存有数据的缓存单元与其所对应的逻辑单元以更新逻辑单元-缓存单元映射表。由此可在存储器控制电路单元404(或存储器管理电路502)运行读取操作时,从逻辑单元-缓存单元映射表中搜寻所欲读取的数据的逻辑位置以获得储存有所欲读取的数据的缓存单元,并从所搜寻到的缓存单元中读取所述数据。
一般而言,存储器控制电路单元404(或存储器管理电路502)会在缓冲存储器508中的缓存单元610(0)~610(511)均被占用,且可复写式非易失性存储器模块406的背景工作均已完成时,将所有缓存单元610(0)~610(511)中的数据写入至可复写式非易失性存储器模块406中,并清空写入缓存单元610(0)~610(511)中的数据,以再次接收来自主机系统11新的写入数据或用于执行背景工作。然而,在缓冲存储器508中的缓存单元被占用的数量越多时,即代表上述逻辑单元-缓存单元映射表的大小也越大,换言之,当存储器控制电路单元404(或存储器管理电路502)运行读取操作时,其需花费更多的时间搜寻逻辑单元-缓存单元映射表,据此,存储器控制电路单元404(或存储器管理电路502)的读取速度会下降,且造成主机系统11读取时间过长。
为了避免存储器控制电路单元404(或存储器管理电路502)的读取速度下降而影响存储器的性能,在本范例实施例中,在存储器控制电路单元404(或存储器管理电路502)从主机系统11依序地接收至少一操作指令,且此些操作指令包括至少一读取指令时,存储器控制电路单元404(或存储器管理电路502)会判断所接收到的至少一读取指令是否为一连串连续的读取指令。在上述读取指令为连续的读取指令时,存储器控制电路单元404(或存储器管理电路502)会判断对应缓冲存储器508的缓存单元中的数据的有效数据计数值是否为预定值。倘若存储器控制电路单元404(或存储器管理电路502)判断有效数据计数值为预定值时,存储器控制电路单元404(或存储器管理电路502)会直接从可复写式非易失性存储器模块406中读取对应目前接收的读取指令的数据。由此可省略执行搜寻逻辑单元-缓存单元映射表的操作。值得注意的是,在此所指的“依序地接收至少一操作指令”与“读取指令为连续的读取指令”并不加以限制存储器控制电路单元404(或存储器管理电路502)在依序地接收一连串连续的读取指令的期间,不能做其他的事。例如,存储器控制电路单元404(或存储器管理电路502)可在依序地接收一连串连续的读取指令的同时,执行背景工作,例如,映射表储存、数据合并(garbage collection)和/或错误校正(error correction)等操作。
在此,有效数据计数值用以记录缓存单元之中储存有效数据的缓存单元的数量,例如,每当存储器控制电路单元404(或存储器管理电路502)接收到写入指令时,其会将对应此写入指令的写入数据暂存至缓存单元之中未被占用的至少一个缓存单元,且将目前的有效数据计数值累加上此至少一个缓存单元的数量。然而,本发明并不限于此,例如,在另一范例实施例中,有效数据计数值用以记录缓存单元之中所储存的对应每一笔写入指令的有效数据的笔数。此外,在本范例实施例中,上述预定值预设为零,换言之,在有效数据计数值为预定值时,即代表缓冲存储器508中并没有任何一个缓存单元储存有效数据,也就是说,此时用以记录每一缓存单元所对应的逻辑单元的逻辑单元-缓存单元映射表并不会有任何逻辑单元与缓存单元的对应关系的记录,据此,存储器控制电路单元404(或存储器管理电路502)亦无须搜寻逻辑单元-缓存单元映射表,而可直接根据逻辑-实体映射表读取可复写式非易失性存储器模块406的数据区702中的数据。
相对而言,在有效数据计数值非为预定值(即,有效数据计数值非为零)时,即代表缓冲存储器508中的缓存单元储存有有效数据,因此,存储器控制电路单元404(或存储器管理电路502)会搜寻逻辑单元-缓存单元映射表以从缓存单元中读取对应目前接收的读取指令的数据。特别是,在本范例实施例中,倘若存储器控制电路单元404(或存储器管理电路502)判断有效数据计数值非为预定值时,存储器控制电路单元404(或存储器管理电路502)会计数连续的读取指令的累计数据量,例如,存储器控制电路单元404(或存储器管理电路502)会将目前的累计数据量的值累加上对应目前接收的读取指令的数据的数据量,以获得所接收的连续的读取指令的总数据量。
接着,存储器控制电路单元404(或存储器管理电路502)会进一步判断此累计数据量是否达到一数据量门槛值,例如,存储器控制电路单元404(或存储器管理电路502)是判断累计数据量是否大于或等于数据量门槛值,并且在累计数据量大于或等于此数据量门槛值时,将储存有有效数据的缓存单元中的数据写入至可复写式非易失性存储器模块406中。特别是,将储存有有效数据的缓存单元中的数据写入至可复写式非易失性存储器模块406中之后,存储器控制电路单元404(或存储器管理电路502)会清空所有写入缓存单元中的数据。亦即,此时缓冲存储器508中并无储存有有效数据的缓存单元,因此,存储器控制电路单元404(或存储器管理电路502)会将有效数据计数值归零。换言之,在本范例实施例中,存储器控制电路单元404(或存储器管理电路502)并非是在缓冲存储器508中的缓存单元610(0)~610(511)均被占用时,才将缓存单元610(0)~610(511)中所有的数据写入至可复写式非易失性存储器模块406中。由此可避免逻辑单元-缓存单元映射表储存过多的数据而使逻辑单元-缓存单元映射表过大,而导致存储器控制电路单元404(或存储器管理电路502)浪费许多的时间搜寻逻辑单元-缓存单元映射表的情况发生。
之后,由于有效数据计数值已被存储器控制电路单元404(或存储器管理电路502)归零,据此,在存储器控制电路单元404(或存储器管理电路502)再次接收来自主机系统11新的读取指令时,存储器控制电路单元404(或存储器管理电路502)会判断对应缓冲存储器508的缓存单元中的数据的有效数据计数值为预定值,而省略执行搜寻逻辑单元-缓存单元映射表的操作,并直接从可复写式非易失性存储器模块406中读取对应目前接收的读取指令的数据,由此可提升存储器控制电路单元404(或存储器管理电路502)执行读取操作的效能。
在此,数据量门槛值用以作为存储器控制电路单元404(或存储器管理电路502)判断所接收之一连串连续读取指令的累计数据量的大小的依据,例如,在本范例实施例中,数据量门槛值是32MB,并且由于每一个缓存单元的大小为4KB,因此,在主机系统11是以4KB为单位来存取或传送数据的例子中,主机系统11连续下达8192次的读取指令后,存储器控制电路单元404(或存储器管理电路502)所接收的连续的读取指令的累计数据量的大小即会大于数据量门槛值(即,32MB)。然而,本发明并不加以限制主机系统11存取或传送数据的单位,例如,在主机系统11所下达的一个读取指令所对应的读取数据的数据量即大于或等于32MB的例子中,主机系统11只须下达一个读取指令或连续下达两个读取指令之后,存储器控制电路单元404(或存储器管理电路502)所接收的连续的读取指令的累计数据量的大小即会大于数据量门槛值(即,32MB)。特别是,在此范例实施例中,由于累计数据量必须为所接收的一连串连续读取指令的数据量大小,因此,在累计数据量未达数据量门槛值的情况下,存储器控制电路单元404(或存储器管理电路502)接收到写入指令时,存储器控制电路单元404(或存储器管理电路502)会将累计数据量归零,并重新计数连续读取指令的累计数据量的大小。据此,藉由存储器控制电路单元404(或存储器管理电路502)在所接收的连续的读取指令的累计数据量的大小达到一个数据量门槛值而进行清空缓存单元中的数据的机制,可避免来自主机系统11的操作指令为读取指令与写入指令交错的情况下,使用缓冲存储器508中大量的缓存单元来暂存写入数据,所造成的逻辑单元-缓存单元映射表的扩大进而影响存储器控制电路单元404(或存储器管理电路502)的读取速度下降的问题。必须了解的是,本发明亦不加以限制数据量门槛值的大小,例如,在另一范例实施例中,数据量门槛值可以大于或小于32MB。
在本发明另一范例实施例中,上述依序地接收的连续的操作指令中可容许有一至二个写入指令,而连续的操作指令中一至二个写入指令以外的操作指令均为读取指令,因此,存储器控制电路单元404(或存储器管理电路502)并不会在接收到第一个写入指令时,即将累计数据量归零。在此,类似地,存储器控制电路单元404(或存储器管理电路502)会判断对应缓冲存储器508的缓存单元中的数据的有效数据计数值是否为所述预定值。值得注意的是,在此例子中,预定值例如会被设为2,据此,在连续的操作指令中包括二个写入指令时,存储器控制电路单元404(或存储器管理电路502)亦可以在有效数据计数值为此预定值时,直接从可复写式非易失性存储器模块406中读取对应目前所接收的读取指令的数据。反之,在有效数据计数值非为此预定值时,计数连续的操作指令中此二个写入指令以外的读取指令的累计数据量,以在读取指令的累计数据量大于数据量门槛值时将缓存单元中的数据写入至可复写式非易失性存储器模块406中。换言之,在此范例中,存储器控制电路单元404(或存储器管理电路502)是在其接收到超过两个写入指令时,才会将累计数据量归零。必须了解的是,本发明亦不加以限制连续的操作指令中可容许的写入指令的数量,例如,在另一范例实施例中,连续的操作指令中写入指令的数量可大于两个且预定值会被设为大于2。
为了更清楚地描述本发明的存储器控制电路单元404(或存储器管理电路502)执行数据存取方法的运作,以下将参照图8A~图8C以一范例来进行说明。图8A~图8C是根据一范例实施例所显示的存储器控制电路单元(或存储器管理电路)执行数据存取方法的范例示意图。
请参照图8A~图8C,假设目前缓冲存储器508被占用的缓存单元的数目为101个(例如,被占用的缓存单元为缓存单元610(0)~610(100)),因此,逻辑单元-缓存单元映射表800的大小会刚好为可记录此101个储存有有效数据的缓存单元的大小,以记录缓存单元610(0)~610(100)所对应的逻辑单元。例如,缓存单元610(0)所对应的逻辑单元为710(1),而缓存单元610(1)所对应的逻辑单元为710(5)。如图8A所示,当存储器控制电路单元404(或存储器管理电路502)接收到读取指令RCmd1后,存储器控制电路单元404(或存储器管理电路502)会识别此读取指令RCmd1指示读取储存于逻辑单元710(5)中的数据,因此,存储器控制电路单元404(或存储器管理电路502)会根据逻辑单元-缓存单元映射表800搜寻逻辑单元710(5)到所对应的缓存单元610(1),并从缓存单元610(1)中读取此数据。
由于此时缓冲存储器508中的缓存单元610(0)~610(100)储存有有效数据,因此,在此例子中,目前的有效数据计数值例如为“101”。并且,如上所述,在预定值为零的例子中,存储器控制电路单元404(或存储器管理电路502)在接收到来自主机系统11的读取指令RCmd1后,会先判断有效数据计数值是否为零。在此,由于有效数据计数值“101”非为零,因此,存储器控制电路单元404(或存储器管理电路502)会将目前的累计数据量(例如,0KB)的值累加上对应目前接收的读取指令RCmd1的数据的数据量(例如,4KB)以获得累计数据量“4KB”。接着,存储器控制电路单元404(或存储器管理电路502)会判断此累计数据量是否大于数据量门槛值。在本范例实施例中,数据量门槛值为“32MB”,因此,存储器控制电路单元404(或存储器管理电路502)还不会将储存有有效数据的缓存单元中的数据写入至可复写式非易失性存储器模块406中。
也就是说,如图8C所示,在存储器控制电路单元404(或存储器管理电路502)执行数据存取方法的阶段S801中,存储器控制电路单元404(或存储器管理电路502)会持续地接收连续的读取指令直到累计数据量大于数据量门槛值,且在累计数据量大于数据量门槛值时,进入阶段S803以将储存有有效数据的缓存单元中的数据写入至可复写式非易失性存储器模块406中。举例而言,假设存储器控制电路单元404(或存储器管理电路502)已在阶段S801中依序接收到读取指令RCmd1以及多个连续的读取指令,并且此时累计数据量已更新为“31998KB”,因此,如图8B所示,若存储器控制电路单元404(或存储器管理电路502)接着又从主机系统11接收到的读取指令RCmd2,则存储器控制电路单元404(或存储器管理电路502)会根据逻辑单元-缓存单元映射表800从缓存单元610(0)中读取对应逻辑单元710(1)的数据,并且将目前的累计数据量“31998KB”累加上对应目前接收的读取指令RCmd2的数据的数据量(例如,4KB)以获得累计数据量“32002KB”。此时,存储器控制电路单元404(或存储器管理电路502)会判断累计数据量(即,32002KB)已超过数据量门槛值(即,32MB),因此,在阶段S803中,存储器控制电路单元404(或存储器管理电路502)会将缓存单元610(0)~610(100)中的有效数据写入至可复写式非易失性存储器模块406中。值得注意的是,在阶段S803中,倘若存储器控制电路单元404(或存储器管理电路502)仍持续从主机系统11接收到读取指令,由于缓存单元610(0)~610(100)中的有效数据可能尚未完全写入至可复写式非易失性存储器模块406中,因此,存储器控制电路单元404(或存储器管理电路502)仍会从逻辑单元-缓存单元映射表中搜寻储存对应读取指令的数据的缓存单元。
之后,在存储器控制电路单元404(或存储器管理电路502)将缓存单元610(0)~610(100)中的有效数据完全写入至可复写式非易失性存储器模块406中之后,存储器控制电路单元404(或存储器管理电路502)会进入阶段S805,以将有效数据计数值归零。特别是,在阶段S805中,倘若存储器控制电路单元404(或存储器管理电路502)仍持续从主机系统11接收到读取指令,由于缓存单元610(0)~610(100)中的有效数据已完全写入至可复写式非易失性存储器模块406中,因此,存储器控制电路单元404(或存储器管理电路502)会省略搜寻逻辑单元-缓存单元映射表的操作,而直接从可复写式非易失性存储器模块406中读取对应读取指令的数据的实体抹除单元。值得一提的是,藉由上述存储器控制电路单元404(或存储器管理电路502)所执行的数据存取方法,可通过省略执行搜寻逻辑单元-缓存单元映射表的操作使得总线频宽由130(KB/sec)提升至280(KB/sec)。
图9与图10是根据本发明的一范例实施例所显示的数据存取方法的流程图。
请先参照图9,在步骤S901中,存储器控制电路单元404(或存储器管理电路502)接收至少一操作指令,且所述至少一操作指令包括至少一读取指令。
之后,在步骤S903中,存储器控制电路单元404(或存储器管理电路502)会计数所述至少一读取指令的累计数据量,且当累计数据量大于数据量门槛值时,将缓冲存储器中的数据写入至可复写式非易失性存储器模块406中。
特别是,本发明的数据存取方法还包括根据有效数据计数值来决定是否直接从可复写式非易失性存储器模块406中读取对应读取指令的数据。请参照图10,其中步骤S1001相同于步骤S901且步骤S1009相同于步骤S903,在此不再重述。例如,在存储器控制电路单元404(或存储器管理电路502)接收至少一读取指令后,存储器控制电路单元404(或存储器管理电路502)会在步骤S1003中,判断缓冲存储器508中的有效数据计数值是否为预定值。
倘若有效数据计数值为预定值时,在步骤S1005中,存储器控制电路单元404(或存储器管理电路502)会从可复写式非易失性存储器模块406中读取对应所述至少一读取指令的数据。反之,倘若有效数据计数值非为预定值时,在步骤S1007中,存储器控制电路单元404(或存储器管理电路502)会根据逻辑单元-缓存单元映射表从缓存单元中读取对应所述至少一读取指令的数据。以及在步骤S1009中,存储器控制电路单元404(或存储器管理电路502)会执行相同于步骤S903的操作以在累计数据量大于数据量门槛值时,将缓冲存储器中的数据写入至可复写式非易失性存储器模块406中。
然而,图9与图10中各步骤已详细说明如上,在此便不再赘述。值得注意的是,图9与图10中各步骤可以实作为多个程序码或是电路,本发明不加以限制。此外,图9与图10的方法可以搭配以上范例实施例使用,也可以单独使用,本发明不加以限制。
综上所述,本发明提出一种藉由计数连续接收的读取指令的累计数据量以将缓冲存储器中的数据清空并写入可复写式非易失性存储器模块的机制,可在缓冲存储器中的有效数据计数值为预定值时,省略执行搜寻逻辑单元-缓存单元映射表的操作,并直接从可复写式非易失性存储器模块中读取数据,据此,可提升存储器控制电路单元(或存储器管理电路)读取数据时的效率。另一方面,在缓冲存储器中的有效数据计数值非为预定值时,通过上述机制可避免来自主机系统的操作指令为读取指令与写入指令交错的情况下,逻辑单元-缓存单元映射表过大而造成的存储器控制电路单元(或存储器管理电路)的读取速度下降的问题。如此一来,可有效提升存储器的整体性能,并降低主机系统读取操作的时间,以有效解决当缓冲存储器储存有大量数据时,主机系统读取操作等待时间过长的问题。
虽然本发明已以实施例揭示如上,然其并非用以限定本发明,任何所属技术领域中普通技术人员,在不脱离本发明的精神和范围内,当可作些许的更动与润饰,故本发明的保护范围当视所附权利要求范围的界定为准。
Claims (18)
1.一种数据存取方法,用于存储器,其特征在于,该存储器包括可复写式非易失性存储器模块与缓冲存储器,该数据存取方法包括:
接收至少一操作指令,其中该至少一操作指令包括至少一读取指令;
计数该至少一读取指令的累计数据量,且当该累计数据量达到数据量门槛值时,将该缓冲存储器中的数据写入至该可复写式非易失性存储器模块中,其中该至少一读取指令的该累计数据量的值为目前的累计数据量加上对应该至少一读取指令的数据的数据量所获得的总和。
2.根据权利要求1所述的数据存取方法,其特征在于,该至少一操作指令包括至少一写入指令,且该至少一操作指令中的该至少一写入指令以外的操作指令均为读取指令。
3.根据权利要求1所述的数据存取方法,其特征在于,该缓冲存储器具有多个缓存单元,且该数据存取方法还包括:
判断该缓冲存储器中的有效数据计数值是否为预定值;
倘若该有效数据计数值为该预定值时,从该可复写式非易失性存储器模块中读取对应该至少一读取指令的数据;以及
倘若该有效数据计数值非为该预定值时,根据逻辑单元-缓存单元映射表从该些缓存单元中读取对应该至少一读取指令的数据,
其中计数该至少一读取指令的该累计数据量的步骤是在判断该有效数据计数值非为该预定值之后执行。
4.根据权利要求3所述的数据存取方法,其特征在于,该预定值为零。
5.根据权利要求3所述的数据存取方法,其特征在于,该数据存取方法还包括:
当接收到写入指令时,将该累计数据量归零,以及将对应该写入指令的写入数据暂存至该些缓存单元之中未被占用的至少一个缓存单元,且计数该有效数据计数值。
6.根据权利要求5所述的数据存取方法,其特征在于,还包括:
将该些缓存单元中的数据写入至该可复写式非易失性存储器模块中之后,将该有效数据计数值归零。
7.一种存储器控制电路单元,其特征在于,用于控制可复写式非易失性存储器模块,该存储器控制电路单元包括:
主机接口,用以耦接至主机系统;
存储器接口,用以耦接至该可复写式非易失性存储器模块;
缓冲存储器,耦接至该主机接口及该存储器接口;以及
存储器管理电路,耦接至该主机接口、该存储器接口与该缓冲存储器,并且用以接收至少一操作指令,其中该至少一操作指令包括至少一读取指令,
该存储器管理电路还用以计数该至少一读取指令的一累计数据量,且当该累计数据量达到数据量门槛值时,将缓冲存储器中的数据写入至该可复写式非易失性存储器模块中,其中该至少一读取指令的该累计数据量的值为目前的累计数据量加上对应该至少一读取指令的数据的数据量所获得的总和。
8.根据权利要求7所述的存储器控制电路单元,其特征在于,该至少一操作指令包括至少一写入指令,且该至少一操作指令中的该至少一写入指令以外的操作指令均为读取指令。
9.根据权利要求7所述的存储器控制电路单元,其特征在于,该缓冲存储器具有多个缓存单元,且该存储器管理电路还用以判断该缓冲存储器中的有效数据计数值是否为预定值,
其中倘若该有效数据计数值为该预定值时,该存储器管理电路还用以从该可复写式非易失性存储器模块中读取对应该至少一读取指令的数据,
其中倘若该有效数据计数值非为零时,该存储器管理电路还用以根据逻辑单元-缓存单元映射表从该些缓存单元中读取对应该至少一读取指令的数据,
其中该存储器管理电路是在判断该有效数据计数值非为零之后,执行计数该至少一读取指令的该累计数据量的操作。
10.根据权利要求9所述的存储器控制电路单元,其特征在于,该预定值为零。
11.根据权利要求9所述的存储器控制电路单元,其特征在于,该存储器管理电路还用以当接收到写入指令时,将该累计数据量归零,以及将对应该写入指令的写入数据暂存至该些缓存单元之中未被占用的至少一个缓存单元,且计数该有效数据计数值。
12.根据权利要求11所述的存储器控制电路单元,其特征在于,在将该些缓存单元中的数据写入至该可复写式非易失性存储器模块中之后,该存储器管理电路还用以将该有效数据计数值归零。
13.一种存储器,其特征在于,包括:
连接接口单元,用以耦接至主机系统;
可复写式非易失性存储器模块;以及
存储器控制电路单元,耦接至该连接接口单元与该可复写式非易失性存储器模块,其中该存储器控制电路单元包括缓冲存储器,并且用以接收至少一操作指令,其中该至少一操作指令包括至少一读取指令,
该存储器控制电路单元还用以计数该至少一读取指令的累计数据量,且当该累计数据量达到数据量门槛值时,将该缓冲存储器中的数据写入至该可复写式非易失性存储器模块中,其中该至少一读取指令的该累计数据量的值为目前的累计数据量加上对应该至少一读取指令的数据的数据量所获得的总和。
14.根据权利要求13所述的存储器,其特征在于,该至少一操作指令包括至少一写入指令,且该至少一操作指令中的该至少一写入指令以外的操作指令均为读取指令。
15.根据权利要求13所述的存储器,其特征在于,该缓冲存储器具有多个缓存单元,且该存储器控制电路单元还用以判断该缓冲存储器中的有效数据计数值是否为预定值,
其中倘若该有效数据计数值为该预定值时,该存储器控制电路单元还用以从该可复写式非易失性存储器模块中读取对应该至少一读取指令的数据,
其中倘若该有效数据计数值非为零时,该存储器控制电路单元还用以根据逻辑单元-缓存单元映射表从该些缓存单元中读取对应该至少一读取指令的数据,
其中该存储器控制电路单元是在判断该有效数据计数值非为零之后,执行计数该至少一读取指令的该累计数据量的操作。
16.根据权利要求15所述的存储器,其特征在于,该预定值为零。
17.根据权利要求15所述的存储器,其特征在于,该存储器控制电路单元还用以当接收到写入指令时,将该累计数据量归零,以及将对应该写入指令的写入数据暂存至该些缓存单元之中未被占用的至少一个缓存单元,且计数该有效数据计数值。
18.根据权利要求17所述的存储器,其中在将该些缓存单元中的数据写入至该可复写式非易失性存储器模块中之后,该存储器控制电路单元还用以将该有效数据计数值归零。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510824019.2A CN106775436B (zh) | 2015-11-24 | 2015-11-24 | 数据存取方法、存储器控制电路单元与存储器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510824019.2A CN106775436B (zh) | 2015-11-24 | 2015-11-24 | 数据存取方法、存储器控制电路单元与存储器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106775436A CN106775436A (zh) | 2017-05-31 |
CN106775436B true CN106775436B (zh) | 2019-10-25 |
Family
ID=58963635
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510824019.2A Active CN106775436B (zh) | 2015-11-24 | 2015-11-24 | 数据存取方法、存储器控制电路单元与存储器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106775436B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107491398B (zh) * | 2017-08-04 | 2021-04-02 | 歌尔科技有限公司 | 数据同步方法、装置和电子设备 |
CN109471806B (zh) * | 2017-09-07 | 2022-12-13 | 群联电子股份有限公司 | 数据存储方法、存储器存储装置及存储器控制电路单元 |
US20190155507A1 (en) * | 2017-11-21 | 2019-05-23 | Silicon Motion Inc. | Method for performing system backup in a memory device, associated memory device and controller thereof, and associated electronic device |
CN113535089B (zh) | 2020-05-22 | 2024-05-17 | 长江存储科技有限责任公司 | 用于ssd的映射表的刷新方法 |
CN112486417B (zh) * | 2020-12-03 | 2023-07-04 | 群联电子股份有限公司 | 存储器控制方法、存储器存储装置及存储器控制电路单元 |
CN113504880B (zh) * | 2021-07-27 | 2024-02-23 | 群联电子股份有限公司 | 存储器缓冲区管理方法、存储器控制电路单元与存储装置 |
CN114115739B (zh) * | 2021-11-25 | 2023-11-07 | 群联电子股份有限公司 | 存储器管理方法、存储器存储装置及存储器控制电路单元 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102096556A (zh) * | 2010-12-03 | 2011-06-15 | 成都市华为赛门铁克科技有限公司 | 拷贝数据的方法、读取数据的方法和装置及系统 |
CN102244579A (zh) * | 2010-05-12 | 2011-11-16 | 北京研华兴业电子科技有限公司 | 网卡及网络数据接收方法 |
CN102971719A (zh) * | 2010-06-29 | 2013-03-13 | 图科塞拉公司 | 对存储器读取或写入 |
CN103988183A (zh) * | 2011-12-20 | 2014-08-13 | 英特尔公司 | 2级存储器分级结构中的存储器侧高速缓存的动态部分断电 |
-
2015
- 2015-11-24 CN CN201510824019.2A patent/CN106775436B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102244579A (zh) * | 2010-05-12 | 2011-11-16 | 北京研华兴业电子科技有限公司 | 网卡及网络数据接收方法 |
CN102971719A (zh) * | 2010-06-29 | 2013-03-13 | 图科塞拉公司 | 对存储器读取或写入 |
CN102096556A (zh) * | 2010-12-03 | 2011-06-15 | 成都市华为赛门铁克科技有限公司 | 拷贝数据的方法、读取数据的方法和装置及系统 |
CN103988183A (zh) * | 2011-12-20 | 2014-08-13 | 英特尔公司 | 2级存储器分级结构中的存储器侧高速缓存的动态部分断电 |
Also Published As
Publication number | Publication date |
---|---|
CN106775436A (zh) | 2017-05-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106775436B (zh) | 数据存取方法、存储器控制电路单元与存储器 | |
US10713178B2 (en) | Mapping table updating method, memory controlling circuit unit and memory storage device | |
CN106681654B (zh) | 映射表载入方法与存储器存储装置 | |
US10101914B2 (en) | Memory management method, memory control circuit unit and memory storage device | |
CN109491588B (zh) | 存储器管理方法、存储器控制电路单元与存储器存储装置 | |
CN110781096A (zh) | 用于通过预测需求时间来执行垃圾收集的设备和方法 | |
CN106557432B (zh) | 缓冲存储器管理方法、存储器控制电路单元及存储装置 | |
CN106681652B (zh) | 存储器管理方法、存储器控制电路单元与存储器存储装置 | |
CN110333770A (zh) | 存储器管理方法、存储器存储装置及存储器控制电路单元 | |
CN108733577B (zh) | 存储器管理方法、存储器控制电路单元及存储器存储装置 | |
CN113885692B (zh) | 存储器效能优化方法、存储器控制电路单元以及存储装置 | |
TW201730888A (zh) | 平均磨損方法、記憶體控制電路單元及記憶體儲存裝置 | |
CN107357520B (zh) | 整理指令处理方法、存储器控制电路单元及其存储装置 | |
CN113885808B (zh) | 映射信息记录方法以及存储器控制电路单元与存储装置 | |
CN107817943B (zh) | 数据传输方法、存储器存储装置及存储器控制电路单元 | |
CN112860193B (zh) | 整理指令处理方法、存储器控制电路单元与存储装置 | |
CN106959818B (zh) | 数据写入方法、存储器控制电路单元与存储器储存装置 | |
CN107103930B (zh) | 数据写入方法、存储器控制电路单元与存储器存储装置 | |
CN110442299B (zh) | 数据写入方法、存储器控制电路单元以及存储器储存装置 | |
CN109032957B (zh) | 存储器管理方法、存储器控制电路单元与存储器存储装置 | |
CN113504880B (zh) | 存储器缓冲区管理方法、存储器控制电路单元与存储装置 | |
TWI760697B (zh) | 記憶體之資料整理方法、記憶體儲存裝置及記憶體控制電路單元 | |
CN111583976B (zh) | 数据写入方法、存储器控制电路单元以及存储器存储装置 | |
CN110275668B (zh) | 区块管理方法、存储器控制电路单元与存储器存储装置 | |
CN117573208B (zh) | 指令信息分配方法及存储器存储装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |