CN111587424A - 存储器中存储的数据集的有效性 - Google Patents

存储器中存储的数据集的有效性 Download PDF

Info

Publication number
CN111587424A
CN111587424A CN201880086288.5A CN201880086288A CN111587424A CN 111587424 A CN111587424 A CN 111587424A CN 201880086288 A CN201880086288 A CN 201880086288A CN 111587424 A CN111587424 A CN 111587424A
Authority
CN
China
Prior art keywords
data set
block
tag
memory
addressable
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.)
Pending
Application number
CN201880086288.5A
Other languages
English (en)
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.)
Hewlett Packard Development Co LP
Original Assignee
Hewlett Packard Development Co LP
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 Hewlett Packard Development Co LP filed Critical Hewlett Packard Development Co LP
Publication of CN111587424A publication Critical patent/CN111587424A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/0815Cache consistency protocols
    • G06F12/0831Cache consistency protocols using a bus scheme, e.g. with bus monitoring or watching means
    • G06F12/0833Cache consistency protocols using a bus scheme, e.g. with bus monitoring or watching means in combination with broadcast means (e.g. for invalidation or updating)
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0844Multiple simultaneous or quasi-simultaneous cache accessing
    • G06F12/0853Cache with multiport tag or data arrays
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0891Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches using clearing, invalidating or resetting means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7201Logical to physical mapping or translation of blocks or pages
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7202Allocation control and policies
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7203Temporary buffering, e.g. using volatile buffer or dedicated buffer blocks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7209Validity control, e.g. using flags, time stamps or sequence numbers

Abstract

一种装置,包括:固态固态非易失性计算机存储器以及控制器,所述控制器耦接到所述存储器。所述控制器用于:生成数据集,所述数据集包括指示所述数据集有效的标签;将所述数据集写入所述存储器的块中,其中,所述块包括在所述写入之前被设定为相同的第一二进制值的多个可寻址位置;生成后续数据集,所述后续数据集包括指示所述后续数据集有效的标签;更新所写入的数据集的所述标签以指示所写入的数据集无效,其中,所述更新包括将与所述标签相对应的可寻址位置设定为不同于所述第一二进制值的第二二进制值;将所述后续数据集写入存储器的所述块中的除了所述无效数据集的所述可寻址位置之外的可寻址位置。

Description

存储器中存储的数据集的有效性
背景技术
闪存是一种固态非易失性计算机存储器,近年来,由于其较高的可用性和正在降低的成本而得到普及。闪存的一个主要类别或配置被称为NOR闪存。
NOR闪存经常用于移动电话、科学仪器和医疗设备中。它是采用NOR逻辑门的一种类型的闪存。也就是说,当至少一个输入是高的时,NOR闪存产生低的输出。
虽然NOR闪存提供存储信息的较快读取,但是它具有长的擦除和写入时间。NOR闪存可以进一步提供完整的地址和数据总线,从而允许随机访问任何存储器位置。
附图说明
图1是使用非易失性存储器的特征实现数据保护的装置的示例框图。
图2图示存储和更新非易失性存储器中的数据集的示例实现方式。
图3图示用于通过使用非易失性存储器特征来保护数据的示例过程的流程图。
详细的描述参照附图。在图中,附图标记的最左侧数字标识其中附图标记首次出现的图。在整个附图中,相同的数字用于指代相同的特征和部件。
具体实施方式
本文所描述的是一种用于将数据有效存储到非易失性计算机存储中的技术。具体地,更新的数据可以以不需要擦除整个块的方式存储到非易失性计算机存储的块中。这节省了处理时间、有效使用了块的可用片段并且最小化对非易失性计算机存储的磨损。
非易失性计算机存储可以包括采用NOR逻辑门的固态非易失性计算机存储介质。例如,NOR闪存。在此示例中,NOR闪存的块通过将所有可寻址位置设定为相同的二进制值(例如,其可以是1)而被初始化为新生块(fresh block)。取决于特定的实现方式,可寻址位置可以从位、字节、词、页或它们的组合中选择。此外,NOR闪存的可寻址位置可以以随机访问的形式被读取,然而,擦除可以包括每次一块。
如本文所述,数据集被写入初始化后的块或新生块中。为了存储后续数据集,已写入数据集可以通过标记已写入数据的指定部分而被标记为无效。例如,标记包括将可寻址位置的至少一位的二进制值从1改变为0。这个值改变可以指示已写入数据集的无效性和已写入数据集的完整性的缺失两者。此后,后续数据集被存储到块中而不重写已写入数据集的可寻址位置。
图1图示使用非易失性存储器的特征实现数据保护的装置的示例框图。具体地,装置可以包括计算机系统100。如所描绘的,计算机系统100包括至少一个处理器102、控制器或嵌入式控制器(EC)104以及存储106。
存储106进一步包括诸如第一块108-2、第二块108-4和直到最后的块108-M的多个M个块。这些M个块中的每一个块包括可寻址位置。如所描绘的,第一块108-2包括可寻址位置110-2至110-N。每个块的可寻址位置可以从包括由位、字节、词、页或它们中的一些组合组成的组中选择。
数据集被写入多个可寻址位置中。例如,数据集可以被写在可寻址位置110-2和110-4之上。这由图1中被描绘为阴影图案的可寻址位置指示。在此示例中,数据集被写在块108-2的页框(page frame)上。页框可以包括能够被用数据集写入的最小单元,而块可以是存储106的可被擦除的最小单元。在此情况下,块可以包括用于N个可寻址位置的多个页框。
数据集可以包括数据名称、数据大小和要写入的数据。例如,数据名称、数据大小和数据分别包括特定的文件名称、特定的文件大小和文件内容。
计算机系统100可以包括(但不限于)计算机、移动电话、蜂窝电话、智能电话、个人数字助理、平板计算机、上网笔记本、笔记本计算机、手提计算机、多媒体播放设备、数字音乐播放器、数字视频播放器、导航设备、数码相机等。
处理器102可以包括可耦接到EC 104和存储106的一个或多个处理器。例如,处理器102可以有助于计算机系统100上的操作系统(OS)的运行,而EC 104可以有助于OS的安全启动。EC 104可以进一步生成可以被写入块108中的数据集。在一些情况下,这些数据集可以被EC 104访问,但不能被处理器102访问。
存储106可以包括非易失性存储,诸如但不限于采用NOR逻辑门的固态非易失性计算机存储介质。这种类型的固态非易失性计算机存储的示例是采用NOR逻辑门的NOR闪存。NOR闪存可以提供数据的较快读取,然而,由于它的块擦除特征,它可能花费较长时间来擦除和写入新数据。
如所描绘的,存储106是可以被划分为M个块的NOR闪存。M个块中的每一个块可以首先被初始化为新生块。也就是说,新生块可以包括所有可寻址位置110-2至110-N被设定为诸如“1”的一个二进制值的块。
参照第一块108-2,阴影的可寻址位置110-2至110-4可以指示可寻址位置110-2至110-4有效并且不被改变。然而,在后续数据集要被写在第一块108-2上的情况下,则可以通过将可寻址位置的至少一位的二进制值从1变为0而使可寻址位置110-2至110-4无效。这个值改变可以指示可寻址位置110-2至110-4上的已写入数据集的无效性和已写入数据集的完整性的缺失两者。
在使可寻址位置110-2至110-4无效之前,可以假设第一块108-2可能仍具有可用空间或可用页框以容纳要写入的后续数据集。
例如,第一块108-2可能仍具有被可寻址位置110-6至110-N覆盖的可用页框。在此示例中,后续数据集可以在先前数据集无效之后被写在这些可用页框上。然而,如果没有更多可用空间用于后续数据集,则EC 104可以执行第一块108-2的块擦除。在块擦除的情况下,后续数据集可以被写在下一个块108-4上,或者在再次初始化为新生块之后被写在相同的块108-2上。
在实施例中,阈值可以被配置为确定是否存在足够的存储器空间或页框以容纳要存储的后续数据集。如果块内没有可用页框以写入后续数据集,则在后续数据集存储在相同的块上之前,块擦除是必要的。然而,如果页框仍然可用,则先前有效的数据集被无效,并且后续数据集可以存储在相同的块上。
例如,第一块108-2是具有500个页框的4MB块。在此示例中,每个页框具有8Kb的大小。因此,如果每个页框被诸如图1中所描绘的两个可寻址位置110覆盖,则第一块108-2可以包括用于第一块108-2的500个页框的1000个可寻址位置。此外,针对8Kb大小的页框和字节大小的可寻址位置,至少12个位可以被可寻址位置110-2至110-4利用以覆盖每个8Kb的页框。
针对这个4MB块108-2,例如,阈值可以被设定为具有500的值。也就是说,针对被写入块108-2上的每个数据集,页框计数器增加1。当页框计数器等于500的阈值时,则EC 104可以对4MB块108-2执行块擦除。否则,如本文所描述的,EC 104可以在写入后续数据集之前执行先前有效的数据集的无效。进行此操作以避免耗时的块擦除,该耗时的块擦除对于具有500个页框的块可能耗费几毫秒。此外,这也将最小化由于高擦除循环而导致的第一块108-2的磨损。
在以上示例中,当页框计数器仍在500的阈值以下时,先前数据集的无效可以包括改变数据集的可寻址位置的位(bit)值。如所描绘的,可寻址位置110-2至110-4可以通过将这些可寻址位置的位从1改变为0而被无效。只要在可寻址位置110-2至110-4上剩下位1,则就可以实现本文所述的无效操作。
例如,在将第一数据集写入可寻址位置110-2至110-4之后,可寻址位置110-2至110-4的结果位包括1111 0000 0000 0000。在此示例中,可寻址位置110-2至110-4可以通过将第一位(1)变为0而被无效。换句话说,无效的可寻址位置110-2至110-4现在可能包括0111 0000 0000 0000。在此状态下,可寻址位置110-2至110-4的位中的值改变指示对第一数据集的改变。
在前述段落中,在更新第一数据集的标签之后,第二数据集可以被写入块108-2中而不重写第一数据集的可寻址位置。例如,第二数据集使用可寻址位置110-20至110-22被写入。在此示例中,第二数据集不重写第一数据集的可寻址位置110-2至110-4。
数据集的上述生成和标签更新的过程可以类似地应用于生成的第三数据集、第四数据集等。例如,接下来第三数据集被EC 104生成。在此示例中,第三数据集可以类似地包括指示有效的第三数据集的标签。
此后,第二数据集的标签被更新以使第二数据集无效。例如,第二数据集的标签被设定为与新生块的可寻址位置的二进制值相反的二进制值。在此示例中,“一”的初始二进制值被改变为“零”。可寻址位置的位值的这个改变指示第二数据集的无效和改变。
在一个实施例中,EC 104可以执行指令以生成第一数据集并且将第一数据集写入新生存储器块108-2中。此后,EC 104可以更新第一数据集的标签,并且将后续第二数据集写入块108-2中。也就是说,如果尚未达到阈值。这种第二数据集112-4的存储没有重写已写入的第一数据集的可寻址位置110-2至110-4。EC 104可以类似地在处理生成的第三数据集、第四数据集等的过程中执行相同的指令。
如上所述,用于存储和更新第一块108-2中的数据集112的过程可以类似地应用于第二块108-4、第三块108-6等,直到最后的块108-M。
图2图示存储和更新非易失性存储器中的数据集的示例实现方式。
如所描绘的,图2包括第一数据集200、被划分为多个页框204的块202、页框计数器206、第二数据集208以及可寻址位置位210。例如,块202是被划分为500个页框204、每个页框为8Kb大小的4MB块。500个页框204进一步被1000个可寻址位置表示,每个可寻址位置包括一字节或8位。
在实施例中,新生块202可以包括在它的可寻址位置110中的所有位置上的相同的第一二进制值位1。例如,在块202初始化之后,所有可寻址位置位210的第一二进制值被设定为相同的二进制值1。在另一示例中,执行块202的块擦除。在该其他示例中,所有可寻址位置位210的第一二进制值类似地被设定为1。例如,块擦除可以当页框计数器206已经达到500的阈值时被执行,如本文所述,500是能够被用数据集写入的页框的总数。
如所示,第一数据集200被写入新生块202的页框204-2中。结果,可寻址位置位210中的一些变为0,而其余的保持为1。例如,在将第一数据集200写入页框204-2之后,可寻址位置110-2和110-4分别包括可寻址位置位“11111101”和“00010100”。在此示例中,为了更新的目的,位“1”仍可以被编程或被改变为“0”。然而,在没有对块202执行块擦除的情况下,“0”不能被改变为“1”。
随着在可寻址位置110-2和110-4上存储了第一数据集200,页框计数器206增加1。此后,页框计数器206的值可以与500的阈值进行比较,如本文所述,500是能够被用数据集写入的页框的总数。
在页框计数器206小于阈值的情况下,则块202的用于后续数据集存储的更新被执行。更新可以包括将可寻址位置110的二进制值从1设定为0。
例如,参照分别包括可寻址位置位“11111101”和“00010100”的可寻址位置110-2和110-4,为了更新的目的,具有“1”值的每个可寻址位置位仍可以被改变为0。如所描绘的,可寻址位置位210-10被从第一二进制值1设定为第二二进制值0。类似地,当更新被执行时,具有“1”值的其他可寻址位置位可以被改变为“0”。在此示例中,位值的改变指示存储的第一数据集200有效且被改变。
随着块202的更新,第二数据集208可以被写在可用页框204上,并且不重写可寻址位置110-2和110-4。例如,第二数据集208可以被写在可寻址位置110-22和110-24上。
在其中增加的页框计数器206至少等于阈值的场景中,则在第二数据集208被写入块202中之前,块擦除被执行。可选地,如果先前的块已经达到它的擦除循环峰值,则第二数据集208可以被写入另一块202中。
在实施例中,EC 104可以对块202上存储的数据集附加消息认证码(MAC)。例如,EC104附加HMAC,HMAC是基于密钥加密哈希函数的一种类型的MAC。在此示例中,HMAC可以包括可被用于验证相关联的数据集的准确性和起源的固定大小值或“标签”。基于这个标签,EC104可以检测是否对存储的数据集进行了改变。不管存储的数据是否被加密,这都是正确的。
例如,EC 104可以使用利用了数据集名称、数据集大小和数据值的算法来计算附加的HMAC的初始值。在读取操作期间,EC 104可以通过计算块202中的当前值以及将这些当前值与附加的HMAC的初始值进行比较来验证附加的HMAC。如本文所述,该比较可以指示相关联的数据集的完整性。
图3示出用于通过使用非易失性存储器特征来保护数据的示例过程300的流程图。例如,示例过程300可以被计算机系统100执行。为了讨论的目的,像计算机系统100一样的示例设备被描述为执行示例过程300的操作。
在框302处,示例设备生成第一数据集,第一数据集的一部分包括指示第一数据集有效的标签。例如,计算机系统100并且具体地EC 104,生成包括可寻址位置110-2和110-4作为标签的第一数据集200。
在框304处,示例设备将第一数据集写入存储器的块中。在该写入操作被执行之前,存储器的该块被认为是新生块。新生块是存储器的在写入之前具有被设定为相同的第一二进制值的多个可寻址位置的块。例如,在写入之前的相同的第一二进制值是逻辑1。换句话说,新生块是从未被写入或已被块擦除的块。
例如,计算机系统100并且具体地EC 104,将数据集200写入块202中。在此示例中,所有可寻址位置110的二进制值被初始设定为“一”,以具有要准备用第一数据集写入的新生块。使用新生块,数据集200被写入块202中。
可以是此示例过程300的主题的一种合适的存储器是采用NOR逻辑门的固态非易失性计算机存储介质。也就是说,NOR闪存。
在框306处,示例设备生成包括指示第二数据集有效的标签的第二数据集。例如,EC 104生成包括指示有效的第二数据集208的后续数据集208。
在框308处,示例设备更新第一数据集的标签以指示第一数据集无效。更新标签以使第一数据集无效包括将第一数据集的标签的可寻址位置设定为不同于第一二进制值的第二二进制值。例如,可寻址位置位210-10的第一二进制值在初始化或块擦除之后初始地是逻辑1。在此示例中,标签的更新包括设定不同于第一二进制值的第二二进制值。例如,第一二进制值被改变或被设定为“0”。在此示例中,改变指示无效的数据集200。
在框310处,示例设备将第二数据集写入存储器的块中的除了第一数据集的可寻址位置之外的可寻址位置。不在已写入数据集上尝试写入。
当然,这可以针对第三数据集、第四数据集和任何后续数据集重复。一旦该块被占满,这个过程就可以使用另一块再次开始。可替代地,一旦该块被占满,这个过程就可以在块擦除之后使用原始块重复。
而且,第一数据集的标签设定为无效的更新还指示自从在块中写入以后第一数据集已经被改变。此外,更新标签以使第一数据集无效包括将可寻址位置中的与标签(即,存储标签的可寻址位置)相对应的一个可寻址位置设定为与新生块的可寻址位置的二进制值相反的二进制值(例如,从逻辑1到逻辑0,或反之亦然)。
上述框302-310可以表示存储在计算机可读存储介质上的指令,当指令被至少一个处理器执行时,可以执行所记载的操作。

Claims (15)

1.一种用由处理器可执行的指令编码的非瞬态机器可读存储介质,所述机器可读存储介质包括指令,以:
生成包括标签的第一数据集以指示所述第一数据集有效;
将所述第一数据集写入存储器的块中,其中,存储器的所述块在所述写入之前具有被设定为相同的第一二进制值的多个可寻址位置;
生成包括标签的第二数据集以指示所述第二数据集有效;
更新所述第一数据集的所述标签以指示所述第一数据集无效;
将所述第二数据集写入存储器的所述块中的除了所述第一数据集的所述可寻址位置之外的可寻址位置。
2.根据权利要求1所述的非瞬态机器可读存储,其中,所述第一数据集的所述标签的被设定为无效的所述更新还指示自从在所述块中写入以后所述第一数据集已经被改变。
3.根据权利要求1所述的非瞬态机器可读存储,其中,所述存储器是采用NOR逻辑门的固态非易失性计算机存储介质。
4.根据权利要求1所述的非瞬态机器可读存储,其中,所述块中的可寻址存储器位置是位、字节、词、页或它们的组合。
5.根据权利要求1所述的非瞬态机器可读存储,其中,所述第一二进制值是逻辑一。
6.根据权利要求1所述的非瞬态机器可读存储,其中,更新所述标签以使所述第一数据集无效包括:将所述可寻址位置中的与所述第一数据集的所述标签相对应的一个可寻址位置设定为第二二进制值,其中,所述第二二进制值不同于所述第一二进制值。
7.根据权利要求1所述的非瞬态机器可读存储,其中,所述指令进一步包括:
生成第三数据集,所述第三数据集包括指示所述第三数据集有效的标签;
更新所述第二数据集的所述标签以指示所述第二数据集无效;
将所述第三数据集写入存储器的所述块中的除了所述第一数据集的所述可寻址位置或所述第二数据集的所述可寻址位置之外的可寻址位置。
8.一种用由处理器可执行的指令编码的非瞬态机器可读存储介质,所述机器可读存储介质包括指令,以:
生成第一数据集,所述第一数据集包括指示所述第一数据集有效的标签;
将所述第一数据集写入采用NOR逻辑门的固态非易失性计算机存储器的块中,其中,存储器的所述块在所述写入之前具有被设定为相同的第一二进制值的多个可寻址位置;
生成第二数据集,所述第二数据集包括指示所述第二数据集有效的标签;
更新所述第一数据集的所述标签以指示所述第一数据集无效,其中,所述更新包括将所述可寻址位置中的与所述第一数据集的所述标签相对应的一个可寻址位置设定为第二二进制值,其中,所述第二二进制值不同于所述第一二进制值;
将所述第二数据集写入存储器的所述块中的除了所述第一数据集的所述可寻址位置之外的可寻址位置。
9.根据权利要求8所述的非瞬态机器可读存储,其中,块中的可寻址存储器位置是位、字节、词、页或它们的组合。
10.根据权利要求8所述的非瞬态机器可读存储,其中,所述第一二进制值是逻辑一。
11.根据权利要求8所述的非瞬态机器可读存储,其中,所述指令进一步包括:
生成后续数据集,所述后续数据集包括指示所述后续数据集有效的标签;
更新先前写入的且依然有效的数据集的标签以指示所述先前写入的且依然有效的数据集无效;
将所述后续数据写入存储器的所述块中的除了任何先前写入的数据集的所述可寻址位置之外的可寻址位置。
12.一种装置,包括:
固态非易失性计算机存储器;
控制器,所述控制器耦接到所述存储器,所述控制器用于:
生成数据集,所述数据集包括指示所述数据集有效的标签;
将所述数据集写入所述存储器的块中,其中,所述块包括在所述写入之前被设定为相同的第一二进制值的多个可寻址位置;
生成后续数据集,所述后续数据集包括指示所述后续数据集有效的标签;
更新所写入的数据集的所述标签以指示所写入的数据集无效,其中,所述更新包括将所述可寻址位置中的与所述标签相对应的一个可寻址位置设定为不同于所述第一二进制值的第二二进制值;
将所述后续数据集写入存储器的所述块中的除了所述无效数据集的所述可寻址位置之外的可寻址位置。
13.根据权利要求12所述的装置,其中,块中的可寻址存储器位置是位、字节、词、页或它们的组合。
14.根据权利要求12所述的装置,其中,所述第一二进制值被设定为逻辑一。
15.根据权利要求12所述的装置,其中,所述无效数据集的所述标签被设定为无效的所述更新还指示自从在所述块中写入以后所述无效数据集已经被改变。
CN201880086288.5A 2018-01-29 2018-01-29 存储器中存储的数据集的有效性 Pending CN111587424A (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2018/015759 WO2019147286A1 (en) 2018-01-29 2018-01-29 Validity of data sets stored in memory

Publications (1)

Publication Number Publication Date
CN111587424A true CN111587424A (zh) 2020-08-25

Family

ID=67395563

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201880086288.5A Pending CN111587424A (zh) 2018-01-29 2018-01-29 存储器中存储的数据集的有效性

Country Status (4)

Country Link
US (1) US11354232B2 (zh)
EP (1) EP3685271A4 (zh)
CN (1) CN111587424A (zh)
WO (1) WO2019147286A1 (zh)

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5696929A (en) * 1995-10-03 1997-12-09 Intel Corporation Flash EEPROM main memory in a computer system
US5930815A (en) * 1995-07-31 1999-07-27 Lexar Media, Inc. Moving sequential sectors within a block of information in a flash memory mass storage architecture
EP2267725A1 (en) * 2009-06-17 2010-12-29 Gemalto SA Memory device for managing the recovery of a non volatile memory
US8041886B2 (en) * 2008-09-15 2011-10-18 Seagate Technology Llc System and method of managing memory
US20110258386A1 (en) * 2001-01-19 2011-10-20 Conley Kevin M Partial Block Data Programming And Reading Operations In A Non-Volatile Memory
CN103098034A (zh) * 2010-07-28 2013-05-08 Fusion-Io股份有限公司 用于条件和原子存储操作的装置、系统和方法
CN104516825A (zh) * 2013-09-30 2015-04-15 三星电子株式会社 高速缓冲存储器系统及其操作方法
US20170315752A1 (en) * 2016-04-27 2017-11-02 Pure Storage, Inc. Migrating data in a storage array that includes a plurality of storage devices

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US2267725A (en) 1939-02-21 1941-12-30 Nat Aniline & Chem Co Inc Method of producing alkyl aromatic compounds
US7382637B1 (en) * 2002-02-01 2008-06-03 Netlogic Microsystems, Inc. Block-writable content addressable memory device
US7412560B2 (en) 2004-12-16 2008-08-12 Sandisk Corporation Non-volatile memory and method with multi-stream updating
GB0604784D0 (en) 2006-03-09 2006-04-19 Ttp Communications Ltd Integrity protection
US7653778B2 (en) * 2006-05-08 2010-01-26 Siliconsystems, Inc. Systems and methods for measuring the useful life of solid-state storage devices
WO2008057557A2 (en) * 2006-11-06 2008-05-15 Rambus Inc. Memory system supporting nonvolatile physical memory
US8935302B2 (en) 2006-12-06 2015-01-13 Intelligent Intellectual Property Holdings 2 Llc Apparatus, system, and method for data block usage information synchronization for a non-volatile storage volume
US8332572B2 (en) 2008-02-05 2012-12-11 Spansion Llc Wear leveling mechanism using a DRAM buffer
JP5002719B1 (ja) * 2011-03-10 2012-08-15 株式会社東芝 情報処理装置、外部記憶装置、ホスト装置、中継装置、制御プログラム及び情報処理装置の制御方法
US9128850B2 (en) * 2012-08-16 2015-09-08 Broadcom Corporation Multi-ported memory with multiple access support
US9558128B2 (en) 2014-10-27 2017-01-31 Seagate Technology Llc Selective management of security data
US9842059B2 (en) * 2016-04-14 2017-12-12 Western Digital Technologies, Inc. Wear leveling in storage devices
US10459652B2 (en) * 2016-07-27 2019-10-29 Pure Storage, Inc. Evacuating blades in a storage array that includes a plurality of blades
JP2019074897A (ja) * 2017-10-16 2019-05-16 富士通株式会社 ストレージ制御装置、及びプログラム
JP6967959B2 (ja) * 2017-12-08 2021-11-17 キオクシア株式会社 メモリシステムおよび制御方法

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5930815A (en) * 1995-07-31 1999-07-27 Lexar Media, Inc. Moving sequential sectors within a block of information in a flash memory mass storage architecture
US5696929A (en) * 1995-10-03 1997-12-09 Intel Corporation Flash EEPROM main memory in a computer system
US20110258386A1 (en) * 2001-01-19 2011-10-20 Conley Kevin M Partial Block Data Programming And Reading Operations In A Non-Volatile Memory
US8041886B2 (en) * 2008-09-15 2011-10-18 Seagate Technology Llc System and method of managing memory
EP2267725A1 (en) * 2009-06-17 2010-12-29 Gemalto SA Memory device for managing the recovery of a non volatile memory
CN103098034A (zh) * 2010-07-28 2013-05-08 Fusion-Io股份有限公司 用于条件和原子存储操作的装置、系统和方法
CN104516825A (zh) * 2013-09-30 2015-04-15 三星电子株式会社 高速缓冲存储器系统及其操作方法
US20170315752A1 (en) * 2016-04-27 2017-11-02 Pure Storage, Inc. Migrating data in a storage array that includes a plurality of storage devices

Also Published As

Publication number Publication date
US20200371909A1 (en) 2020-11-26
US11354232B2 (en) 2022-06-07
EP3685271A4 (en) 2021-05-12
EP3685271A1 (en) 2020-07-29
WO2019147286A1 (en) 2019-08-01

Similar Documents

Publication Publication Date Title
TWI596486B (zh) 記憶體儲存裝置、記憶體控制器及資料串傳送與識別方法
CN105701021B (zh) 数据储存装置及其数据写入方法
US10540276B2 (en) Method of processing data based on erase operations of logical pages related to data compression rate of mapping table in data storage device
TW201926046A (zh) 存取快閃記憶體模組的方法及相關的快閃記憶體控制器與電子裝置
CN108351833B (zh) 用来压缩密码元数据以用于存储器加密的技术
CN109697170B (zh) 存取闪存模块的方法及相关的闪存控制器与电子装置
US10303612B2 (en) Power and performance-efficient cache design for a memory encryption engine
TW201915725A (zh) 資料儲存裝置與記憶體裝置之資料處理方法
JP2007048296A (ja) 複数のアドレス・キャッシュ・エントリーを無効にする方法、装置およびシステム
US20180095720A1 (en) Storage device with fine grained search capability
CN107832086B (zh) 计算机设备、程序写入方法及程序读取方法
US11354232B2 (en) Validity of data sets stored in memory
US9760301B2 (en) WOM code emulation of EEPROM-type devices
US7472309B2 (en) Methods and apparatus to write a file to a nonvolatile memory
CN107257281B (zh) Nor flash存储密钥记录的方法、装置及计算机可读存储介质
US11360912B2 (en) Method for performing adaptive locking range management, associated data storage device and controller thereof
Brookes et al. The KPLT: The Kernel as a shared object
JP2012113721A (ja) メモリシステム
CN113934362A (zh) 数据存储方法、装置、计算机设备和存储介质
JPH06309527A (ja) Icカード
GB2391350A (en) Non-volatile memory which can be directly overwritten
JP7355876B2 (ja) プログラム起動方法及び機器、記憶媒体
KR100688463B1 (ko) 물리 메모리의 데이터 기록 및 삭제 방법
JPWO2019123519A1 (ja) 情報処理装置、情報処理方法及び情報処理プログラム
CN116955224A (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
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20200825

WD01 Invention patent application deemed withdrawn after publication