CN107045423A - 存储器装置及其数据存取方法 - Google Patents

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

Info

Publication number
CN107045423A
CN107045423A CN201610326354.4A CN201610326354A CN107045423A CN 107045423 A CN107045423 A CN 107045423A CN 201610326354 A CN201610326354 A CN 201610326354A CN 107045423 A CN107045423 A CN 107045423A
Authority
CN
China
Prior art keywords
data
write
memory unit
memory
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.)
Granted
Application number
CN201610326354.4A
Other languages
English (en)
Other versions
CN107045423B (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.)
Nuvoton Technology Corp
Original Assignee
Nuvoton Technology 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 Nuvoton Technology Corp filed Critical Nuvoton Technology Corp
Publication of CN107045423A publication Critical patent/CN107045423A/zh
Application granted granted Critical
Publication of CN107045423B publication Critical patent/CN107045423B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/349Arrangements for evaluating degradation, retention or wearout, e.g. by counting erase cycles
    • G11C16/3495Circuits or methods to detect or delay wearout of nonvolatile EPROM or EEPROM memory devices, e.g. by counting numbers of erase or reprogram cycles, by using multiple memory areas serially or cyclically
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0616Improving the reliability of storage systems in relation to life time, e.g. increasing Mean Time Between Failures [MTBF]
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/26Sensing or reading circuits; Data output circuits

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

存储器装置及其数据存取方法
技术领域
本发明是有关于一种数据存取技术,且特别是有关于一种兼具可靠度以及高读写速度的存储器装置及其数据存取方法。
背景技术
可擦除可程序化只读存储器(Electrically Erasable Programmable Read OnlyMemory,EEPROM)能够以字节(byte)为单位进行数据的读取/写入动作,并可具有高达百万次的可擦写次数。上述高读写速度以及高可靠度的特点,使得可擦除可程序化只读存储器被广泛地应用于嵌入式系统、存储系统等许多应用中。
对于单芯片产品而言,现有技术并非使用内建的可擦除可程序化只读存储器,而是利用闪存(Flash Memory)来提供数据存储的功能。然而,闪存的可擦写次数一般约为两万次,而远不及可擦除可程序化只读存储器的可擦写次数,造成数据可靠度受到限制。
发明内容
本发明提供一种存储器装置及其数据存取方法,其可提供良好的数据可靠度以及高读取速度。
本发明提出一种存储器装置的数据存取方法。存储器装置包括第一存储器单元及第二存储器单元,其中第一存储器单元包括多个实体存储页,第二存储器单元的数据存取速度大于第一存储器单元的数据存取速度。所述数据存取方法包括下列步骤。接收写入数据,其中写入数据对应于写入地址,比对写入数据以及在第二存储器单元中对应写入地址的第一数据,以产生比对结果,并依据比对结果决定是否执行数据写入动作,其中数据写入动作包括将写入数据写入至第一存储器单元的目前实体存储页中未被写入的存储栏位,以及将写入数据写入至第二存储器单元中对应写入地址的存储栏位。当执行数据写入动作之后,判断第一存储器单元的目前实体存储页是否被写满。当第一存储器单元的目前实体存储页被写满时,依据在第二存储器单元中对应目前实体存储页的多笔数据以对目前实体存储页执行数据整理动作。当接收到读取指令时,依据读取指令中的读取地址,以读取在第二存储器单元中对应读取地址的第二数据。
在本发明的一实施例中,上述比对写入数据以及在第二存储器单元中对应写入地址的第一数据,以产生比对结果,并依据比对结果决定是否执行数据写入动作的步骤包括判断写入数据是否与第一数据相同,当写入数据与第一数据相同时,不执行数据写入动作,以及当写入数据与第一数据不同时,执行数据写入动作。
在本发明的一实施例中,上述的目前实体存储页包括多个存储栏位,各存储栏位用以存储地址信息以及对应的数据内容,第二存储器单元中对应地址信息的存储栏位只用以存储数据内容,且数据写入动作更包括将写入地址以及该写入数据写入至目前实体存储页中未被写入的存储栏位,以及只将写入数据写入至第二存储器单元中对应写入地址的存储栏位。
在本发明的一实施例中,上述当第一存储器单元的目前实体存储页被写满时,依据在第二存储器单元中对应目前实体存储页的数据以对目前实体存储页执行数据整理动作的步骤包括选择所述实体存储页的其中的一以建立置换实体存储页,其中置换实体存储页与目前实体存储页不同,复制在第二存储器单元中对应目前实体存储页的数据中的至少一有效数据至第一存储器单元的置换实体存储页,以及擦除目前实体存储页,并将置换实体存储页设定为目前实体存储页。
在本发明的一实施例中,所述方法更包括在目前实体存储页中设置擦写计数栏位,其中擦写计数栏位用以存储存储器装置的循环擦写次数,当第一存储器单元的目前实体存储页被写满时,判断被写满的目前实体存储页是否为存取顺序中对应的最后一个实体存储页,以及当被写满的目前实体存储页为存取顺序中对应的最后一个实体存储页时,累加循环擦写次数。
在本发明的一实施例中,所述方法更包括当存储器装置上电时,获得第一存储器单元中所存储的至少一有效数据以及至少一有效数据对应的至少一存储地址,以及复制所述有效数据至第二存储器单元中的所述存储地址。
在本发明的一实施例中,上述的第二存储器单元的存储栏位的个数大于第一存储器单元的目前实体存储页的存储栏位的个数。
本发明另提出一种存储器装置,其包括第一存储器单元、第二存储器单元以及控制器。第一存储器单元包括多个实体存储页。第二存储器单元的数据存取速度大于第一存储器单元的数据存取速度。控制器耦接至第一存储器单元以及第二存储器单元。控制器接收写入数据,其中写入数据对应于写入地址。控制器比对写入数据以及在第二存储器单元中对应写入地址的第一数据,以产生比对结果,并依据比对结果决定是否执行数据写入动作,其中,数据写入动作包括将写入数据写入至第一存储器单元的目前实体存储页中未被写入的存储栏位,以及将写入数据写入至第二存储器单元中对应写入地址的存储栏位。当执行数据写入动作之后,控制器判断第一存储器单元的目前实体存储页是否被写满,当第一存储器单元的目前实体存储页被写满时,控制器依据在第二存储器单元中对应目前实体存储页的多笔数据以对目前实体存储页执行数据整理动作。当接收到读取指令时,控制器依据读取指令中的读取地址,以读取在第二存储器单元中对应读取地址的第二数据。
在本发明的一实施例中,上述的控制器判断写入数据是否与第一数据相同,当写入数据与第一数据相同时,控制器不执行数据写入动作,以及当写入数据与第一数据不同时,控制器执行数据写入动作。
在本发明的一实施例中,上述的目前实体存储页包括多个存储栏位,各存储栏位用以存储地址信息以及对应的数据内容,第二存储器单元中对应地址信息的存储栏位只用以存储数据内容,且控制器更将写入地址以及写入数据写入至目前实体存储页中未被写入的存储栏位,以及只将写入数据写入至第二存储器单元中对应写入地址的存储栏位。
基于上述,本发明实施例利用第一存储器单元(闪存)和第二存储器单元(静态随机存取存储器)的组合,在接收到写入数据时,先将写入数据与第二存储器单元中的数据进行比对,从而在判断数据需要变更时才执行数据写入动作。此外,当第一存储器的目前实体存储页被写满时,还可依据第二存储器中的数据来对目前实体存储页进行数据整理。藉此,可有效降低第一存储器单元需被存取的次数,等效提升了数据可靠度。另外,利用第二存储器单元来提供读取功能,也可加速存储器装置的数据读取速度。
为让本发明的上述特征和优点能更明显易懂,下文特举实施例,并配合所附图式作详细说明如下。
附图说明
图1是依照本发明一实施例所绘示的一种存储器装置的方块图。
图2是依照本发明一实施例所绘示的一种存储器装置的数据存取方法的流程图。
图3是依照本发明一实施例所绘示的一种存储器装置的数据存取方法的流程图。
图4A至图4D分别是依照本发明一实施例所绘示的范例。
附图标号:
10:存储器装置
110、410:第一存储器单元
120、420:第二存储器单元
130:控制器
412:目前实体存储页
414:标记
CE、CE’:循环擦写次数
CP:循环擦写次数的预设值
D0、D1、D4、D6、D7、DP:数据
F0~Fi+1、Fj:存储栏位
LA0~LAN:地址
P0、P1:实体存储页
SR01、SR11:已写入区
SR02、SR12:未写入区
S202~S210、S302~S320:方法步骤
具体实施方式
在应用单芯片的相关产品中,闪存(Flash memory)普遍被用来存储会被频繁存取的非挥发性数据。然而,基于元件特性,闪存的可擦写次数有其限制。此外,在闪存的数据存取机制中,当目前使用的实体存储页被数据填满时,闪存可将此实体存储页中的有效数据搬移以释出存储空间,但此动作却也导致额外的存取次数。因此,若能够在闪存需要更新数据时才进行数据写入,并在搬移数据时减少对于闪存的存取,便可有效延长闪存的使用寿命。基于上述观点,本发明实施例提出一种闪存(第一存储器单元)搭配静态随机存取存储器(Static Random Access Memory,SRAM,第二存储器单元)的存储器装置及其数据存取方法,可等效模拟出数量级与可擦除可程序化只读存储器相当的可擦写次数,并可兼顾存储器装置所需的尺寸以及数据存取的速度。为了使本发明的内容更为明了,以下特举实施例作为本发明确实能够据以实施的范例。
图1是依照本发明一实施例所绘示的一种存储器装置的方块图。请参照图1,存储器装置10包括第一存储器单元110、第二存储器单元120以及控制器130。存储器装置10可作为存储各种使用者数据或系统数据的存储空间。在一实施例中,存储器装置10可为电子装置,其包括存储装置(对应于上述的第一存储器单元110以及第二存储器单元120)以及主机(对应于上述的控制器130)。
此外,在其他实施例中,存储器装置10也可为独立于主机的存储装置。其中,存储器装置10可设置于主机(未绘示)的内部并与主机电连接。或者,存储器装置10也可利用外接的方式与主机电连接,例如通过通用序列总线(Universal Serial Bus,USB)等各式总线与主机电连接等,本发明不对其限制。
第一存储器单元110例如是闪存等非挥发性存储器,其可包括多个实体区块以存储例如来自主机所写入的数据。上述的每一实体区块分别具有多个实体存储页,其中,实体存储页可为擦除的最小单位,亦即,在实体存储页中的数据可在同一次数据擦除动作中被一并擦除。
第二存储器单元120例如是静态随机存取存储器。在此,第二存储器单元120的数据存取速度可大于第一存储器单元110的数据存取速度。
控制器130可用以执行以硬件型式或固体型式实作的多个逻辑栅或控制指令,以执行本发明实施例所提出的数据存取方法,从而在第一及第二存储器单元110、120中进行数据的写入、读取与擦除等运作。当存储器装置10为电子装置时,控制器130可为主机。而当存储器装置10为存储装置时,控制器130则可为存储器控制器,并例如是以嵌入式系统芯片(System On Chip,SOC)来实现。
在此,控制器130可从第一存储器单元110的实体存储页中选择可写入数据的多个实体存储页(以下称可调用的实体存储页),并选择这些可调用的实体存储页的其中之一来作为目前实体存储页。上述的实体存储页具有类似的配置,在此以目前实体存储页为例进行说明。具体来说,目前实体存储页可包括多个存储栏位,且各存储栏位可包括两个子栏位,分别用以存储地址信息以及对应的数据内容。此外,各存储栏位可存储的数据位数例如是2个字节(byte)。基于是否被写入数据,上述的存储栏位可分为已被写入数据的存储区(以下称已写入区)以及未被写入数据的存储区(以下称未写入区)。当有新的数据要写入至第一存储器单元110时,控制器130可将数据写入至未写入区的存储栏位中。
另一方面,第二存储器单元120可包括多个存储栏位,且各存储栏位只用以存储数据内容。上述各存储栏位可存储的数据位数例如是1个字节。在此,第二存储器单元120的存储栏位的个数可大于第一存储器单元110的目前实体存储页的存储栏位的个数。控制器130可例如在初始化阶段(例如,当存储器装置10上电而保持电力供应时),将第一存储器单元110中已存储的有效数据(例如是第一存储器单元110中存储的地址信息所对应的最新数据内容)复制至第二存储器单元120。如此一来,由于第二存储器单元120所存储的数据与第一存储器单元110所存储的有效数据相同,本发明实施例便可通过对第二存储器单元120进行存取,有效减少对于第一存储器单元110的存取次数。
此外,控制器130还可维护一个逻辑转实体地址映射表(logical to physical addressmapping table),以记录第一存储器单元110的逻辑地址与实体地址的映射关系。当主机欲存取某一逻辑地址所对应的数据时,控制器130可根据逻辑转实体地址映射表,而在第一存储器单元110的对应的实体地址中存取数据。此部分的技术应为本领域技术人员所熟知,故细节不再赘述。
图2是依照本发明一实施例所绘示的一种存储器装置的数据存取方法的流程图,且适用于图1的存储器装置10。以下即搭配图1所示的各个元件来说明本方法的详细步骤。
首先,在步骤S202中,控制器130接收写入数据,且写入数据对应于一写入地址。在步骤S204中,控制器130比对写入数据以及在第二存储器单元120中对应写入地址的第一数据,以产生比对结果,并依据比对结果决定是否执行数据写入动作。上述的数据写入动作包括将写入数据写入至第一存储器单元110的目前实体存储页中未被写入的存储栏位,以及将写入数据写入至第二存储器单元120中对应写入地址的存储栏位。
具体而言,写入地址例如是控制器130用来存取第二存储器单元120的地址。如前所述,由于第二存储器单元120所存储的数据与第一存储器单元110所存储的有效数据相同,因此,当接收到写入数据时,控制器130便可先存取第二存储器单元120中对应写入地址的第一数据,并将写入数据与第一数据进行比对,从而判断第一存储器单元110的数据是否需要变更。更明确地说,控制器130可通过存取第二存储器单元120的第一数据和写入数据进行比对,以判断写入数据是否与第一数据相同。当写入数据与第一数据相同时,表示第一及第二存储器单元110、120中的数据无须变更,故控制器130不执行数据写入动作。而当写入数据与第一数据不同时,表示第一及第二存储器单元110、120中的数据需要更新,故控制器130执行数据写入动作,以将写入数据写入至第一及第二存储器单元110、120。
藉此,本实施例利用存取第二存储器单元120来判断第一存储器单元110中的数据是否需要更新,并可在数据需要更新的情况,才对第一存储器单元110执行数据写入动作。
接着,在步骤S206中,当执行数据写入动作之后,控制器130判断第一存储器单元110的目前实体存储页是否被写满。在步骤S208中,当第一存储器单元110的目前实体存储页被写满时,控制器130依据在第二存储器单元120中对应目前实体存储页的多笔数据以对目前实体存储页执行数据整理动作。
详言之,当目前实体存储页被写满时,本实施例的控制器130可利用第二存储器单元120中所存储的数据,而使目前实体存储页中的有效数据搬移至可调用的另一个实体存储页(以下称置换实体存储页),并且释出目前实体存储页的存储空间,以完成目前实体存储页的数据整理。在一实施例中,控制器130可选择实体存储页的其中之一以建立置换实体存储页,并将在第二存储器单元120中对应目前实体存储页的数据中的至少一有效数据复制至第一存储器单元110的置换实体存储页,以及擦除目前实体存储页,并将置换实体存储页设定为目前实体存储页。
其中,控制器130可调用的实体存储页例如是依据其分别对应的实体地址而具有一排序(以下称存取顺序)。因此,控制器130便可选择在此存取顺序中位于目前实体存储页的下一个实体存储页以作为置换实体存储页。上述的排序方式也可例如依据各实体存储页已被擦除的次数所决定,例如,控制器130可从实体存储页中选择具有较小的已被擦除的次数的实体存储页来作为置换实体存储页,以使这些实体存储页之间可达到平均磨损(wear leveling)。本发明对于置换实体存储页的选择方式不加以限制。
藉此,本实施例利用存取第二存储器单元120,即可获得第一存储器单元110的目前实体存储页中的有效数据,从而免除在目前实体存储页中必须搜寻有效数据以进行复制所造成的额外存取动作。
请继续参照图2,在步骤S210中,当接收到读取指令时,控制器130依据读取指令中的读取逻辑地址,以读取在第二存储器单元120中对应读取逻辑地址的第二数据。因此,在本实施例中,控制器130可直接对第二存储器单元120进行数据读取,而无须在第一存储器单元110的实体存储页中搜寻读取逻辑地址所对应的最后更新的数据,故可有效提升数据读取的速度。上述的读取指令例如是由主机所发送。
藉此,在一些实施例中,本发明与现有技术相比,可利用存取第二存储器单元120来有效降低对于第一存储器单元110的存取,进而延长第一存储器单元110的使用寿命,等效使存储器装置10具有良好的数据可靠度。此外,由于第二存储器单元120的数据存取速度大于第一存储器单元110的数据存取速度,故存储器装置10的数据读取速度也因此而提升。
以下对数据写入的流程提供一种详细的实施方式。请参照图3,图3是依照本发明一实施例所绘示的数据存取方法的流程图,且适用于图1的存储器装置10。
首先,在步骤S302中,控制器130对第一及第二存储器单元110、120执行初始化动作。控制器130可在初始化阶段,决定第一存储器单元110中可调用的实体存储页,并在这些实体存储页中,将存储有第一存储器单元110的有效数据的实体存储页设定为目前实体存储页。接着,控制器130并可将上述的有效数据复制至第二存储器单元120。
具体而言,在一实施例中,控制器130例如是在存储器装置10上电时,执行上述的初始化动作。在可调用的实体存储页以及目前实体存储页被决定后,控制器130可搜寻目前实体存储页中的存储栏位,以获得第一存储器单元110中所存储的至少一有效数据以及所述有效数据对应的至少一存储地址,并将所述有效数据复制至第二存储器单元120中的所述存储地址。换言的,与现有技术相比,在本发明的一些实施例中,其通过在第一存储器单元110的存储栏位中记录用以存取第二存储器单元120的地址,等效地建立了第一存储器单元110以及第二存储器单元120之间的对应关系。在此基础下,第二存储器单元120中的存储栏位便只须存储数据内容,故能够兼顾第二存储器单元120的元件尺寸。同时,也可通过第二存储器单元120以提供较佳的读取速度。
此外,控制器130还可在目前实体存储页中配置一标记,以指向在目前实体存储页的未写入区中的一存储栏位。当控制器130决定执行数据写入动作时,便可将所接收到的写入数据及其对应的写入逻辑地址写入至此标记指向的存储栏位。
在步骤S304中,控制器130接收写入数据。在步骤S306中,控制器130判断写入数据是否与第二存储器单元120中对应写入地址的的第一数据相同。当写入数据与第一数据相同时,进入步骤S308,控制器130不执行数据写入动作,并回到步骤S304,以接收下一笔写入数据。当写入数据与第一数据不同时,则进入步骤S310,控制器130执行数据写入动作。本实施例的步骤S304与图2实施例的步骤S202类似,且本实施例的步骤S306、S308、S310与图2实施例的步骤S204类似,故相同或相似处不再赘述。须注意的是,在本实施例中,控制器130执行的数据写入动作还可包括将写入数据以及写入地址写入至目前实体存储页中未被写入的同一存储栏位。藉此,即可依据写入至第一存储器单元110中的上述写入地址,同步更新第一存储器单元110以及第二存储器单元120之间的对应关系。
在执行数据写入动作之后,进入步骤S312,控制器130判断第一存储器单元110的目前实体存储页是否被写满。在本实施例中,控制器130可例如依据是否能够找到标记可指向的存储栏位,从而判断目前实体存储页是否被写满。当第一存储器单元110的目前实体存储页未被写满时,进入步骤S314,控制器130使标记指向目前实体存储页中另一未被写入的存储栏位。之后,回到步骤S304。
在一些实施例中,本发明与现有技术相比,控制器130还可在目前实体存储页中设置一擦写计数栏位,其用以存储存储器装置10的循环擦写次数。其中,当可调用的实体存储页皆被擦除一次时,控制器130可将循环擦写次数累加1。值得一提的是,在各实体存储页中,由于只有在目前实体存储页的擦写计数栏位中所存储的数据不为预设值(在此,预设值例如是经擦除后所存储的数值,例如:“0xFFFF”),故在这些实施例中,即可依据读取循环擦写次数栏位的数据是否为预设值来辨识目前实体存储页,并进而得知目前存储器装置10已执行过的循环擦写次数。擦写计数栏位的数据位数例如是2个字节。
因此,当第一存储器单元110的目前实体存储页被写满时,在步骤S316中,控制器130判断被写满的目前实体存储页是否为存取顺序中对应的最后一个实体存储页。若判断结果为否,则在步骤S318中,控制器130利用第二存储器单元120中对应目前实体存储页的有效数据以对目前实体存储页执行数据整理动作。在此,步骤S318与图2实施例的步骤S208类似,故细节不再重复说明。之后,进入步骤S314。
另一方面,若被写满的目前实体存储页为存取顺序中对应的最后一个实体存储页时,则进入步骤S320,控制器130可累加循环擦写次数。之后,进入步骤S318以对目前实体存储页执行数据整理动作,以及进入步骤S314。
值得一提的是,在一些实施例中,存储器装置10可提供的数据可靠度例如是依以下方程式(1)而计算得到。其中,R为平均每一数据的可靠度,SP为第一存储器单元110的实体存储页的位数,SC为擦写计数栏位的位数,SF为第一存储器单元110的一个存储栏位的位数,ND为已被写入数据的存储栏位的个数,NP为可调用的实体存储页的个数,NE为第一存储器单元110的可靠擦写次数。
例如,对于第一存储器单元110的实体存储页的位数(SP)为512字节、擦写计数栏位的位数(SC)为2字节、第一存储器单元110的一个存储栏位的位数(SF)为2字节、已被写入数据的存储栏位的个数(ND)为8、可调用的实体存储页的个数(NP)为2,且第一存储器单元110的可靠擦写次数(NE)为20000次的情况,存储器装置10可使平均每一数据的可靠度达到2470000次。藉此,可有效模拟出百万次的数据可靠度。
图4A至图4D分别是依照本发明一实施例所绘示的范例,其中,第一存储器单元410以及第二存储器单元420为前述实施例中的第一存储器单元110以及第二存储器单元120的一种实施方式。
首先,请参照图4A,其绘示出当初始化动作完成时的第一存储器单元410以及第二存储器单元420的示意图。在此范例中,实体存储页P0、P1被选择为可调用的实体存储页,且实体存储页P0、P1被依序存取。其中,目前实体存储页412被设定为实体存储页P1。
在此先对实体存储页P1的配置进行说明。如图4A所示,实体存储页P1包括存储栏位F0~Fi+1,且各存储栏位包括两个子栏位,以分别存储地址信息以及对应的数据内容。例如,存储栏位F0存储地址LA0以及数据D0,存储栏位F1存储地址LA1以及数据D1等。数据DP为数据预设值,代表对应的存储栏位未写入数据或是经过擦除动作。因此,在实体存储页P1中,存储栏位F0~Fi-1可为已写入区SR11,且存储栏位Fi、Fi+1可为未写入区SR12。此外,实体存储页P1还包括擦写计数栏位,其存储了存储器装置的循环擦写次数CE。另一方面,标记414被配置以指向未写入区SR12中的存储栏位Fi。
在此范例中,实体存储页P0未被写入数据(或是经过擦除动作),故其中的各存储栏位存储的是数据DP。此外,擦写计数栏位中存储的是循环擦写次数的预设值CP。
另一方面,第二存储器单元420可使用阵列形式来存储数据,其包括N个存储栏位,且N可大于i+1,以便提供足够数量的存储栏位来存储实体存储页P0、P1中的有效数据。在第二存储器单元420中,数据预设值也为数据DP。在初始化动作完成后,第一存储器单元410中的数据会依据存储在同个存储栏位中的地址信息而被对应复制至第二存储器单元420。例如,实体存储页P1中的数据D0被复制至第二存储器单元420中的地址LA0,实体存储页P1中的数据D1被复制至第二存储器单元420中的地址LA1等。若第一存储器单元410未存储特定地址(例如地址LA3)对应的数据内容,则在第二存储器单元420中,此特定地址(例如地址LA3)存储的数据内容是数据DP。
接着,当接收到写入数据D7以及对应的写入地址LA7时,由于写入数据D7与在第二存储器单元120中对应写入地址LA7的数据DP不相同,表示存储器装置10中的数据需要变更,故写入地址LA7以及写入数据D7被写入至实体存储页P1中的存储栏位Fi,且写入数据D7被写入至第二存储器单元120的地址LA7。此外,标记414被调整以指向至未写入区SR12中的存储栏位Fi+1。上述动作完成后的示意图如图4B所示。
请继续参照图4B,若再接收到写入数据D4以及对应的写入地址LA4时,由于写入数据D4与在第二存储器单元120中对应写入地址LA4的数据D4相同,表示存储器装置10中的数据无需变更,故不执行数据写入动作。
之后,当接收到写入数据DP以及对应的写入地址LA0时,由于写入数据DP与在第二存储器单元120中对应写入地址LA0的数据D0不相同,故写入地址LA0以及写入数据DP被写入至实体存储页P1中的存储栏位Fi+1,且写入数据DP被写入至第二存储器单元120的地址LA0,如图4C所示。
此时,实体存储页P1被写满,且实体存储页P1是存取顺序中的最后一个实体存储页。因此,控制器130可存取第二存储器单元420中的有效数据(例如地址LA1、LA4、LA6、LA7分别对应的数据D1、D4、D6、D7),并将上述的有效数据复制至实体存储页P0。此外,循环擦写次数CE被累加1后写入至实体存储页P0的擦写计数栏位(经累加后的循环擦写次数在本实施例中以CE’表示)。之后,实体存储页P1被擦除,且实体存储页P0被设定为目前实体存储页412。此时,实体存储页P0可包括已写入区SR01以及未写入区SR02,且标记414被指向未写入区SR02中的存储栏位Fj。至于被擦除的实体存储页P1中,各存储栏位被擦除为数据预设值(数据DP),且擦写计数栏位也被擦除为循环擦写次数的预设值CP。完成上述流程后的示意图如图4D所示。
综上所述,利用上述第一存储器单元(闪存)和第二存储器单元(静态随机存取存储器)的组合,可在接收到写入数据时,先将写入数据与第二存储器单元中的数据进行比对,从而在判断数据需要变更时才执行数据写入动作。此外,当第一存储器的目前实体存储页被写满时,还可依据第二存储器中的数据来对目前实体存储页进行数据整理。藉此,可有效降低第一存储器单元需被存取的次数,等效提升了数据可靠度。另外,利用第二存储器单元来提供读取功能,也可加速存储器装置的数据读取速度。
在一些实施例中,利用第二存储器单元来等效提升可读写次数的作法虽会造成存储器装置的尺寸些微增加,但由于第二存储器单元的存储栏位只须用以存储数据内容,而无须存储对应的地址信息,故仍可兼顾存储器装置整体的可读写次数、尺寸以及读取速度。
值得一提的是,在另一些实施例中,只有在存储器装置上电、下电(存储器装置的电力供应停止)以及第一存储器单元的目前使用存储页被写满的状况,第一存储器单元和第二存储器单元之间才会进行数据交换动作,而在其他情况时,则可仅由第二存储器单元来提供数据存取功能。其中,由于第二存储器单元所存储的数据会因电力供应停止而消失,故当存储器装置下电时,控制器也可适应性地将第二存储器单元中的数据复制到第一存储器单元中。
基于上述,在一些实施例中,本发明相较于现有技术将静态随机存取存储器作为缓冲存储器(Buffer)的情况,可提供较佳的数据可靠度并兼具高读取速度。这是因为,缓冲存储器通常是用以提供主机暂存数据,之后此暂存的数据再从缓冲存储器复制到存储装置,故主机在将数据暂存至缓冲存储器中之后,便不会再对缓冲存储器中的数据进行读取。此外,在现有技术的架构中,缓冲存储器也无法增加存储装置的可读写次数。
另一方面,相较于现有技术将静态随机存取存储器作为快取存储器(Cache)的情况,由于快取存储器一般仅用以提高数据存取速度,而无法增加存储装置的可读写次数,故在一些实施例中,本发明相较于现有技术可提供较佳的数据可靠度。
再加上,通过设置的擦写计数栏位,本发明实施例还可有效指出第一存储器单元中目前正在使用的目前实体存储页,并通过擦写计数栏位中所存储的循环擦写次数,进而提供存储器装置已执行过循环擦写动作的次数的相关信息。
虽然本发明已以实施例揭露如上,然其并非用以限定本发明,任何所属技术领域中相关技术人员,在不脱离本发明的精神和范围内,当可作些许的更动与润饰,故本发明的保护范围当视权利要求为准。

Claims (10)

1.一种存储器装置的数据存取方法,其特征在于,该存储器装置包括一第一存储器单元及一第二存储器单元,其中该第一存储器单元包括多个实体存储页,该第二存储器单元的数据存取速度大于该第一存储器单元的数据存取速度,且该数据存取方法包括:
接收一写入数据,其中该写入数据对应于一写入地址;
比对该写入数据以及在该第二存储器单元中对应该写入地址的一第一数据,以产生一比对结果,并依据该比对结果决定是否执行一数据写入动作,其中该数据写入动作包括将该写入数据写入至该第一存储器单元的一目前实体存储页中未被写入的一存储栏位,以及将该写入数据写入至该第二存储器单元中对应该写入地址的一存储栏位;
当执行该数据写入动作之后,判断该第一存储器单元的该目前实体存储页是否被写满;
当该第一存储器单元的该目前实体存储页被写满时,依据在该第二存储器单元中对应该目前实体存储页的多笔数据以对该目前实体存储页执行一数据整理动作;以及
当接收到一读取指令时,依据该读取指令中的一读取地址,以读取在该第二存储器单元中对应该读取地址的一第二数据。
2.如权利要求1所述的存储器装置的数据存取方法,其特征在于,比对该写入数据以及在该第二存储器单元中对应该写入地址的该第一数据,以产生该比对结果,并依据该比对结果决定是否执行该数据写入动作的步骤包括:
判断该写入数据是否与该第一数据相同;
当该写入数据与该第一数据相同时,不执行该数据写入动作;以及
当该写入数据与该第一数据不同时,执行该数据写入动作。
3.如权利要求1所述的存储器装置的数据存取方法,其特征在于,该目前实体存储页包括多个存储栏位,各该些存储栏位用以存储一地址信息以及对应的一数据内容,该第二存储器单元中对应该地址信息的一存储栏位只用以存储该数据内容,且该数据写入动作更包括:
写入该写入地址以及该写入数据至该目前实体存储页中未被写入的该存储栏位;以及
只写入该写入数据至该第二存储器单元中对应该写入地址的该存储栏位。
4.如权利要求1所述的存储器装置的数据存取方法,其特征在于,当该第一存储器单元的该目前实体存储页被写满时,依据在该第二存储器单元中对应该目前实体存储页的该些数据以对该目前实体存储页执行该数据整理动作的步骤包括:
选择该些实体存储页的其中之一以建立一置换实体存储页,其中该置换实体存储页与该目前实体存储页不同;
复制在该第二存储器单元中对应该目前实体存储页的该些数据中的至少一有效数据至该第一存储器单元的该置换实体存储页;以及
擦除该目前实体存储页,并将该置换实体存储页设定为该目前实体存储页。
5.如权利要求1所述的存储器装置的数据存取方法,其特征在于,更包括:
在该目前实体存储页中设置一擦写计数栏位,其中该擦写计数栏位用以存储该存储器装置的一循环擦写次数;
当该第一存储器单元的该目前实体存储页被写满时,判断该被写满的目前实体存储页是否为一存取顺序中对应的最后一个实体存储页;以及
当该被写满的目前实体存储页为该存取顺序中对应的该最后一个实体存储页时,累加该循环擦写次数。
6.如权利要求1所述的存储器装置的数据存取方法,其特征在于,更包括:
当该存储器装置上电时,获得该第一存储器单元中的至少一有效数据以及该至少一有效数据对应的至少一存储地址;以及
复制该至少一有效数据至该第二存储器单元中的该至少一存储地址。
7.如权利要求1所述的存储器装置的数据存取方法,其特征在于,该第二存储器单元的多个存储栏位的个数大于该第一存储器单元的该目前实体存储页的多个存储栏位的个数。
8.一种存储器装置,其特征在于,包括:
一第一存储器单元,包括多个实体存储页;
一第二存储器单元,该第二存储器单元的数据存取速度大于该第一存储器单元的数据存取速度;以及
一控制器,耦接至该第一存储器单元以及该第二存储器单元,该控制器接收一写入数据,其中该写入数据对应于一写入地址,该控制器比对该写入数据以及在该第二存储器单元中对应该写入地址的一第一数据,以产生一比对结果,并依据该比对结果决定是否执行一数据写入动作,其中该数据写入动作包括将该写入数据写入至该第一存储器单元的一目前实体存储页中未被写入的一存储栏位,以及将该写入数据写入至该第二存储器单元中对应该写入地址的一存储栏位,
当执行该数据写入动作之后,该控制器判断该第一存储器单元的该目前实体存储页是否被写满,当该第一存储器单元的该目前实体存储页被写满时,该控制器依据在该第二存储器单元中对应该目前实体存储页的多笔数据以对该目前实体存储页执行一数据整理动作,以及
当接收到一读取指令时,该控制器依据该读取指令中的一读取地址,以读取在该第二存储器单元中对应该读取地址的一第二数据。
9.如权利要求8所述的存储器装置,其特征在于,该控制器判断该写入数据是否与该第一数据相同,当该写入数据与该第一数据相同时,该控制器不执行该数据写入动作,以及当该写入数据与该第一数据不同时,该控制器执行该数据写入动作。
10.如权利要求8所述的存储器装置,其特征在于,该目前实体存储页包括多个存储栏位,各该些存储栏位用以存储一地址信息以及对应的一数据内容,该第二存储器单元中对应该地址信息的一存储栏位只用以存储该数据内容,且该控制器更写入该写入地址以及该写入数据至该目前实体存储页中未被写入的该存储栏位,以及只写入该写入数据至该第二存储器单元中对应该写入地址的该存储栏位。
CN201610326354.4A 2016-02-05 2016-05-17 存储器装置及其数据存取方法 Active CN107045423B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
TW105104069A TWI556103B (zh) 2016-02-05 2016-02-05 記憶體裝置及其資料存取方法
TW105104069 2016-02-05

Publications (2)

Publication Number Publication Date
CN107045423A true CN107045423A (zh) 2017-08-15
CN107045423B CN107045423B (zh) 2020-06-12

Family

ID=57851436

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610326354.4A Active CN107045423B (zh) 2016-02-05 2016-05-17 存储器装置及其数据存取方法

Country Status (3)

Country Link
US (1) US9870826B2 (zh)
CN (1) CN107045423B (zh)
TW (1) TWI556103B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109658867A (zh) * 2018-12-10 2019-04-19 北京欧徕德微电子技术有限公司 数据读写方法及其装置

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI584290B (zh) * 2016-02-04 2017-05-21 新唐科技股份有限公司 非依電性記憶體裝置及其操作方法
CN112068765B (zh) * 2019-06-10 2024-04-26 伊姆西Ip控股有限责任公司 管理存储系统的方法、设备和计算机程序产品
US11461025B2 (en) * 2020-11-05 2022-10-04 Macronix International Co., Ltd. Data retention in memory devices
TWI820883B (zh) * 2022-08-30 2023-11-01 新唐科技股份有限公司 積體電路及其快取記憶體有效位元清除方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120155171A1 (en) * 2010-12-17 2012-06-21 Komine Yuji Memory system
CN102521146A (zh) * 2011-11-08 2012-06-27 福建新大陆通信科技股份有限公司 一种flash存储器块细分的数据寻址存储方法
CN103269339A (zh) * 2013-05-03 2013-08-28 武汉噢易科技有限公司 基于超文本传输协议的文件传输方法及系统
CN103426470A (zh) * 2012-05-21 2013-12-04 北京兆易创新科技股份有限公司 提高快闪存储器的页编程速度的方法
US20160027481A1 (en) * 2014-07-23 2016-01-28 Samsung Electronics Co., Ltd., Storage device and operating method of storage device

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6813679B2 (en) * 2002-06-20 2004-11-02 Purple Mountain Server Llc Method and circuit for increasing the memory access speed of an enhanced synchronous SDRAM
US7146469B2 (en) * 2002-10-24 2006-12-05 Sony Corporation Method, apparatus, and system for improving memory access speed
US7292487B1 (en) * 2006-05-10 2007-11-06 Micron Technology, Inc. Independent polling for multi-page programming
TWI358068B (en) * 2007-10-19 2012-02-11 Phison Electronics Corp Writing method for non-volatile memory and control
TWI368223B (en) * 2007-12-07 2012-07-11 Phison Electronics Corp Flash memory data writing method and controller using the same

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120155171A1 (en) * 2010-12-17 2012-06-21 Komine Yuji Memory system
CN102521146A (zh) * 2011-11-08 2012-06-27 福建新大陆通信科技股份有限公司 一种flash存储器块细分的数据寻址存储方法
CN103426470A (zh) * 2012-05-21 2013-12-04 北京兆易创新科技股份有限公司 提高快闪存储器的页编程速度的方法
CN103269339A (zh) * 2013-05-03 2013-08-28 武汉噢易科技有限公司 基于超文本传输协议的文件传输方法及系统
US20160027481A1 (en) * 2014-07-23 2016-01-28 Samsung Electronics Co., Ltd., Storage device and operating method of storage device

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109658867A (zh) * 2018-12-10 2019-04-19 北京欧徕德微电子技术有限公司 数据读写方法及其装置

Also Published As

Publication number Publication date
TWI556103B (zh) 2016-11-01
TW201729100A (zh) 2017-08-16
CN107045423B (zh) 2020-06-12
US9870826B2 (en) 2018-01-16
US20170229182A1 (en) 2017-08-10

Similar Documents

Publication Publication Date Title
CN103425597B (zh) 数据储存装置和快闪存储器的区块管理方法
CN107045423A (zh) 存储器装置及其数据存取方法
CN109783009A (zh) 存储器系统及其操作方法
CN101740110B (zh) 一种Nand Flash擦除均衡的方法及装置
CN106776362B (zh) 存储器的控制方法及装置
US20100042774A1 (en) Block management method for flash memory, and storage system and controller using the same
WO2014074449A2 (en) Wear leveling in flash memory devices with trim commands
CN104765569B (zh) 数据写入方法、存储器控制电路单元与存储器储存装置
CN106484316A (zh) 用来管理一记忆装置的方法以及记忆装置与控制器
CN103106143A (zh) 固态储存装置及其逻辑至实体对应表建立方法
CN111651371B (zh) 非对称型平面管理方法以及数据存储装置及其控制器
CN105988722A (zh) 数据储存方法及嵌入式系统
CN103389881A (zh) 控制装置、存储装置以及数据写入方法
CN109521944A (zh) 数据储存装置以及数据储存方法
CN107291374A (zh) 纪录数据区块的使用时间的方法及其装置
TWI450271B (zh) 用來管理一快閃記憶體的複數個區塊之方法以及相關之記憶裝置及其控制器
CN103714010B (zh) 存储设备写入方法及存储设备
CN105988950B (zh) 存储器管理方法、存储器控制电路单元与存储器存储装置
CN106201329A (zh) 循环区块模式下的数据存取方法以及使用该方法的装置
CN106951186A (zh) 数据程序化方法、存储器存储装置及存储器控制电路单元
CN110489051A (zh) 数据储存装置及系统信息的编程方法
CN112347001B (zh) 闪存垃圾回收的校验方法、装置及电子设备
CN107229580A (zh) 顺序流检测方法与装置
CN110489050A (zh) 数据储存装置及系统信息的编程方法
CN117555478A (zh) 一种基于闪存的模拟eeprom读写方法

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