CN105320610B - 数据储存装置及操作数据储存装置的方法 - Google Patents
数据储存装置及操作数据储存装置的方法 Download PDFInfo
- Publication number
- CN105320610B CN105320610B CN201510031202.7A CN201510031202A CN105320610B CN 105320610 B CN105320610 B CN 105320610B CN 201510031202 A CN201510031202 A CN 201510031202A CN 105320610 B CN105320610 B CN 105320610B
- Authority
- CN
- China
- Prior art keywords
- data
- page
- stored
- information
- memory block
- 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
- 238000013500 data storage Methods 0.000 title claims abstract description 193
- 238000000034 method Methods 0.000 title claims description 24
- 238000012545 processing Methods 0.000 claims description 26
- 230000010365 information processing Effects 0.000 claims description 10
- 238000000151 deposition Methods 0.000 claims 1
- 235000013399 edible fruits Nutrition 0.000 claims 1
- 230000005540 biological transmission Effects 0.000 description 5
- 230000008859 change Effects 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 230000003139 buffering effect Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 238000011017 operating method Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7202—Allocation control and policies
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7204—Capacity control, e.g. partitioning, end-of-life degradation
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
一种数据储存装置包括存储器,所述存储器包括多个存储器块,多个存储器块中的每个包括多个页,所述多个页适于储存从主机传送的数据;以及控制器,其适于储存关于储存于存储器中的数据的数据储存信息,其中,所述数据储存信息基于所述多个页之中的储存所述数据的有效页来更新。
Description
相关申请的交叉引用
本申请要求在2014年7月31日提交的申请号为10-2014-0098503的韩国专利申请的优先权,其全部内容通过引用结合于此。
技术领域
本发明的示例性实施例涉及一种数据储存装置,尤指一种用于储存数据的数据储存信息的数据储存装置,以及一种操作所述数据储存装置的方法。
背景技术
计算机环境典范正转变为人们可以在任何时间、任何地点使用计算机的普遍存在的计算系统。这增加了便携式电子装置的使用,诸如移动电话、数字相机、笔记本电脑等等。这些便携式电子装置一般使用采用存储器的数据储存装置。所述数据储存装置用作便携式电子装置的主存储单元或辅助存储单元。
因为使用存储器的数据储存装置不具有移动部件,所以它们在稳定性和耐久性方面极好。此外,使用存储器的数据储存装置具有以快速数据存取率及低功率消耗进行操作的优点。具有上述优点的数据储存装置的非限制性示例包括通用串行总线(USB,universalserial bus)存储装置、具有多样的接口的存储卡、固态驱动器(SSD,solid-state driver)等。
发明内容
本发明的一实施例针对一种数据储存装置以及一种操作所述数据储存装置的方法,所述数据储存装置可以有效地储存存储器的数据储存信息。
根据本发明一实施例中,一种数据储存装置包括存储器,所述存储器包括多个存储器块,多个存储器块中的每个包括多个页,多个页适于储存从主机传送的数据;以及控制器,其适于储存关于储存于所述存储器中的数据的数据储存信息,其中,所述数据储存信息基于所述多个页之中的储存所述数据的有效页来更新。
当可以把第一数据储存于所述多个页之中的第一页中时,所述控制器储存第一数据储存信息,所述第一信息储存信息表示所述第一数据被储存于所述第一页中,以及当可以把所述第一数据储存于所述多个页之中的第二页中时,所述控制器将所述第一页处理为无效页,将对应于所述无效页的所述第一数据储存信息处理为无效信息,以及将所述第一数据储存信息更新为第二数据储存信息,所述第二数据储存信息表示所述第一数据被储存于所述第二页中。
当第一组数据可以被储存于所述多个页之中的第一组页中时,所述控制器储存第一数据储存信息,所述第一数据储存信息表示所述第一组数据被储存于所述第一组页中,以及当第二组数据可以被储存于所述多个页之中的第二组页中时,所述控制器基于所述第一组页之中的第一有效页的数目来更新所述第一数据储存信息。
当所述第一有效页的数目等于或小于预定第一阈值,或者所述第一有效页的数目变化等于或大于预定第二阈值时,所述控制器利用第二数据储存信息更新所述第一数据储存信息并且储存更新第一数据储存信息和所述第二数据储存信息,所述第二数据储存信息表示所述第二组数据被储存于所述第二组页中。
所述控制器还利用第三数据储存信息更新所述第一数据储存信息,所述第三数据储存信息对应于第三组页之中的第二有效页,其从储存所述第一组数据的第一时刻至储存所述第二组数据的第二时刻把所述数据储存于所述多个页之中。
所述控制器将在所述二时刻所述第一有效页的数目和所述第一有效页的数目变化与所述第一阈值和所述第二阈值进行比较以产生比较结果,并且基于所述比较结果将所述第一数据储存信息更新为所述更新第一数据储存信息。
所述控制器可以将所述第一组页之中储存与所述第二组数据不同的逻辑页信息的数据的页处理为所述第一有效页,将其它页处理为无效页,以及将对应于所述无效页的第四数据储存信息处理为无效信息。
所述控制器可以将对应于所述第一有效页的第五数据储存信息更新为所述更新第一数据储存信息。
所述数据储存信息可以包括所述数据的逻辑页信息以及关于在所述多个存储器块和所述多个页之中储存所述数据的存储器块和页的信息。
所述数据储存信息可以为储存于所述多个页和所述多个存储器块中的数据的物理至逻辑信息,以及可以把所述物理至逻辑信息储存于所述多个存储器块之中的预定存储器块的页中,以及可以把在更新之前储存所述物理至逻辑信息的页处理为无效页。
根据本发明另一实施例,一种用于操作数据储存装置的方法包括:把从主机传送的数据储存于存储器中,以及储存关于储存在所述存储器中的数据的数据储存信息,其中,所述数据被储存于在所述存储器的多个存储器块的每个中包括的多个页中,以及所述数据储存信息基于所述多个页之中储存所述数据的页来更新。
所述数据储存信息的储存包括:当第一数据被储存于所述多个页之中的第一页中时,储存第一数据储存信息,所述第一数据储存信息表示所述第一数据被储存于所述第一页中;以及当所述第一数据被储存于所述多个页之中的第二页中时,将所述第一页处理为无效页,将对应于所述无效页的所述第一数据储存信息处理为无效信息,以及将所述第一数据储存信息更新为第二数据储存信息,所述第二数据储存信息表示所述第一数据被储存于所述第二页中。
所述数据储存信息的储存可以包括:当第一组数据被储存于所述多个页之中的第一组页中时,储存第一数据储存信息,所述第一数据储存信息表示所述第一组数据被储存于所述第一组页中;以及当第二组数据被储存于所述多个页之中的第二组页中时,基于所述第一组页之中的第一有效页的数目来更新所述第一数据储存信息。
基于所述第一组页之中的所述第一有效页的数目来更新所述第一数据储存信息可以包括:当所述第一有效页的数目等于或小于预定第一阈值,或者所述第一有效页的数目变化等于或大于预定第二阈值时,利用第二数据储存信息来更新所述第一数据储存信息以及储存更新第一数据储存信息和所述第二数据储存信息,其中所述第二数据储存信息表示所述第二组数据被储存于所述第二组页中。
利用所述第二数据储存信息更新所述第一数据储存信息可以包括:利用与所述第三组页之中的第二有效页相对应的第三数据储存信息更新所述第一数据储存信息,其从储存所述第一组数据的第一时刻至储存所述第二组数据的第二时刻把所述数据储存于所述多个页之中。
基于所述第一组页之中的第一有效页的数目来更新所述第一数据储存信息可以包括:对在第二时刻所述第一有效页的数目和所述第一有效页的数目变化与所述第一阈值和所述第二阈值进行比较以产生比较结果,以及基于所述比较结果将所述第一数据储存信息更新为所述更新第一数据储存信息。
在所述第一组页之中,可以把储存与所述第二组数据不同逻辑页信息的数据的页处理为所述第一有效页,而把其他页处理为无效页,并且把对应于所述无效页的第四数据储存信息处理为无效信息。
利用所述第二数据储存信息更新所述第一数据储存信息可以包括:将对应于所述第一有效页的第五数据储存信息更新为所述更新第一数据储存信息。
所述数据储存信息可以包括所述数据的逻辑页信息以及关于所述多个存储器块和所述多个页之中的储存所述数据的存储器块和页的信息。
所述数据储存信息可以为储存于所述多个页和所述多个存储器块中的数据的物理至逻辑信息,以及可以把所述物理至逻辑信息储存于所述多个存储器块之中的预定存储器块的页中,以及可以把在更新之前存储所述物理至逻辑信息的页处理为无效页。
附图说明
图1为图示根据本发明一实施例的包括数据储存装置的数据处理系统的框图。
图2图示了根据本发明一实施例的数据储存装置中的存储器的示例。
图3至图6描述了根据本发明一实施例的数据储存装置中的数据写入操作的示例。
图7为描述根据本发明一实施例的数据储存装置中的数据储存过程的流程图。
具体实施方式
以下将参考附图详细描述本发明的示例性实施例。然而,本发明可以以不同形式来体现,而不应当被解释为限制于本文中所阐述的实施例。确切地,提供了这些实施例使得本公开将透彻且充分,并且将本发明的范围完整地传达给本领域技术人员。在本公开中,同样的附图标记在本发明的各个附图和实施例中指示同样的部分。
附图未必按比例,并且在一些情况下,为了清楚地图示实施例的特征,可能已经对比例进行了夸大处理。在本说明书中还应当注意,“连接/耦接”不仅表示一个部件与另一个部件直接耦接,还表示经由中间部件与另一个部件间接耦接。另外,只要在句中未特别提及,单数形式可以包括复数形式。
在下文中,参考附图详细描述本发明的一实施例。
图1为图示根据本发明一实施例的包括数据储存装置的数据处理系统的框图。
参考图1,数据处理系统100包括主机110和数据储存装置120。
主机110的非限制性示例包括便携式电子装置,诸如移动电话、MP3播放器、笔记本电脑等;以及电子装置,诸如桌面计算机、游戏机、TV、投影仪等。
数据储存装置120响应于来自主机110的请求而进行操作。数据储存装置120储存由主机110进行存取的数据。换言之,数据储存装置120可以用作主机110的主存储单元或辅助存储单元。根据与主机110通信的主机接口(或通信)协议,数据储存装置120可以采用各种方式来实现。例如,数据储存装置120可以是下列内容之一:固态驱动器盘(SSD)、多媒体卡(MMC,multi-media card)、嵌入式MMC(eMMC,embedded MMC)、降低尺寸的MMC(RS-MMC,reduced-size MMC)、微型MMC(micro-MMC)、安全数字(SD,secure digital)卡、迷你型-SD(mini-SD)卡、微型-SD(micro-SD)卡、通用串行总线(USB)储存装置、通用快闪储存(UFS,universal flash storage)装置、紧凑型快闪(CF,compact flash)卡、智能型媒体(SM,smart media)卡及记忆棒(MS,memory stick)等。
此外,数据储存装置120包括存储器150和控制器130,存储器150用于储存由主机110进行存取的数据,控制器130用于控制将数据储存至存储器150中。
存储器150即使在没有功率供应时,也可以保留储存的数据。特别地,存储器150通过写入操作储存由主机110提供的数据,并且通过读取操作把储存的数据传送至主机110。
控制器130响应于来自主机110的请求来控制存储器150。例如,控制器130向主机110提供从存储器150读取的数据,以及将从主机11输入的数据储存在存储器150中。为此,控制器130控制存储器150的操作,诸如读取操作、程序操作及擦除操作。
控制器130包括处理单元132、多个储存单元和缓冲单元138,所述多个储存单元包括第一储存单元134和第二储存单元136。
处理单元132控制数据储存装置120的一般操作,以及响应于从主机110传送的写入请求或读取请求来控制对存储器150执行的写入操作或读取操作。处理单元132驱动称为快闪转换层(FTL,flash transition layer)的固件,以控制数据储存装置120的操作。
第一储存单元134和第二储存单元136储存由处理单元132驱动的FTL,以及储存用来控制数据储存装置120的各种数据。特别地,第一储存单元134和第二储存单元136储存关于储存在存储器150中的数据的数据储存信息。例如,当在接收到从主机110传送的写入请求时把数据写入存储器150中时,第一储存单元134可以储存逻辑至物理(L2P,logical tophysical)信息(其在下文中称为逻辑信息)以作为数据储存信息,而第二储存单元136可以储存物理至逻辑(P2L,physical to logical)信息(其在下文中称为物理信息)以作为数据储存信息。
本文中,当具有逻辑页信息的数据被写入并储存在存储器150中时,逻辑信息可以包括在存储器150中数据的位置的位置信息,而物理信息可以包括数据的逻辑页信息(例如,逻辑页号或逻辑页索引)。例如,位置信息可以包括关于包括数据的块的块信息或者关于块的页的页信息(例如块/页号或块/页索引)。
此外,当控制器130执行把从存储器150读出的数据传送至主机110和把从主机110传送的数据储存在存储器150中的操作时,缓冲单元138暂时储存数据,尤其是由处理单元132驱动的FTL暂时储存数据。此外,缓冲单元138暂时储存用来控制数据储存装置120的各种数据。例如,缓冲单元138基于来自主机110的写入请求暂时储存在存储器150中储存的数据、或逻辑信息或物理信息。
此后,参考图2至图6详细描述根据本发明实施例的数据储存装置中执行的数据写入操作。
图2图示了根据本发明的实施例的数据储存装置中的存储器150的示例。图3至图6描述了根据本发明实施例的数据储存装置中的数据写入操作的示例。
参考图2,存储器150包括多个存储器块,存储器150包括第一存储器块(BLOCK0)210、第二存储器块(BLOCK1)220、第三存储器块(BLOCK2)230、第N存储器块(BLOCKN-1)240。存储器块210、220、230及240中的每个包括多个页,例如2M个页。
存储器块210、220、230及240中的每个通过数据写入操作储存从主机110传送的数据,并且通过数据读取操作向主机110提供储存于存储器块中的数据。通过数据写入操作的数据的储存和通过数据读取操作的数据的传送,特别是通过数据写入操作把从主机110传送的数据储存于存储器块210、220、230及240中的操作,在包括于存储器块210、220、230及240的每个中的多个页上以页为基础地执行。
参考图3至图6详细描述根据本发明实施例的数据储存装置中的数据写入操作。举一个简单示例,数据储存装置包括四个存储器块BLOCK0至BLOCK3,并且存储器块BLOCK0至BLOCK3中的每个包括4个页。控制器300和存储器350可以对应于图1中所示的控制器130和存储器150。
参考图3,当从主机传送通过写入操作要储存于存储器350中的数据310时,控制器300将数据310写入存储器350的对应存储器块BLOCK2的页中。此时,控制器300可以把关于数据310的数据储存信息的逻辑信息330储存于第一储存单元中,并且将数据储存信息的物理信息320储存于第二储存单元中。
具体来说,当在第一时刻从主机顺序传送具有逻辑页信息3的数据(以下称为“数据3”)、具有逻辑页信息2的数据(以下称为“数据2”)、具有逻辑页信息0的数据(以下称为“数据0”)以及具有逻辑页信息1的数据(以下称为“数据1”)时,把顺序包括数据3、数据2、数据0和数据1的数据310储存于缓冲单元中。换言之,控制器300的缓冲单元顺序储存数据310,数据310顺序包括数据3、数据2、数据0和数据1。储存于缓冲单元中的第一时刻的数据3、数据2、数据0和数据1被顺序写入并储存于存储器350的对应存储器块中。例如,第一时刻的数据3储存于存储器块BLOCK2的第一页362中,而第一时刻的数据2储存于存储器块BLOCK2的第二页364中。第一时刻的数据0储存于存储器块BLOCK2的第三页366中,而第一时刻的数据1储存于存储器块BLOCK2的第四页368中。由于存储器块BLOCK2的所有页都是有效页,所以存储器块BLOCK2的有效页的数目为“4”。
在第一时刻的数据3、数据2、数据0和数据1被顺序写入并储存于对应存储器块的对应页中时,逻辑信息330被储存于第一储存单元中。第一时刻的逻辑信息330包括信息331、信息332、信息333及信息334,信息331表示数据0储存于存储器块BLOCK2的页366中,信息332表示数据1储存于存储器块BLOCK2的页368中,信息333表示数据2储存于存储器块BLOCK2的页364中,信息334表示数据3储存于存储器块BLOCK2的页362中。例如,在逻辑信息330中,第一行的“0、1、2和3”表示关于储存的数据的信息,其是储存的数据的逻辑页信息。第二行的次序对(2,2)、(2,3)、(2,1)和(2,0)表示储存的数据的物理位置信息,其表示关于储存数据的块和页的信息。例如,在信息331中,第一行的“0”表示数据0,并且第二行的次序对(2,2)表示存储器块BLOCK2的第三页336。
此外,在第一时刻的数据3、数据2、数据0和数据1被顺序写入并储存于对应存储器块的对应页(其为存储器块BLOCK2的页362、364、366和368)中时,物理信息320被储存于控制器300的第二储存单元中。第一时刻的物理信息320包括信息321、322、323和324,信息321、322、323和324表示数据3、数据2、数据0和数据1顺序写入并储存于存储器块BLOCK2的页362、364、366和368中。
储存于第二储存单元中的第一时刻的物理信息320被写入并储存于存储器350的多个存储器块之中的预定存储器块的对应页(例如存储器块BLOCK0的页352)中。换言之,存储器块BLOCK0的页352储存存储器块BLOCK2的物理信息B2,以及存储器块BLOCK2的物理信息B2包括信息321、322、323和324,信息321、322、323和324表示数据3、数据2、数据0和数据1顺序储存于存储器块BLOCK2的页362至368中。总之,如上所述,数据3、数据2、数据0和数据1被顺序写入并储存于存储器350中的存储器块BLOCK2的页362至368中,以及表示存储器块BLOCK2的数据储存的存储器块BLOCK2的物理信息B2被写入并储存于存储器块BLOCK0的页352中。
如图3所示,在数据310被储存于存储器350中之后,可以进一步从主机传送数据以储存于存储器350中。参考图4,控制器400和存储器450可以对应于如图3所示的控制器300和存储器350。
当从主机传送数据410以储存于存储器450(其储存如图3所示的其他数据)中时,控制器400将数据410写入并储存于存储器450的对应存储器块BLOCK3的对应页中。此时,控制器300可以把关于数据410的数据储存信息的逻辑信息430储存于第一储存单元中,并且将数据储存信息的物理信息420储存于第二储存单元中。物理信息420被写入并储存于存储器450的多个存储器块之中的预定存储器块的对应页中。
具体来说,如早前参照图3所述的,在第一时刻的数据3、数据2、数据0和数据1被储存于存储器450中之后,在第二时刻从主机传送数据2、具有逻辑页信息4的数据(以下称为“数据4”)、数据1和数据3。顺序包括数据2、数据4、数据1和数据3的数据410被储存于缓冲单元中。换言之,控制器400的缓冲单元顺序储存数据2、数据4、数据1和数据3。
储存于缓冲单元中的第二时刻的数据2、数据4、数据1和数据3被顺序写入并储存于存储器450的对应存储器块中。例如,第二时刻的数据2被储存于存储器块BLOCK3的第一页466中,以及第二时刻的数据4被储存于存储器块BLOCK3的第二页467中。第二时刻的数据1被储存于存储器块BLOCK3的第三页468中,以及第二时刻的数据3被储存于存储器块BLOCK3的第四页469中。在这里,存储器块BLOCK3的所有页都是有效页,并且存储器块BLOCK3的有效页的数目为“4”。
此外,由于第二时刻的数据2、4、1和3被顺序写入并储存于存储器450中,所以在第一时刻储存于存储器450中的对应数据变成无效,所述对应数据为存储器块BLOCK2的页462、463和465中的数据3、2和1。结果,存储器块BLOCK2的页462、463和465变成无效页。在这里,存储器块BLOCK2的页464独自为有效页。因此,存储器块BLOCK2的有效页的数目为“1”。
在第二时刻的数据2、数据4、数据1和数据3被顺序写入并储存于对应存储器块的对应页中时,逻辑信息430被储存于第一储存单元中。在这里,第二时刻的逻辑信息430包括用信息432、信息433、信息434和信息435更新的图3所图示的第一时刻的逻辑信息330,信息432表示数据1被储存于存储器块BLOCK3的页468中,信息433表示数据2被储存于存储器块BLOCK3的页466中,信息434表示数据3被储存于存储器块BLOCK3的页469中,信息435表示数据4被储存于存储器块BLOCK3的页467中。简言之,由于储存于存储器块BLOCK2的页462中的数据3、储存于存储器块BLOCK2的页463中的数据2,以及储存于存储器块BLOCK2的页465中的数据1变成无效,所以第二时刻的逻辑信息430包括信息431、信息432、信息433、信息434及信息435,信息431表示数据0被储存于存储器块BLOCK2的页464中,信息432表示数据1被储存于存储器块BLOCK3的页468中,信息433表示数据2被储存于存储器块BLOCK3的页466中,信息434表示数据3被储存于存储器块BLOCK3的页469中,信息435表示数据4被储存于存储器块BLOCK3的页467中。例如,在逻辑信息430中的第一行的“0、1、2、3及4”是关于储存的数据的信息,换言之,是储存的数据的逻辑页信息。第二行的次序对是储存的数据的物理位置信息,换言之,次序对是关于储存数据的对应存储器块和页的信息。
此外,由于第二时刻的数据2、数据4、数据1和数据3被顺序写入并储存于对应存储器块的对应页中,换言之,其为存储器块BLOCK3的页466、467、468及469,因此物理信息420被储存于控制器400的第二储存单元中。第二时刻的物理信息420包括信息421、422、423及424,信息421、422、423及424表示数据2、数据4、数据1与数据3被顺序写入并储存于存储器块BLOCK3的页466、467、468及469中。
储存于第二储存单元中的第二时刻的物理信息420被写入并储存在存储器450的多个存储器块之中的预定存储器块的对应页(例如存储器块BLOCK0的页453)中以作为存储器块BLOCK3的物理信息B3。换言之,存储器块BLOCK0的页453储存存储器块BLOCK3的物理信息B3,并且存储器块BLOCK3的物理信息B3包括信息421、422、423及424,信息421、422、423及424表示数据2、数据4、数据1与数据3被顺序储存于存储器块BLOCK3的页466至469中。
此外,如上所述,由于储存了第二时刻的数据2、数据4、数据1与数据3,所以储存于存储器块BLOCK2的页462中的数据3、储存于存储器块BLOCK2的页463中的数据2,以及储存于存储器块BLOCK2的页465中的数据1是无效的,并且存储器块BLOCK2的页462、存储器块BLOCK2的页463及存储器块BLOCK2的页465变为无效页。因此,在表示数据3、数据2、数据0与数据1被顺序写入存储器块BLOCK2的页462至465中的存储器块BLOCK2的物理信息425中,表示存储器块BLOCK2的无效页的信息变为无效信息。换言之,对应于存储器块BLOCK2的页462的信息426、对应于存储器块BLOCK2的页463的信息427及对应于存储器块BLOCK2的页465的信息429变为无效信息。
第二时刻的物理信息425被储存于存储器450的多个存储器块之中的预定存储器块的对应页中,以作为存储器块BLOCK2的物理信息B2。储存于存储器450中作为第一时刻的存储器块BLOCK2的物理信息B2的信息变成无效信息。结果,储存第一时刻的存储器块BLOCK2的物理信息B2的存储器块BLOCK0的页452变成存储器450中的无效页。
由于第二时刻发生于第一时刻之后,所以第二时刻的物理信息425被写入并储存于存储器450的多个存储器块之中的存储器块BLOCK0的页454中,以作为存储器块BLOCK2的物理信息B2。因此,存储器块BLOCK0的页453储存存储器块BLOCK3的物理信息B3,并且存储器块BLOCK3的物理信息B3包括信息421、422、423及424,信息421、422、423及424表示数据2、数据4、数据1和数据3被顺序储存于存储器块BLOCK3的页466至469中。存储器块BLOCK0的页454储存存储器块BLOCK2的物理信息B2,并且存储器块BLOCK2的物理信息B2包括信息428,信息428表示数据0被储存于存储器块BLOCK2的页464中。
当检验出存储器块BLOCK0的有效页的数目或者有效页的数目变化(或出现的无效页的数目)时,有效页的数目可以等于或小于预定第一阈值,或者有效页的数目变化可以等于或大于预定第二阈值。例如,如图4的底部右侧所示,当存储器块BLOCK0的页454及455为无效页时,储存第一时刻的存储器块BLOCK2的物理信息B2的存储器块BLOCK0的页452也可以通过在第二时刻执行的数据更新而被视为无效页。在此情况中,第二时刻的物理信息425被写入并储存于存储器450的多个存储器块之中的存储器块BLOCK1的页456中,以作为存储器块BLOCK2的物理信息B2。结果,存储器块BLOCK2的物理信息B2被写入并储存于存储器450的多个存储器块之中的存储器块BLOCK1的页456中。总之,存储器块BLOCK0的页453储存存储器块BLOCK3的物理信息B3,并且存储器块BLOCK3的物理信息B3包括信息421、422、423及424,信息421、422、423及424表示数据2、数据4、数据1和数据3被顺序储存于存储器块BLOCK3的页466至469中。存储器块BLOCK1的页456储存存储器块BLOCK2的物理信息B2。存储器块BLOCK2的物理信息B2包括信息428,信息428表示数据0被储存于存储器块BLOCK2的页464中。
接着,请参考图5,在从主机传送通过数据写入操作要写入并储存于存储器中的数据500时,控制器将数据500写入并储存于存储器的对应存储器块BLOCK2、BLOCK3和BLOCK4的对应页中。此时,控制器可以将关于数据510的数据储存信息的逻辑信息530、550及570储存于第一储存单元中,而将数据储存信息的物理信息540、560及580储存于第二储存单元中。
具体而言,当数据0、数据1、数据2及数据3在特定时刻(例如时刻t0)从主机传送时,数据0、数据1、数据2和数据3被储存于缓冲单元中。换言之,缓冲单元储存时刻t0的数据0、数据1、数据2和数据3(指的是图5中所示的数据500中的时刻t0的“0、1、2和3”)。
储存于缓冲单元中的时刻t0的数据0、数据1、数据2和数据3被顺序写入并储存于对应存储器块的对应页中。例如,时刻t0的数据0被储存于存储器块BLOCK2的页502中,而时刻t0的数据1被储存于存储器块BLOCK2的页504中。时刻t0的数据2被储存于存储器块BLOCK2的页506中,而时刻t0的数据3被储存于存储器块BLOCK2的页508中。由于存储器块BLOCK2的所有页都为有效页,所以存储器块BLOCK2的有效页的数目为“4”。
在时刻t0的数据0、数据1、数据2和数据3被写入并储存于对应存储器块的对应页中时,把逻辑信息530储存于第一储存单元中。时刻t0的逻辑信息530包括信息531、信息532、信息533及信息534,信息531表示数据0被储存于存储器块BLOCK2的页502中,信息532表示数据1被储存于存储器块BLOCK2的页504中,信息533表示数据2被储存于存储器块BLOCK2的页506中,信息534表示数据3被储存于存储器块BLOCK2的页508中。例如,逻辑信息530中的第一列的“0、1、2、3和4”是关于储存的数据的信息,换言之,是储存的数据的逻辑页信息。第二列的次序对(2,0)、(2,1)、(2,2)和(2,3)是储存的数据的物理位置信息,换言之,是关于储存数据的对应存储器块和页的信息。例如,在逻辑信息530中,第一行531的第一列的“0”为数据0,并且它表示逻辑页0;以及第一行531的第二列的次序对(2,0)表示存储器块BLOCK2的页502。
此外,由于时刻t0的数据0、数据1、数据2和数据3被写入并储存于对应存储器块的对应页中,所以物理信息540被储存于第二储存单元中。时刻t0的物理信息540包括信息541、信息542、信息543和信息544,信息541表示数据0被储存于存储器块BLOCK2的页502中,信息542表示数据1被储存于存储器块BLOCK2的页504中,信息543表示数据2被储存于存储器块BLOCK2的页506中,信息544表示数据3被储存于存储器块BLOCK2的页508中。例如,物理信息540的第一列的次序对(2,0)、(2,1)、(2,2)和(2,3)表示储存的数据的物理位置信息。换言之,物理信息540的第一行的次序对(2,0)、(2,1)、(2,2)和(2,3)表示储存数据的对应存储器块和页的信息。第二行的“0、1、2、3和4”表示关于储存的数据的信息,即储存的数据的逻辑页信息。例如,物理信息540中的第一行541的第一列中的次序对(2,0)表示存储器块BLOCK2的页502;以及第一行541的第二列中的“0”意味着数据0,并且表示逻辑页0。
此外,如早前参考图3及图4所述的,储存于第二储存单元中的时刻t0的物理信息540储存于存储器的多个存储器块之中的预定存储器块的对应页(图5中未示出)中。
当在特定时刻,例如在紧接时刻t0之后的时刻t1,从主机传送数据0、数据1、数据4及包括逻辑页信息5的数据(以下称为“数据5”)时,数据0、数据1、数据4与数据5被储存于缓冲单元中。换言之,缓冲单元储存时刻t1的数据0、数据1、数据4与数据5(其为图5的数据500中的时刻t1的“0、1、4和5”)。
由于时刻t0的数据0、数据1、数据2与数据3以及时刻t1的数据0、数据1、数据4与数据5被储存于缓冲单元中,所以时刻t0的数据0和数据1被更新为时刻t1的数据0和数据1。
此外,时刻t1的数据0、数据1、数据4与数据5被写入并储存于对应存储器块的对应页中。例如,时刻t1的数据0被储存于存储器块BLOCK3的页510中,而时刻t1的数据1被储存于存储器块BLOCK3的页512中。时刻t1的数据4被储存于存储器块BLOCK3的页514中,而时刻t1的数据5被储存于存储器块BLOCK3的页516中。
如上所述,由于时刻t1的数据0被储存于存储器块BLOCK3的页510中并且时刻t1的数据1被储存于存储器块BLOCK3的页512中,所以时刻t0的数据0和数据1被更新为时刻t1的数据0和数据1。结果,储存时刻t0的数据0的存储器块BLOCK2的页502以及储存时刻t0的数据1的存储器块BLOCK2的页504变成无效页。换言之,有效页为储存数据2的存储器块BLOCK2的页506,以及储存数据3的存储器块BLOCK2的页508。在这里,存储器块BLOCK2的有效页的数目为“2”,并且由于存储器块BLOCK3的所有页都是有效页,所以存储器块BLOCK3的有效页的数目为“4”。
由于时刻t1的数据0、数据1、数据4与数据5被写入并储存于对应存储器块的对应页中,所以逻辑信息550被储存于第一储存单元中。时刻t1的逻辑信息550包括信息551、信息552、信息553及信息554,信息551表示数据0被储存于存储器块BLOCK3的页510中,信息552表示数据1被储存于存储器块BLOCK3的页512中,信息553表示数据4被储存于存储器块BLOCK3的页514中,信息554表示数据5被储存于存储器块BLOCK3的页516中。例如,逻辑信息550的第一列表示关于储存的数据的信息,其为储存的数据的逻辑页信息;以及第二列的次序对表示储存的数据的物理位置信息,其为储存数据的存储器块和页的信息。
此外,在时刻t1的数据0、数据1、数据4与数据5被写入并储存于对应存储器块的对应页中时,物理信息560被储存于第二储存单元中。特别地,如上所述,由于时刻t1的数据0储存于存储器块BLOCK3的页510中,并且时刻t1的数据1储存于存储器块BLOCK3的页512中,以使储存时刻t0的数据0中的存储器块BLOCK2的页502以及储存时刻t0的数据1的存储器块BLOCK2的页504为无效页,所以表示数据0被储存于存储器块BLOCK2的页502中的信息541以及表示数据1被储存于存储器块BLOCK2的页504中的信息542变成无效信息。换言之,时刻t0的物理信息540中的信息541和542被更新至在时刻t1的物理信息560中的信息563和信息564,信息563表示数据0被储存于存储器块BLOCK3的页510中,信息564表示数据1被储存于存储器块BLOCK3的页512中。
简言之,时刻t1的物理信息560包括信息561、信息562、信息563、信息564、信息565及信息566,信息561表示数据2被储存于存储器块BLOCK2的页506中,信息562表示数据3被储存于存储器块BLOCK2的页508中,信息563表示数据0被储存于存储器块BLOCK3的页510中,信息564表示数据1被储存于存储器块BLOCK3的页512中,信息565表示数据4被储存于存储器块BLOCK3的页514中,信息566表示数据5被储存于存储器块BLOCK3的页516中。例如,物理信息560的第一列中的次序对表示储存的数据的物理位置信息,其为关于储存数据的对应存储器块和页的信息;以及第二列表示关于储存的数据的信息,其为储存的数据的逻辑页信息。
如早前参照图3及图4所描述的,储存于第二储存单元中的时刻t1的物理信息560被储存于存储器的多个存储器块之中的预定存储器块的对应页(图5中未示出)中。
此外,当在下一个时刻,例如紧接着时刻t1之后的时刻t2,从主机传送数据1、数据3、数据4及包括逻辑页信息6的数据(以下称为“数据6”)时,数据1、数据3、数据4与数据6被储存于缓冲单元中。换言之,缓冲单元储存时刻t2的数据1、数据3、数据4与数据6(其为图5的数据500中的时刻t2的“1、3、4和6”)。
在这里,由于时刻t0的数据0、数据1、数据2与数据3、以及时刻t1的数据0、数据1、数据4与数据5以及时刻t2的数据1、数据3、数据4与数据6被储存于缓冲单元中,所以时刻t0的数据3和时刻t1的数据1与数据4被更新为时刻t2的数据1、数据3与数据4。
此外,时刻t2的数据1、数据3、数据4与数据6被写入并储存于对应存储器块的对应页中。例如,时刻t2的数据1被储存于存储器块BLOCK4的页518中,而时刻t2的数据3被储存于存储器块BLOCK4的页520中。时刻t2的数据4被储存于存储器块BLOCK4的页522中,而时刻t2的数据6被储存于存储器块BLOCK4的页524中。
如上所述,由于时刻t2的数据1被储存于存储器块BLOCK4的页518中并且时刻t2的数据3被储存于存储器块BLOCK4的页520中,以及时刻t2的数据4被储存于存储器块BLOCK4的页522中,所以时刻t0的数据3及时刻t1的数据1与数据4被更新为时刻t2的数据1、数据3与数据4。结果,储存时刻t0的数据3的存储器块BLOCK2的页508、储存时刻t1的数据1的存储器块BLOCK3的页512以及储存时刻t1的数据4的存储器块BLOCK3的页514变成无效页。换言之,有效页为储存数据2的存储器块BLOCK2的页506、储存数据0的存储器块BLOCK3的页510以及储存数据5的存储器块BLOCK3的页516。在这里,存储器块BLOCK2的有效页的数目为“1”,且存储器块BLOCK3的有效页的数目为“2”。由于存储器块BLOCK4的所有页都为有效页,所以存储器块BLOCK4的有效页的数目为“4”。
由于时刻t2的数据1、数据3、数据4与数据6被写入并储存于对应存储器块的对应页中,所以逻辑信息570被储存于第一储存单元中。时刻t2的逻辑信息570包括信息571、信息572、信息573及信息574,信息571表示数据1被储存于存储器块BLOCK4的页518中,信息572表示数据3被储存于存储器块BLOCK4的页520中,信息573表示数据4被储存于存储器块BLOCK4的页522中,信息574表示数据6被储存于存储器块BLOCK4的页524中。例如,逻辑信息570的第一列表示关于储存的数据的信息,其为储存的数据的逻辑页信息;以及第二列的次序对表示储存的数据的物理位置信息,其为关于储存数据的存储器块和页的信息。
此外,在第二时刻t2的数据1、数据3、数据4与数据6被写入并储存于对应存储器块的对应页中时,物理信息580被储存于第二储存单元中。特别地,如上所述,由于时刻t2的数据1被储存于存储器块BLOCK4的页518中以及时刻t2的数据3被储存于存储器块BLOCK4的页520中,以及时刻t2的数据4被储存于存储器块BLOCK4的页522中,以使储存时刻t0的数据3的存储器块BLOCK2的页508、储存时刻t1的数据1的存储器块BLOCK3的页512以及储存时刻t1的数据4的存储器块BLOCK3的页514为无效页,所以在时刻t1的物理信息560中,表示数据3被储存于存储器块BLOCK2的页508中的信息562、表示数据1被储存于存储器块BLOCK3的页512中的信息564以及表示数据4被储存于存储器块BLOCK3的页514中的信息565变成无效信息。换言之,时刻t1的物理信息560中的信息562、564及565被更新为时刻t2的物理信息580中的信息586、信息584及信息587,信息586表示数据3被储存于存储器块BLOCK4的页520中,信息584表示数据1被储存于存储器块BLOCK4的页518中,信息587表示数据4被储存于存储器块BLOCK4的页522中。
简言之,时刻t2的物理信息580包括信息581、信息582、信息583、信息584、信息586、信息587及信息588,信息581表示数据2被储存于存储器块BLOCK2的页506中,信息582表示数据被0储存于存储器块BLOCK3的页510中,信息583表示数据5被储存于存储器块BLOCK3的页516中,信息584表示数据1被储存于存储器块BLOCK4的页518中,信息586表示数据3被储存于存储器块BLOCK4的页520中,信息587表示数据4被储存于存储器块BLOCK4的页522中,信息588表示数据6被储存于存储器块BLOCK4的页524中。例如,物理信息580的第一列的次序对表示储存的数据的物理位置信息,其为关于储存数据的对应存储器块和页的信息;以及第二列表示关于储存的数据的信息,其为储存的数据的逻辑页信息。
如早前参照图3及图4所述的,储存于第二储存单元中的时刻t2的物理信息580被储存于存储器的多个存储器块之中的预定存储器块的对应页(图5中未示出)中。
如上面参照图5所述的,当具有与储存的数据相同逻辑页的数据被储存于存储器中时,根据本发明实施例的数据储存装置更新关于储存于存储器中的数据的数据储存信息,尤指更新关于无效页的物理信息,以有效地储存物理信息。因此,根据本发明实施例的数据储存装置通过简易地检验物理信息和逻辑信息可以有效地检验出无效页。
接着,参考图6,在从主机传送数据600并且通过数据写入操作被写入并储存于存储器中时,控制器将数据600写入并储存于存储器的对应存储器块BLOCK2、BLOCK3及BLOCK6的对应页中。此时,控制器可以将关于数据610的数据储存信息的逻辑信息630、650及670储存于第一储存单元中,并且将数据储存信息的物理信息640和680储存于第二储存单元中。
具体而言,在数据0、数据1、数据2及数据3在时刻t0从主机传送时,数据0、数据1、数据2与数据3被储存于缓冲单元中。换言之,缓冲单元储存时刻t0的数据0、数据1、数据2和数据3(指的是图6中所示的数据600中的时刻t0的“0、1、2和3”)。
储存于缓冲单元中的时刻t0的数据0、数据1、数据2和数据3被顺序写入并储存于对应存储器块的对应页中。例如,时刻t0的数据0被储存于存储器块BLOCK2的页602中,并且时刻t0的数据1被储存于存储器块BLOCK2的页604中。时刻t0的数据2被储存于存储器块BLOCK2的页606中,以及时刻t0的数据3被储存于存储器块BLOCK2的页608中。由于存储器块BLOCK2的所有页都为有效页,所以存储器块BLOCK2的有效页的数目为“4”。
在时刻t0的数据0、数据1、数据2和数据3被写入并储存于对应存储器块的对应页中时,逻辑信息630被储存于第一储存单元中。时刻t0的逻辑信息630包括信息631、信息632、信息633、信息634,信息631表示数据0被储存于存储器块BLOCK2的页602中,信息632表示数据1被储存于存储器块BLOCK2的页604中,信息633表示数据2被储存于存储器块BLOCK2的页606中,信息634表示数据3被储存于存储器块BLOCK2的页608中。例如,在逻辑信息630中,第一列表示储存的数据的逻辑页信息;以及第二列表示储存的数据的物理位置信息,其是关于储存数据的对应存储器块和页的信息。
此外,由于时刻t0的数据0、数据1、数据2和数据3被写入并储存于对应存储器块的对应页中,所以物理信息640被储存于第二储存单元中。时刻t0的物理信息640包括信息641、信息642、信息643及信息644,信息641表示数据0被储存于存储器块BLOCK2的页602中,信息642表示数据1被储存于存储器块BLOCK2的页604中,信息643表示数据2被储存于存储器块BLOCK2的页606中,信息644表示数据3被储存于存储器块BLOCK2的页608中。例如,在物理信息640中,第一列表示储存的数据的物理位置信息,其是关于储存数据的对应存储器块和页和信息;以及第二列表示储存的数据的逻辑页信息。
此外,如早前参考图3和图4所述的,储存在第二储存单元中的时刻t0的物理信息640被储存于存储器的多个存储器块之中的预定存储器块的对应页(图6未示出)中。
当在特定时刻,例如紧接着时刻t0之后的时刻t1,从主机传送数据0、数据4、数据5和数据6时,数据0、数据4、数据5和数据6被储存于缓冲单元中。换言之,缓冲单元储存时刻t1的数据0、数据4、数据5和数据6(其为图6的数据600中的时刻t1的“0、4、5和6”)。
由于时刻t0的数据0、数据1、数据2和数据3以及时刻t1的数据0、数据4、数据5和数据6被储存于缓冲单元中,所以时刻t0的数据0被更新为时刻t1的数据0。
此外,时刻t1的数据0、数据4、数据5和数据6被写入并储存于对应存储器块的对应页中。例如,时刻t1的数据0被储存于存储器块BLOCK3的页610中,并且时刻t1的数据4被储存于存储器块BLOCK3的页612中。时刻t1的数据5被储存于存储器块BLOCK3的页614中,并且时刻t1的数据6被储存于存储器块BLOCK3的页616中。
如上所述,由于时刻t1的数据0被储存于存储器块BLOCK3的页610中,所以时刻t0的数据0被更新为时刻t1的数据0。结果,储存时刻t0的数据0的存储器块BLOCK2的页602变成无效页。换言之,存储器块BLOCK2的有效页为储存数据1的页604、储存数据2的页606以及储存数据3的页608。在这里,存储器块BLOCK2的有效页的数目为“3”;以及由于存储器块BLOCK3的所有页都为有效页,所以存储器块BLOCK3的有效页的数目为“4”。
由于时刻t1的数据0、数据4、数据5和数据6被写入并储存于对应存储器块的对应页中,所以逻辑信息650被储存于第一储存单元中。时刻t1的逻辑信息650包括信息651、信息652、信息653及信息654,信息651表示数据0被储存于存储器块BLOCK3的页610中,信息652表示数据4被储存于存储器块BLOCK3的页612中,信息653表示数据5被储存于存储器块BLOCK3的页614中,信息654表示数据6被储存于存储器块BLOCK3的页616中。例如,逻辑信息650的第一列表示关于储存的数据的信息,其为储存的数据的逻辑页信息;以及第二列的次序对表示储存的数据的物理位置信息,其为关于储存数据的存储器块和页的信息。
根据本发明一实施例的数据储存装置检验出有效页的数目,或有效页的数目变化(或出现的无效页的数目)。当有效页的数目等于或小于预定第一阈值,或者有效页的数目变化等于或大于预定第二阈值时,由于数据在特定时刻被写入并储存于对应存储器块的对应页中,所以对物理信息进行了更新和储存。
换言之,当第一组数据在第一时刻被写入对应存储器块的对应页中,然后第一组数据在第二时刻被更新时,检验出储存第一组数据的第一组页之中的有效页的数目或有效页的数目变化(或出现的无效页的数目)。当第一组页之中的有效页的数目等于或小于预定第一阈值,或有效页的数目变化等于或大于预定第二阈值时,由于数据在第二时刻被写入并储存于对应存储器块的对应页中,所以对物理信息进行了更新和储存。
在下文中,为了简易描述,把预定第一阈值描述为“1”,并且把预定第二阈值描述为“2”。预定阈值可以依据本发明实施例的数据储存装置的使用环境可变地设定。
具体而言,在数据1、数据2、具有逻辑页信息7的数据(在下文中称为“数据7”)和具有逻辑页信息8的数据(在下文中称为“数据8”)在第二时刻被从主机传送时,其中,所述第二时刻例如时刻t4,其为在第一时刻(例如时刻t0)之后的任何时刻,数据1、数据2、数据7和数据8被储存于缓冲单元中。换言之,缓冲单元储存时刻t4的数据1、数据2、数据7和数据8(指的是图6中所示的数据600中的时刻t4的“1、2、7和8”)。
时刻t0的数据0、数据1、数据2和数据3、时刻t1的数据0、数据4、数据5和数据6以及时刻t4的数据1、数据2、数据7和数据8被储存于缓冲单元中,并且时刻t0的数据1和数据2被更新为时刻t4的数据1和数据2。
储存于缓冲单元中的时刻t4的数据1、数据2、数据7和数据8被写入并储存于对应存储器块的对应页中。例如,时刻t4的数据1被储存于存储器块BLOCK6的页618中,以及时刻t4的数据2被储存于存储器块BLOCK6的页620中。时刻t4的数据7被储存于存储器块BLOCK6的页622中,并且时刻t4的数据8被储存于存储器块BLOCK6的页624中。
如上面所述,储存于缓冲单元中的时刻t0的数据0、数据1、数据2和数据3为第一时刻的第一组数据。第一时刻的第一组数据被写入并储存于对应存储器块的对应页中。换言之,时刻t0的数据0被储存于存储器块BLOCK2的页602中,以及时刻t0的数据1被储存于存储器块BLOCK2的页604中,以及时刻t0的数据2被储存于存储器块BLOCK2的页606中,以及时刻t0的数据3被储存于存储器块BLOCK2的页608中。因此,存储器块BLOCK2的页602至608为第一组页。第一组页中的有效页的数目为“4”。
此外,如上所述,储存于缓冲单元中的时刻t0的数据0、数据1、数据2和数据3为第二时刻的第二组数据。第二时刻的第二组数据被写入并储存于对应存储器块的对应页中。换言之,时刻t4的数据1被储存于存储器块BLOCK6的页618中,以及时刻t4的数据2被储存于存储器块BLOCK6的页620中,以及时刻t4的数据7被储存于存储器块BLOCK6的页622中,以及时刻t4的数据8被储存于存储器块BLOCK6的页624中。因此,存储器块BLOCK3的页618至624为第二组页。第二组页中的有效页的数目为“4”。
由于时刻t4(其为第二时刻)的数据1被储存于存储器块BLOCK6的页618中,并且时刻t4的数据2被储存于存储器块BLOCK6的页620中,所以时刻t0的数据1和数据2被更新为时刻t4的数据1和数据2。结果,储存时刻t0的数据1的存储器块BLOCK2的页604以及储存时刻t0的数据2的存储器块BLOCK2的页606变成无效页。换言之,储存数据3的存储器块BLOCK2的页608变成唯一的有效页。简言之,第一组页之中的有效页的数目为“1”。由于第一组页之中的有效页的数目在时刻t0为“4”、在时刻t1为“3”,以及在时刻t4为“1”,所以在时刻t4时有效页的数目等于或小于预定第一阈值,或者有效页的数目变化等于或大于预定第二阈值。物理信息在时刻t4被更新和储存。
根据本发明实施例的数据储存装置更新作为第一时刻的时刻t0的物理信息640,并更新作为第二时刻的时刻t4的物理信息680。因此,更新操作通过反映从第一时刻至第二时刻(其是从时刻t0至时刻t4)的数据被写入并储存于对应存储器块的对应页中来执行。
换言之,物理信息680通过反映下面事实而被储存于第二储存单元中,所述事实为在时刻t1的数据0、数据4、数据5和数据6被写入并储存于对应存储器块的对应页中之后,时刻t4的数据1、数据2、数据7和数据8被写入并储存于对应存储器块的对应页中。特别地,如上所述,由于在作为第一时刻的时刻0,数据0被储存于存储器块BLOCK2的页602中,以及数据1被储存于存储器块BLOCK2的页604中,以及数据2被储存于存储器块BLOCK2的页606中,以及数据3被储存于存储器块BLOCK2的页608中,然后在时刻t2数据0被储存于存储器块BLOCK3的页610中,然后在时刻t4数据1被储存于存储器块BLOCK6的页618中并且时刻t4的数据2被储存于存储器块BLOCK6的页620中,所以储存时刻t0的数据0的存储器块BLOCK2的页602、储存时刻t0的数据1的存储器块BLOCK2的页604以及储存时刻t0的数据2的存储器块BLOCK2的页606变成无效页。因此,在时刻t0的物理信息640中,表示数据0被储存于存储器块BLOCK2的页602中的信息641、表示数据1被储存于存储器块BLOCK2的页604中的信息642以及表示数据2被储存于存储器块BLOCK2的页606中的信息643变成无效信息。简言之,时刻t0的物理信息640中的信息641、642及643被更新为时刻t4的物理信息680中的信息682、信息686及信息687,信息682表示数据0被储存于存储器块BLOCK3的页610中,信息686表示数据1被储存于存储器块BLOCK6的页618,信息687表示数据2被储存于存储器块BLOCK6的页620中。
简言之,时刻t4的物理信息680包括信息681、信息682、信息683、信息684、信息685、信息686、信息687、信息688及信息689,信息681表示数据3被储存于存储器块BLOCK2的页608中,信息682表示数据0被储存于存储器块BLOCK3的页610中,信息683表示数据4被储存于存储器块BLOCK3的页612中,信息684表示数据5被储存于存储器块BLOCK3的页614中,信息685表示数据6被储存于存储器块BLOCK3的页616中,信息686表示数据1被储存于存储器块BLOCK6的页618中,信息687表示数据2被储存于存储器块BLOCK6的页620中,信息688表示数据7被储存于存储器块BLOCK6的页622中,信息689表示数据8被储存于存储器块BLOCK6的页624中。例如,物理信息680的第一列的次序对表示储存的数据的物理位置信息,其为关于储存数据的对应存储器块和页的信息;以及第二列表示关于储存的数据的信息,其为储存的数据的逻辑页信息。
如早前参照图3和图4所述,储存于第二储存单元中的时刻t4的物理信息680被储存于存储器的多个存储器块之中的预定存储器块的对应页(图6中未示出)中。
此外,由于时刻t4的数据1、数据2、数据7和数据8被写入并储存于对应存储器块的对应页中,所以逻辑信息670被储存于第一储存单元中。时刻t4的逻辑信息670包括信息671、信息672、信息673及信息674,信息671表示数据1被储存于存储器块BLOCK6的页618中,信息672表示数据2被储存于存储器块BLOCK6的页620中,信息673表示数据7被储存于存储器块BLOCK6的页622中,信息674表示数据8被储存于存储器块BLOCK6的页624中。例如,逻辑信息670的第一列表示关于储存的数据的信息,其为储存的数据的逻辑页信息;以及第二列的次序对表示储存的数据的物理位置信息,其为关于储存数据的存储器块和页的信息。
如上参照图6所述的,当具有与储存的数据相同的逻辑页的数据被储存于存储器中时,根据本发明实施例的数据储存装置更新关于储存于存储器中的数据的数据储存信息,特别是更新关于无效页的物理信息,以有效地储存物理信息。因此,根据本发明实施例的数据储存装置通过简易地检验物理信息和逻辑信息可以有效地检验出无效页。
在下文中,参考图7详细描述根据本发明一实施例的用于操作数据储存装置的过程。
图7为描述根据本发明实施例的在数据储存装置中的数据储存过程的流程图。
参考图7,在步骤S710中,当在第一时刻从主机传送通过数据写入操作要储存于存储器中的数据时,数据储存装置将数据写入并储存于存储器中。第一时刻的数据被写入并储存于对应存储器块的对应页中。
在步骤S720中,关于储存于存储器的对应存储器块中的数据的数据储存信息被储存于存储器的多个块之中的预定存储器块的对应页中,以及被储存于控制器的储存单元中。
在步骤S730中,当在第二时刻从主机传送通过数据写入操作要储存于存储器中的数据时,数据储存装置将数据写入并储存于存储器中。第二时刻的数据被写入并储存于对应存储器块的对应页中。
在步骤S740中,在第一时刻及第二时刻储存了具有相同逻辑页信息的数据时,检验带有更新数据的页。此外,检验出在第一时刻及第二时刻储存数据的对应存储器块中的有效页和有效页的数目。
在步骤S750中,更新关于储存于存储器中的数据的数据储存信息,例如物理信息。特别地,更新被具有相同逻辑页信息的数据更新的页的数据储存信息。由于根据本发明实施例的数据储存装置的数据储存操作已经参考图2至图6详细地描述了,所以这里不提供对它的进一步描述。
根据本发明一实施例,数据储存装置及其操作方法可以有效地储存存储器的数据储存信息。
虽然已经相对于具体实施例描述了本发明,但是对于本领域技术人员将显然的是,在不背离如所附权利要求所限定的精神和范围的情况下可以进行各种改变及修改。
通过本发明的实施例可以看出,本发明提供了下面技术方案:
1.一种数据储存装置,包括:
存储器,其包括多个存储器块,所述多个存储器块中的每个包括多个页,所述多个页适于储存从主机传送的数据;以及
控制器,其适于储存关于储存于所述存储器中的数据的数据储存信息,
其中,所述数据储存信息基于所述多个页之中的储存所述数据的有效页来更新。
2.如技术方案1所述的数据储存装置,其中,当第一数据被储存于所述多个页之中的第一页中时,所述控制器储存第一数据储存信息,所述第一信息储存信息表示所述第一数据被储存于所述第一页中,以及
当所述第一数据被储存于所述多个页之中的第二页中时,所述控制器将所述第一页处理为无效页,将对应于所述无效页的所述第一数据储存信息处理为无效信息,以及将所述第一数据储存信息更新为第二数据储存信息,所述第二数据储存信息表示所述第一数据被储存于所述第二页中。
3.如技术方案1所述的数据储存装置,其中,当第一组数据被储存于所述多个页之中的第一组页中时,所述控制器储存第一数据储存信息,所述第一数据储存信息表示所述第一组数据被储存于所述第一组页中,以及
当第二组数据被储存于所述多个页之中的第二组页中时,所述控制器基于所述第一组页之中的第一有效页的数目来更新所述第一数据储存信息。
4.如技术方案3所述的数据储存装置,其中,当所述第一有效页的数目等于或小于预定第一阈值,或者所述第一有效页的数目变化等于或大于预定第二阈值时,所述控制器利用第二数据储存信息更新所述第一数据储存信息并且储存更新第一数据储存信息和所述第二数据储存信息,所述第二数据储存信息表示所述第二组数据被储存于所述第二组页中。
5.如技术方案4所述的数据储存装置,其中,所述控制器还利用第三数据储存信息更新所述第一数据储存信息,所述第三数据储存信息对应于第三组页之中的第二有效页,其从储存所述第一组数据的第一时刻至储存所述第二组数据的第二时刻把所述数据储存于所述多个页之中。
6.如技术方案5所述的数据储存装置,其中,所述控制器将在所述二时刻所述第一有效页的数目和所述第一有效页的数目变化与所述第一阈值和所述第二阈值进行比较以产生比较结果,并且基于所述比较结果将所述第一数据储存信息更新为所述更新第一数据储存信息。
7.如技术方案4所述的数据储存装置,其中,所述控制器将所述第一组页之中储存与所述第二组数据不同的逻辑页信息的数据的页处理为所述第一有效页,将其它页处理为无效页,以及将对应于所述无效页的第四数据储存信息处理为无效信息。
8.如技术方案7所述的数据储存装置,其中,所述控制器将对应于所述第一有效页的第五数据储存信息更新为所述更新第一数据储存信息。
9.如技术方案1所述的数据储存装置,其中,所述数据储存信息包括所述数据的逻辑页信息以及关于在所述多个存储器块和所述多个页之中储存所述数据的存储器块和页的信息。
10.如技术方案1所述的数据储存装置,其中,所述数据储存信息为储存于所述多个页和所述多个存储器块中的数据的物理至逻辑信息,以及
所述物理至逻辑信息被储存于所述多个存储器块之中的预定存储器块的页中,以及
在更新之前储存所述物理至逻辑信息的页被处理为无效页。
11.一种用于操作数据储存装置的方法,包括:
把从主机传送的数据储存于存储器中;以及
储存关于储存在所述存储器中的数据的数据储存信息,
其中,所述数据被储存于在所述存储器的多个存储器块的每个中包括的多个页中,以及
所述数据储存信息基于所述多个页之中储存所述数据的页来更新。
12.如技术方案11所述的方法,其中,所述数据储存信息的储存包括:
当第一数据被储存于所述多个页之中的第一页中时,储存第一数据储存信息,所述第一数据储存信息表示所述第一数据被储存于所述第一页中;以及
当所述第一数据被储存于所述多个页之中的第二页中时,将所述第一页处理为无效页,将对应于所述无效页的所述第一数据储存信息处理为无效信息,以及将所述第一数据储存信息更新为第二数据储存信息,所述第二数据储存信息表示所述第一数据被储存于所述第二页中。
13.如技术方案11所述的方法,其中,所述数据储存信息的储存包括:
当第一组数据被储存于所述多个页之中的第一组页中时,储存第一数据储存信息,所述第一数据储存信息表示所述第一组数据被储存于所述第一组页中;以及
当第二组数据被储存于所述多个页之中的第二组页中时,基于所述第一组页之中的第一有效页的数目来更新所述第一数据储存信息。
14.如技术方案13所述的方法,其中,基于所述第一组页之中的所述第一有效页的数目来更新所述第一数据储存信息包括:
当所述第一有效页的数目等于或小于预定第一阈值,或者所述第一有效页的数目变化等于或大于预定第二阈值时,利用第二数据储存信息来更新所述第一数据储存信息以及储存更新第一数据储存信息和所述第二数据储存信息,其中所述第二数据储存信息表示所述第二组数据被储存于所述第二组页中。
15.如技术方案14所述的方法,其中,利用所述第二数据储存信息更新所述第一数据储存信息包括:
利用与所述第三组页之中的第二有效页相对应的第三数据储存信息更新所述第一数据储存信息,其从储存所述第一组数据的第一时刻至储存所述第二组数据的第二时刻把所述数据储存于所述多个页之中。
16.如技术方案15所述的方法,其中,基于所述第一组页之中的第一有效页的数目来更新所述第一数据储存信息包括:
对在第二时刻所述第一有效页的数目和所述第一有效页的数目变化与所述第一阈值和所述第二阈值进行比较以产生比较结果,以及
基于所述比较结果将所述第一数据储存信息更新为所述更新第一数据储存信息。
17.如技术方案14所述的方法,其中,在所述第一组页之中,把储存与所述第二组数据不同逻辑页信息的数据的页处理为所述第一有效页,而把其他页处理为无效页,并且把对应于所述无效页的第四数据储存信息处理为无效信息。
18.如技术方案17所述的方法,其中,利用所述第二数据储存信息更新所述第一数据储存信息包括:
将对应于所述第一有效页的第五数据储存信息更新为所述更新第一数据储存信息。
19.如技术方案11所述的方法,其中,所述数据储存信息包括所述数据的逻辑页信息以及关于所述多个存储器块和所述多个页之中的储存所述数据的存储器块和页的信息。
20.如技术方案11所述的方法,其中,所述数据储存信息为储存于所述多个页和所述多个存储器块中的数据的物理至逻辑信息,以及
所述物理至逻辑信息被储存于所述多个存储器块之中的预定存储器块的页中,以及
把在更新之前存储所述物理至逻辑信息的页处理为无效页。
Claims (10)
1.一种数据储存装置,包括:
存储器,其包括多个存储器块,所述多个存储器块中的每个包括多个页,所述多个页适于储存从主机传送的数据;以及
控制器,其适于储存关于储存于所述存储器中的数据的数据储存信息,
其中,所述数据储存信息基于所述多个页之中的储存所述数据的有效页来更新,
其中,所述数据储存信息为储存于所述多个页和所述多个存储器块中的数据的物理至逻辑信息,以及所述物理至逻辑信息被储存于所述多个存储器块之中的预定存储器块的页中,
其中,在第一时刻当第一组数据被储存于所述多个页之中的第一组页中时,所述控制器将第一数据储存信息储存于所述预定存储器块的页中,所述第一数据储存信息表示所述第一组数据被储存于所述第一组页中,
其中,在第二时刻当第二组数据被储存于所述多个页之中的第二组页中时,如果所述第一组数据和所述第二组数据具有至少一个或更多个相同的值,则所述控制器基于所述第一组页之中的第一有效页的数目来更新所述第一数据储存信息,以及
其中,所述控制器将在所述第二时刻所述第一有效页的数目与第一阈值进行比较以及将所述第一有效页的数目变化与第二阈值进行比较以产生比较结果,并且基于所述比较结果将第二数据储存信息更新为更新第一数据储存信息。
2.如权利要求1所述的数据储存装置,其中,当所述第一有效页的数目等于或小于预定第一阈值、或者所述第一有效页的数目变化等于或大于预定第二阈值时,所述控制器利用第二数据储存信息更新所述第一数据储存信息并且储存更新第一数据储存信息和所述第二数据储存信息,所述第二数据储存信息表示所述第二组数据被储存于所述第二组页中。
3.如权利要求2所述的数据储存装置,其中,所述控制器还利用第三数据储存信息更新所述第一数据储存信息,所述第三数据储存信息对应于第三组页之中的第二有效页,所述控制器从储存所述第一组数据时的所述第一时刻起至储存所述第二组数据时的所述第二时刻把所述数据储存于所述多个页之中。
4.如权利要求2所述的数据储存装置,其中,所述控制器将所述第一组页之中储存与所述第二组数据不同的逻辑页信息的数据的页处理为所述第一有效页,将其它页处理为无效页,以及将对应于所述无效页的第四数据储存信息处理为无效信息。
5.如权利要求4所述的数据储存装置,其中,所述控制器将对应于所述第一有效页的第五数据储存信息更新为所述更新第一数据储存信息。
6.一种用于操作数据储存装置的方法,包括:
把从主机传送的数据储存于存储器中;以及
储存关于储存在所述存储器中的数据的数据储存信息,
其中,所述数据被储存于所述存储器的多个存储器块的每个中所包括的多个页中,以及所述数据储存信息基于所述多个页之中储存所述数据的页来更新,
其中,所述数据储存信息为储存于所述多个页和所述多个存储器块中的数据的物理至逻辑信息,以及所述物理至逻辑信息被储存于所述多个存储器块之中的预定存储器块的页中,
其中,储存所述数据储存信息包括:
在第一时刻当第一组数据被储存于所述多个页之中的第一组页中时,将第一数据储存信息储存于所述预定存储器块的页中,所述第一数据储存信息表示所述第一组数据被储存于所述第一组页中;以及
在第二时刻当第二组数据被储存于所述多个页之中的第二组页中时,如果所述第一组数据和所述第二组数据具有至少一个或更多个相同的值,则基于所述第一组页之中的第一有效页的数目来更新所述第一数据储存信息,
其中,基于所述第一组页之中的第一有效页的数目来更新所述第一数据储存信息包括:
将在所述第二时刻所述第一有效页的数目与第一阈值进行比较以及将所述第一有效页的数目变化与第二阈值进行比较以产生比较结果;以及
基于所述比较结果将第二数据储存信息更新为更新第一数据储存信息。
7.如权利要求6所述的方法,其中,基于所述第一组页之中的所述第一有效页的数目来更新所述第一数据储存信息包括:
当所述第一有效页的数目等于或小于预定第一阈值、或者所述第一有效页的数目变化等于或大于预定第二阈值时,利用第二数据储存信息来更新所述第一数据储存信息以及储存更新第一数据储存信息和所述第二数据储存信息,其中所述第二数据储存信息表示所述第二组数据被储存于所述第二组页中。
8.如权利要求7所述的方法,其中,利用所述第二数据储存信息更新所述第一数据储存信息包括:
利用与第三组页之中的第二有效页相对应的第三数据储存信息更新所述第一数据储存信息,其从储存所述第一组数据时的所述第一时刻起至储存所述第二组数据时的第二时刻把所述数据储存于所述多个页之中。
9.如权利要求7所述的方法,其中,在所述第一组页之中,把储存与所述第二组数据不同逻辑页信息的数据的页处理为所述第一有效页,而把其他页处理为无效页,并且把对应于所述无效页的第四数据储存信息处理为无效信息。
10.如权利要求9所述的方法,其中,利用所述第二数据储存信息更新所述第一数据储存信息包括:
将对应于所述第一有效页的第五数据储存信息更新为所述更新第一数据储存信息。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2014-0098503 | 2014-07-31 | ||
KR1020140098503A KR20160015793A (ko) | 2014-07-31 | 2014-07-31 | 데이터 저장 장치 및 그것의 동작 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105320610A CN105320610A (zh) | 2016-02-10 |
CN105320610B true CN105320610B (zh) | 2019-11-01 |
Family
ID=55180171
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510031202.7A Active CN105320610B (zh) | 2014-07-31 | 2015-01-21 | 数据储存装置及操作数据储存装置的方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US10042753B2 (zh) |
KR (1) | KR20160015793A (zh) |
CN (1) | CN105320610B (zh) |
TW (1) | TWI674531B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102593362B1 (ko) * | 2016-04-27 | 2023-10-25 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작 방법 |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7877569B2 (en) * | 2004-04-28 | 2011-01-25 | Panasonic Corporation | Reduction of fragmentation in nonvolatile memory using alternate address mapping |
US8151060B2 (en) | 2006-11-28 | 2012-04-03 | Hitachi, Ltd. | Semiconductor memory system having a snapshot function |
US20080282024A1 (en) * | 2007-05-09 | 2008-11-13 | Sudeep Biswas | Management of erase operations in storage devices based on flash memories |
US8195912B2 (en) * | 2007-12-06 | 2012-06-05 | Fusion-io, Inc | Apparatus, system, and method for efficient mapping of virtual and physical addresses |
CN101676882B (zh) | 2008-09-16 | 2013-01-16 | 美光科技公司 | 存储器装置的内嵌映射信息 |
WO2011125132A1 (en) * | 2010-04-09 | 2011-10-13 | Hitachi, Ltd. | Information processing device and data shredding method for avoiding multiple shredding of a same data block |
KR101153688B1 (ko) | 2010-10-15 | 2012-06-18 | 성균관대학교산학협력단 | 데이터 페이지들에 대해 무효화 기회를 부여하는 방법 및 이를 위한 낸드 플래시 메모리 시스템 |
JP2012141946A (ja) * | 2010-12-16 | 2012-07-26 | Toshiba Corp | 半導体記憶装置 |
TWI466121B (zh) * | 2010-12-31 | 2014-12-21 | Silicon Motion Inc | 用來進行區塊管理之方法以及記憶裝置及控制器 |
TWI438630B (zh) | 2011-03-22 | 2014-05-21 | Phison Electronics Corp | 用於非揮發性記憶體的資料合併方法、控制器與儲存裝置 |
US10133662B2 (en) * | 2012-06-29 | 2018-11-20 | Sandisk Technologies Llc | Systems, methods, and interfaces for managing persistent data of atomic storage operations |
US9244833B2 (en) | 2012-05-30 | 2016-01-26 | Silicon Motion, Inc. | Data-storage device and flash memory control method |
KR101444548B1 (ko) * | 2012-12-12 | 2014-09-24 | 삼성전기주식회사 | 터치 감지 방법 및 터치 감지 장치 |
-
2014
- 2014-07-31 KR KR1020140098503A patent/KR20160015793A/ko not_active Application Discontinuation
- 2014-12-11 US US14/567,658 patent/US10042753B2/en active Active
- 2014-12-12 TW TW103143465A patent/TWI674531B/zh active
-
2015
- 2015-01-21 CN CN201510031202.7A patent/CN105320610B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
TWI674531B (zh) | 2019-10-11 |
TW201604772A (zh) | 2016-02-01 |
CN105320610A (zh) | 2016-02-10 |
US20160034389A1 (en) | 2016-02-04 |
KR20160015793A (ko) | 2016-02-15 |
US10042753B2 (en) | 2018-08-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11537322B2 (en) | Granting reservation for access to a storage drive | |
US9098402B2 (en) | Techniques to configure a solid state drive to operate in a storage mode or a memory mode | |
US10698808B2 (en) | Garbage collection—automatic data placement | |
CN102612685B (zh) | 经由存储器高速缓存操纵的无阻碍数据传送 | |
CN105283855B (zh) | 一种寻址方法及装置 | |
CN106776358A (zh) | Dimm ssd寻址性能技术 | |
CN105739949A (zh) | 用于在非对称处理器核之间的协作式执行的技术 | |
CN110069421A (zh) | 通过统一存储器架构的存储器共享 | |
CN107025070B (zh) | 版本化存储设备和方法 | |
CN105786589A (zh) | 一种云渲染系统、服务器及方法 | |
CN105408875B (zh) | 在存储器接口上的分布式过程执行和文件系统 | |
CN110059032A (zh) | 存储器接口及具有存储器接口的存储器控制器 | |
CN103218312A (zh) | 文件访问方法及系统 | |
CN106462522A (zh) | 基于闪存的存储设备的输入/输出虚拟化(iov)主机控制器(hc)(iov‑hc) | |
CN110069426A (zh) | 存储器控制器及具有存储器控制器的存储器系统 | |
CN111108487B (zh) | 管理程序直接存储器访问 | |
CN105068683A (zh) | 一种智能笔记板及工作方法和即时记录系统及工作方法 | |
CN105190577A (zh) | 合并存储器访问请求 | |
CN109983749A (zh) | 使用远程直接存储器访问通信的更快的数据传输 | |
CN105320610B (zh) | 数据储存装置及操作数据储存装置的方法 | |
JP2013229005A5 (ja) | カード識別情報管理システム、プログラム、受付装置及び方法 | |
CN109840165A (zh) | 存储器系统及其操作方法 | |
KR20090098275A (ko) | 플래시 메모리 시스템 | |
WO2015199734A1 (en) | Buffer-based update of state data | |
CN105659216B (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 | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20240613 Address after: American Texas Patentee after: Mimi IP Co.,Ltd. Country or region after: U.S.A. Address before: Gyeonggi Do, South Korea Patentee before: Sk Hynix Inc. Country or region before: Republic of Korea |