CN102792284B - 存储器设备耗损均衡技术 - Google Patents

存储器设备耗损均衡技术 Download PDF

Info

Publication number
CN102792284B
CN102792284B CN201080065039.1A CN201080065039A CN102792284B CN 102792284 B CN102792284 B CN 102792284B CN 201080065039 A CN201080065039 A CN 201080065039A CN 102792284 B CN102792284 B CN 102792284B
Authority
CN
China
Prior art keywords
memory
memory devices
address
data structure
given
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
Application number
CN201080065039.1A
Other languages
English (en)
Other versions
CN102792284A (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.)
Nvidia Corp
Original Assignee
Nvidia 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 Nvidia Corp filed Critical Nvidia Corp
Publication of CN102792284A publication Critical patent/CN102792284A/zh
Application granted granted Critical
Publication of CN102792284B publication Critical patent/CN102792284B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • G06F12/0607Interleaved addressing
    • 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/7211Wear leveling

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Memory System (AREA)

Abstract

耗损均衡技术包括发现一个或多个存储器设备的持久状态,或者如果未发现给定存储器设备的持久状态时,对于给定存储器设备的每个逻辑单元建立并缓存持久状态参数。该技术可能还包括利用所缓存的持久状态参数处理存储器访问命令。当处理存储器访问命令时,命令的逻辑块地址和逻辑地址的长度参数可被转译为多个物理地址以访问一个或多个存储器设备,每个物理地址均包括设备地址、逻辑单元地址、块地址和页面地址,其中块地址包括一个或多个交织地址位。

Description

存储器设备耗损均衡技术
背景技术
各种类型的存储器被设计用于大面积擦写,通常被称为闪存(flashmemory)。这样的存储器设备在工作寿命范围内只能承受有限数量的擦除循环。闪存能够承受并继续可靠工作的擦除循环数量可被表达为存储器设备的耐久性(endurance)。通常来说,目前闪存设备的给定存储器单元在不能可靠工作之前可擦除次数在10,000到100,000之间。存储器设备的耐久性可取决于用以制作该设备的半导体工艺以及该存储器设备的架构。
闪存常见于各种传统电子设备中。当超出闪存的耐久性后,闪存和/或包含该闪存的电子设备的性能可能受到不利影响,甚至停止工作。因而,总是需要改善诸如闪存的存储器设备的耐久性。
发明内容
本技术的实施例是针对存储器设备耗损均衡技术。在一个实施例中,耗损均衡方法包括将逻辑块地址和该逻辑块地址中指定多个逻辑页面的长度转译为多个物理地址以访问一个或多个存储器设备。每个物理地址均包括设备地址、逻辑单元地址、块地址和页面地址。
在另一个实施例中,耗损均衡存储器控制器发现一个或多个存储器设备的持久(persistent)状态。如果对于给定存储器设备没有发现持久状态,则存储器控制器还会为该给定存储器设备的每个逻辑单元建立并缓存持久状态参数。
附图说明
本技术的实施例在以下附图中以示例而非限定的方式加以说明,图中相似的数字标注相似的元素,其中:
图1显示根据本技术的一个实施例的示范性存储器设备的框图。
图2显示根据本技术的一个实施例,包括一个或多个存储器设备的示范性电子设备的框图。
图3显示根据本技术的一个实施例,用于将逻辑地址转译为物理地址的方法的框图。
图4显示根据本技术的一个实施例,初始化一个或多个存储器设备的方法的流程图。
具体实施方式
现在将对本技术的实施例进行详细描述,其示例图示于附图中。需要说明,在结合这些实施例对本技术加以描述的时候,并不意图将本发明限制在这些实施例上。相反的,本发明意图覆盖替代、更改和等效方案,这些可被包括在由随附的权利要求书所定义的本发明的范围内。此外,在随后对本技术的详细描述中,将列出大量特定的细节以提供对本技术的充分理解。然而,需要说明的是本技术可能在没有这些特定细节的情况下得以实施。在另外一些示例中,并未对公知的方法、过程、组件和电路进行具体描述,以免引起对本技术各方面的不必要的混淆。
参照图1,显示了根据本技术一个实施例的示范性存储器设备。该示范性存储器设备230可以是块可编程存储器设备,例如闪存设备等。块可编程存储器设备包括大量排列成阵列的存储器单元。存储器单元阵列排列在一个或多个逻辑单元(LUN)110中。每个LUN110由存储器单元的交织(interleaved)物理块120的集合组成。每个物理块120均包括多个页面130(例如,指定数目的存储器单元)。在一种实现方案中,物理块120可以包括2的指数个页面(例如,32的倍数个页面)。存储器单元的页面130可以包括预先设定的2的指数个存储器单元(例如,存储8的倍数个比特)。这些页面可以从2千字节到512兆字节或者更多,典型大小是4千字节到64千字节。每个存储器单元通常存储一个或多个比特。例如,单层单元(single-levelcell,SLC)存储一个比特的数据,而多层单元(multi-levelcell,MLC)可存储两个或多个比特的数据。
这样的块可编程存储器的电路和存储器单元架构使得新数据写入块可编程存储器230的已擦除的物理块120中。通常来说,如果数据要写入已经包含数据的物理块120中,则该物理块120必须在新数据写入前进行擦除。如果块可编程存储器230的块120是由软件直接写入,那么不统一的地址模式可能导致跨存储器230多个物理块120的不规则数目的擦除。例如,如果一个地址模式被持续的写入,那么擦除次数将最终超出给定物理块120的耐久性限度。超出块120的耐久性限度将会降低块可编程存储器设备230的工作寿命。
根据本技术的实施例,耗损均衡技术将软件产生的逻辑地址映射到块可编程存储器设备的物理地址。该映射使得随着时间的推移,无论软件存取模式如何,块可编程存储器设备中的所有物理块都得到几乎相同数目的擦除循环。耗损均衡技术显著提高了块可编程存储器设备的工作寿命。在一个实现方案中,为符合开放NAND闪存接口(ONFI)2.0规范的闪存设备应用损耗均衡技术。
现在参照图2,显示了根据本技术一个实施例的示例性电子设备,其包含一个或多个存储器设备。该电子设备210可以是计算机、笔记本计算机、蜂窝电话、智能电话、便携式音乐播放器(例如,MP3播放器)、个人数码助理、上网本计算机、电子书、游戏控制台、便携式游戏机、机顶盒、卫星接收机、导航系统、数字录像机(例如,DVR)、服务器计算机、和/或诸如此类。
电子设备210包括一个或多个处理单元220、系统存储器230、存储器控制器240和多个块可编程存储器设备250,通过一个或多个通信总线260通信耦合。电子设备210也可以包括其他电路,例如输入/输出设备270等等。在一种实现方案中,多个块可编程存储器设备250可以是闪存设备。在一种实现方案中,存储器控制器240可以使能对系统存储器230、块可编程存储器设备250和电子设备210的其他存储器设备的访问。一个或多个块可编程存储器设备250可以位于电子设备210的内部或外部。存储器控制器240可以是电子设备210的一个或多个其他电路的一部分,或者可以是分立设备。例如,存储器控制器可以是一个或多个存储器设备、一个或多个处理器、一个或多个其他电路(例如,北桥芯片、图形处理单元)的一部分和/或可以是分立的专用控制器。存储器控制器可以采用一种或多种方式实现,例如硬件、固件和/或计算设备可读指令(例如,软件)和处理单元。在另一个实现方案中,电子设备210可包括多个存储器控制器,这些存储器控制器中的一个是专用的块可编程存储器控制器240。
块可编程存储器设备250可包括一个或多个具有不同运行参数的设备。例如,存储器设备250可包括一个或多个具有不同存储容量(例如,页面),具有不同数目的块、不同空余(spare)块、不同计时要求等等的设备。
块可编程存储器控制器240包括用于缓存一个或多个块可编程存储器设备250持久状态参数的缓存280。块可编程存储器控制器240可为一个或多个块可编程存储器设备250缓存持久状态参数,例如位于坏块数据结构中的坏块数据、位于映射数据结构中的映射数据、位于空余块数据结构中的空余块数据等等。持久状态参数缓存280可以是独立的,或者可以是块可编程存储器控制器240的一部分。块可编程存储器控制器240利用所缓存的持久状态参数280来处理一个或多个存储器访问命令,包括将逻辑块地址和在该逻辑块地址中指定整数个逻辑页面的长度转译为多个物理地址以访问一个或多个存储器设备250,每个物理地址均包括设备地址、逻辑单元地址、块地址和页面地址。此外,块地址包括一个或多个交织地址位。块可编程存储器控制器240更新所缓存的持久状态参数280并随后定期在块可编程存储器250中日志记录(journal)持久状态参数,以改善块可编程存储器设备250的耗损均衡。
现在参照图3,根据本技术一个实施例的用于将逻辑地址转译为物理地址的方法。地址转译方法可以由存储器控制器实施。该方法也可体现在包括计算设备可读指令的制造中,该计算设备可读指令存储在一个或多个计算设备可读介质中(例如,存储器),如果由处理单元所执行,则其将执行包括地址转译在内的一个或多个进程。该方法也可体现在包括固件的制造中,该固件在运行的时候将执行包括地址转译在内的一个或多个进程。
由软件使用以访问数据的逻辑地址包括逻辑块地址(LBA)和由长度参数指定的整数个逻辑页面。物理地址包括设备标识符(例如,芯片使能)、逻辑单元地址、块地址和页面地址。块地址的低阶位包括一个或多个交织地址位。
物理存储空间通常包括多个如图2所示的块可编程存储器设备。相应的,地址转译器310可将逻辑块地址(LBA)315和指定逻辑地址的多个逻辑页面的长度320转译为跨多个目标块可编程存储器设备的物理地址。在一个实施例中,逻辑块地址315转译为N个物理地址,其中N是不小于逻辑地址中指定的长度除以页面大小的最小整数(N=向下取整(长度/页面大小))。N个物理地址中的每一个都包括设备字段325、逻辑单元字段330、块字段335和页面字段340。对于N个物理地址中的每一个,设备字段325被解码用于寻址存储器设备的N个芯片使能中的一个。LUN字段330指定了在寻址物理存储器设备内给定逻辑单元的地址。块字段335指定了在所指定的LUN内给定块的交织地址。页面字段340指定了在所指定的块内页面的地址。
与常规的耗损均衡技术相比,该转译方法可以灵活的跨多个块可编程存储器设备创建不同的映射,以得到更高的性能和可靠性。除了地址转译以外,该方法还支持块可编程设备的初始化和持久状态的发现,坏物理块的检测和管理,空余块分配、管理和垃圾收集,并可以灵活的避免块内物理页面的非时序编程。
现在参照图4,根据本技术一个实施例,显示了对一个或多个存储器设备进行初始化的方法。对一个或多个存储器设备进行初始化的方法可由存储器控制器实施。存储器控制器可以是一个或多个存储器设备、一个或多个处理器和/或一个或多个其他电路(例如,北桥芯片,图形处理单元)的一部分,或者可以是独立的专用控制器。该方法可体现在包括计算设备可读指令的制造中,该计算设备可读指令存储在一个或多个计算设备可读介质中(例如,存储器),如果由处理单元所执行,则其将执行包括初始化一个或多个存储器设备在内的一个或多个进程。该方法也可体现在包括固件的制造中,该固件在运行的时候将执行包括初始化一个或多个存储器设备在内的一个或多个进程。
该方法从410处开始,读取多个块可编程存储器设备的参数页面。参数页面包括各个存储器设备的参数,例如LUN的数目、每个LUN的块的数目、页面大小、每个页面的空余字节的数目、所支持的ECC字节(例如,联式选项(strapoption))和/或诸如此类。对每个所附接的存储器设备414-425,在430处读取设备内每个LUN的给定物理块。在一种实现方案中,读取的是每个LUN的块0。在435处,检查每个LUN的给定块的块类型标识以确定该块是否已经初始化。
如果每个LUN的给定块已经初始化,将对初始化参数进行检测并缓存。在一种实现方案中,在440处,对于每个所附接设备的每个LUN,检测最近的坏块表数据结构并加以缓存。在445处,对于每个所附接设备的每个LUN,还检测最近的映射表数据结构并加以缓存。在450处,对于每个所附接设备的每个LUN,还检测最近的空余块表数据结构并加以缓存。对这些参数加以缓存,使得存储初始化参数的给定块不必在每次参数更新的时候都进行写入,因而改善了存储器设备的耗损均衡。
如果每个LUN的给定块还没有初始化,则对LUN进行初始化并缓存初始化数据。在一种实现方案中,在455处检测坏块,以及建立并缓存坏块表数据结构。在460处,还建立并缓存将逻辑块地址映射到物理块地址的映射表数据结构。在465处,还建立并缓存空余块表数据结构。
在470处,可以处理一个或多个存储器访问命令。在475处也可执行各种后台任务。利用上述参照图3的地址转译方法对存储器访问命令进行处理。后台任务可能包括垃圾收集,更新映射或空余表,擦除块,更新擦除计数,日志记录映射、空余和/或坏块表,等等。对映射表、空余表和坏块表数据结构的日志记录为数据的持久存储做准备。利用上述参照图3的地址转译方法对数据结构进行日志记录。
根据本技术的实施例,耗损均衡技术有利地利用了系统存储器映射表结构来支持大容量(例如,上百G字节)和高性能的块可编程存储器,例如ONFI闪存设备。映射数据结构也有利地具有灵活语义以支持存储器控制器的多个实例。这有助于使实施该耗损均衡技术的固件规模最小化。根据该技术的实施例,对虚拟地址元组的索引(LBA,长度)具有可编程的哈希函数,该函数有利地创建各种选项,用于跨相同或不同目标存储器设备来交织经映射的物理地址。
上述对本技术特定实施例的描述只用于示例和描述的目的。并不意图穷举或将本发明限制在所述的确定形式,很明显,根据上述教导可能会有多种更改和变形。选定和描述这些实施例是为了更好的解释本技术的原理和实际应用,从而使得本领域其他技术人员能够更好的使用本技术和各种为了适合于预期的独特应用而进行了各种改动的实施例。意图由随附的权利要求书及其等价物来定义本发明的范围。

Claims (13)

1.一种存储器设备耗损均衡方法,包括:
发现一个或多个存储器设备的持久状态,其中所述持久状态包括位于坏块数据结构中的坏块数据、位于映射数据结构中的映射数据、位于空余块数据结构中的空余块数据;
如果对于给定存储器设备未发现持久状态,则对于给定存储器设备的每个逻辑单元建立并缓存持久状态参数;
利用所述持久状态参数的一个或多个来处理一个或多个存储器访问命令,包括将逻辑块地址和逻辑地址的长度转译为多个物理地址以访问多个存储器设备,其中每个物理地址均包括设备地址、逻辑单元地址、块地址和页面地址。
2.根据权利要求1所述的存储器设备耗损均衡方法,其中,所述多个存储器设备中的至少两个是不同的存储器设备。
3.根据权利要求1所述的存储器设备耗损均衡方法,其中,所述多个存储器设备包括多个闪存设备。
4.根据权利要求1所述的存储器设备耗损均衡方法,其中,所述方法进一步包括:
读取所述一个或多个存储器设备的参数页面;
读取所述一个或多个存储器设备中每一者的每个逻辑单元的给定物理块;
确定所述给定块是否已经初始化;
如果给定逻辑单元的所述给定块已经初始化,则对于所述给定逻辑单元检测并缓存初始化参数;
如果给定逻辑单元的所述给定块未初始化,则对于所述给定逻辑单元建立并缓存初始化参数。
5.根据权利要求4所述的存储器设备耗损均衡方法,其中,所述方法进一步包括在对应的一个或多个存储器设备中定期日志记录所缓存的初始化参数。
6.根据权利要求4所述的存储器设备耗损均衡方法,其中,检测并缓存初始化参数包括:
检测并缓存最近的坏块表数据结构;
检测并缓存最近的映射表数据结构;以及
检测并缓存最近的空余块表数据结构。
7.根据权利要求4所述的存储器设备耗损均衡方法,其中,建立并缓存初始化参数包括:
建立并缓存坏块表数据结构;
建立并缓存映射表数据结构;以及
建立并缓存空余块表数据结构。
8.根据权利要求1所述的存储器设备耗损均衡方法,其中,所述块地址包括一个或多个交织地址位。
9.根据权利要求1所述的存储器设备耗损均衡方法,其中,所述多个物理地址的所述设备地址跨多个存储器设备进行映射。
10.根据权利要求9所述的存储器设备耗损均衡方法,其中,所述多个存储器设备包括多个开放NAND闪存接口(ONFI)存储器设备。
11.一种电子设备,包括:
处理器;
通信耦合到所述处理器的一个或多个块可编程存储器设备,其中,每个块可编程存储器设备均包括一个或多个逻辑单元,每个逻辑单元均包括多个块,并且每个块均包括多个存储器页面;以及
存储器控制器,包括可编程哈希函数,用以将包括逻辑块地址及长度的逻辑地址转译为多个物理地址以访问所述存储器设备,每个物理地址均包括设备地址、逻辑单元地址、块地址和页面地址,用以跨相同或不同存储器设备来交织所映射的物理地址;以及
其中,所述存储器控制器进一步包括持久状态参数缓存,其中所缓存的持久状态参数用以处理存储器访问命令,并且所述持久状态参数缓存包括坏块数据结构、映射数据结构和空余块数据结构。
12.根据权利要求11所述的电子设备,其中,所述存储器控制器发现所述一个或多个块可编程存储器设备的持久状态,并且如果对于给定存储器设备未发现持久状态,则对于给定存储器设备的每个逻辑单元建立持久状态参数。
13.根据权利要求12所述的电子设备,其中,所述存储器控制器在给定块可编程存储器设备中定期日志记录所述给定块可编程存储器设备的持久状态参数。
CN201080065039.1A 2009-12-30 2010-11-23 存储器设备耗损均衡技术 Active CN102792284B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/649,992 2009-12-30
US12/649,992 US20110161553A1 (en) 2009-12-30 2009-12-30 Memory device wear-leveling techniques
PCT/US2010/057831 WO2011090547A2 (en) 2009-12-30 2010-11-23 Memory device wear-leveling techniques

Publications (2)

Publication Number Publication Date
CN102792284A CN102792284A (zh) 2012-11-21
CN102792284B true CN102792284B (zh) 2016-05-04

Family

ID=44188841

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201080065039.1A Active CN102792284B (zh) 2009-12-30 2010-11-23 存储器设备耗损均衡技术

Country Status (5)

Country Link
US (1) US20110161553A1 (zh)
CN (1) CN102792284B (zh)
DE (1) DE112010005074T5 (zh)
GB (1) GB2489355B (zh)
WO (1) WO2011090547A2 (zh)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8688955B2 (en) 2010-08-13 2014-04-01 Micron Technology, Inc. Line termination methods and apparatus
US9465728B2 (en) 2010-11-03 2016-10-11 Nvidia Corporation Memory controller adaptable to multiple memory devices
WO2012065112A2 (en) * 2010-11-12 2012-05-18 Apple Inc. Apparatus and methods for recordation of device history across multiple software emulations
US8626991B1 (en) * 2011-06-30 2014-01-07 Emc Corporation Multi-LUN SSD optimization system and method
US20130067289A1 (en) * 2011-09-14 2013-03-14 Ariel Maislos Efficient non-volatile read cache for storage system
KR20130060791A (ko) * 2011-11-30 2013-06-10 삼성전자주식회사 마모도 제어 로직을 포함하는 메모리 시스템, 데이터 저장 장치, 메모리 카드, 그리고 솔리드 스테이트 드라이브
US9098400B2 (en) * 2012-10-31 2015-08-04 International Business Machines Corporation Dynamic tuning of internal parameters for solid-state disk based on workload access patterns
US9424209B2 (en) * 2013-09-19 2016-08-23 Intel Corporation Dynamic heterogeneous hashing functions in ranges of system memory addressing space
US10437785B2 (en) 2016-03-29 2019-10-08 Samsung Electronics Co., Ltd. Method and apparatus for maximized dedupable memory
CN108241468B (zh) * 2016-12-23 2021-12-07 北京忆芯科技有限公司 Io命令处理方法与固态存储设备
KR102509913B1 (ko) * 2017-01-25 2023-03-14 삼성전자주식회사 최대화된 중복 제거 메모리를 위한 방법 및 장치
US10261913B2 (en) * 2017-04-20 2019-04-16 Alibaba Group Holding Limited Persistent memory for key-value storage
KR20180123385A (ko) * 2017-05-08 2018-11-16 에스케이하이닉스 주식회사 메모리 시스템 및 이를 이용한 웨어-레벨링 방법
US10884947B2 (en) * 2017-11-17 2021-01-05 SK Hynix Inc. Methods and memory systems for address mapping
CN110781102A (zh) * 2019-10-29 2020-02-11 江苏微锐超算科技有限公司 计算设备的信息存储、读取方法及共享虚拟介质承载芯片

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101030167A (zh) * 2007-01-17 2007-09-05 忆正存储技术(深圳)有限公司 闪存的区块管理方法
CN101178689A (zh) * 2007-12-06 2008-05-14 浙江科技学院 一种NAND Flash存储器的动态管理方法
TW200823923A (en) * 2006-11-23 2008-06-01 Genesys Logic Inc Caching method for address translation layer of flash memory

Family Cites Families (47)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4360916A (en) * 1979-12-31 1982-11-23 Ncr Canada Ltd.-Ncr Canada Ltee. Method and apparatus for providing for two bits-error detection and correction
JPH04128946A (ja) * 1990-09-20 1992-04-30 Fujitsu Ltd アドレス変換方式
US5343481A (en) * 1991-01-07 1994-08-30 Kraft Clifford H BCH error-location polynomial decoder
US5734926A (en) * 1992-07-15 1998-03-31 Advanced Hardware Architectures Direct memory access controller in an integrated circuit
US5533035A (en) * 1993-06-16 1996-07-02 Hal Computer Systems, Inc. Error detection and correction method and apparatus
FR2737592B1 (fr) * 1995-08-03 1997-10-17 Sgs Thomson Microelectronics Circuit hdlc a bus interne partage
US5787279A (en) * 1995-12-22 1998-07-28 International Business Machines Corporation System and method for conformationally-flexible molecular recognition
US6000006A (en) * 1997-08-25 1999-12-07 Bit Microsystems, Inc. Unified re-map and cache-index table with dual write-counters for wear-leveling of non-volatile flash RAM mass storage
US6604136B1 (en) * 1998-06-27 2003-08-05 Intel Corporation Application programming interfaces and methods enabling a host to interface with a network processor
US7934074B2 (en) * 1999-08-04 2011-04-26 Super Talent Electronics Flash module with plane-interleaved sequential writes to restricted-write flash chips
US7457897B1 (en) * 2004-03-17 2008-11-25 Suoer Talent Electronics, Inc. PCI express-compatible controller and interface for flash memory
US6760743B1 (en) * 2000-01-04 2004-07-06 International Business Machines Corporation Instruction memory system for multi-processor environment and disjoint tasks
US8108590B2 (en) * 2000-01-06 2012-01-31 Super Talent Electronics, Inc. Multi-operation write aggregator using a page buffer and a scratch flash block in each of multiple channels of a large array of flash memory to reduce block wear
US6820142B2 (en) * 2000-12-14 2004-11-16 International Business Machines Corporation Token based DMA
US20020161941A1 (en) * 2001-04-30 2002-10-31 Sony Corporation And Electronics, Inc System and method for efficiently performing a data transfer operation
US7237016B1 (en) * 2001-09-07 2007-06-26 Palau Acquisition Corporation (Delaware) Method and system to manage resource requests utilizing link-list queues within an arbiter associated with an interconnect device
US6772276B2 (en) * 2002-01-04 2004-08-03 Intel Corporation Flash memory command abstraction
US7100103B2 (en) * 2002-01-22 2006-08-29 Broadcom Corporation Efficient method for fast decoding of BCH binary codes
US6985977B2 (en) * 2002-08-30 2006-01-10 National Instruments Corporation System and method for transferring data over a communication medium using double-buffering
US8041878B2 (en) * 2003-03-19 2011-10-18 Samsung Electronics Co., Ltd. Flash file system
US7685254B2 (en) * 2003-06-10 2010-03-23 Pandya Ashish A Runtime adaptable search processor
US7277978B2 (en) * 2003-09-16 2007-10-02 Micron Technology, Inc. Runtime flash device detection and configuration for flash data management software
US7293048B2 (en) * 2003-10-29 2007-11-06 Hewlett-Packard Development Company, L.P. System for preserving logical object integrity within a remote mirror cache
EP1528478A1 (en) * 2003-11-03 2005-05-04 Sun Microsystems, Inc. Generalized addressing scheme for remote direct memory access enabled devices
JP2005202767A (ja) * 2004-01-16 2005-07-28 Toshiba Corp プロセッサシステム、dma制御回路、dma制御方法、dmaコントローラの制御方法、画像処理方法および画像処理回路
US8006056B2 (en) * 2004-01-30 2011-08-23 Hewlett-Packard Development Company, L.P. Storage system including capability to move a virtual storage device group without moving data
US20050289253A1 (en) * 2004-06-24 2005-12-29 Edirisooriya Samantha J Apparatus and method for a multi-function direct memory access core
US7392330B2 (en) * 2004-07-02 2008-06-24 Mediatek Usa Inc. Memory access bandwidth allocation and latency control in a digital camera
US7689998B1 (en) * 2004-07-13 2010-03-30 Microsoft Corporation Systems and methods that manage processing resources
JP2008511929A (ja) * 2004-08-30 2008-04-17 シリコン ストレージ テクノロジー、 インク. 携帯電話の不揮発性メモリを管理するシステムおよび方法
KR100621631B1 (ko) * 2005-01-11 2006-09-13 삼성전자주식회사 반도체 디스크 제어 장치
US20060236039A1 (en) * 2005-04-19 2006-10-19 International Business Machines Corporation Method and apparatus for synchronizing shared data between components in a group
US7441054B2 (en) * 2005-09-26 2008-10-21 Realtek Semiconductor Corp. Method of accessing internal memory of a processor and device thereof
WO2007072317A2 (en) * 2005-12-21 2007-06-28 Nxp B.V. Non-volatile memory with block erasable locations
JP4863749B2 (ja) * 2006-03-29 2012-01-25 株式会社日立製作所 フラッシュメモリを用いた記憶装置、その消去回数平準化方法、及び消去回数平準化プログラム
CN101051464A (zh) * 2006-04-06 2007-10-10 株式会社东芝 说话人认证的注册和验证方法及装置
US7761636B2 (en) * 2006-11-22 2010-07-20 Samsung Electronics Co., Ltd. Method and system for providing access arbitration for an integrated circuit in a wireless device
CN101681282A (zh) * 2006-12-06 2010-03-24 弗森多系统公司(dba弗森-艾奥) 用于共享的、前端、分布式raid的装置、系统和方法
US8151082B2 (en) * 2007-12-06 2012-04-03 Fusion-Io, Inc. Apparatus, system, and method for converting a storage request into an append data storage command
US8166212B2 (en) * 2007-06-26 2012-04-24 Xerox Corporation Predictive DMA data transfer
JP5087347B2 (ja) * 2007-09-06 2012-12-05 株式会社日立製作所 半導体記憶装置及び半導体記憶装置の制御方法
US7877524B1 (en) * 2007-11-23 2011-01-25 Pmc-Sierra Us, Inc. Logical address direct memory access with multiple concurrent physical ports and internal switching
CN101470663B (zh) * 2007-12-29 2011-01-12 安凯(广州)微电子技术有限公司 Nand闪存的mtd设计中处理地址不连续的方法
US8464021B2 (en) * 2008-05-28 2013-06-11 Spansion Llc Address caching stored translation
CN101419842B (zh) * 2008-11-07 2012-04-04 成都市华为赛门铁克科技有限公司 硬盘的损耗均衡方法、装置及系统
US8176295B2 (en) * 2009-04-20 2012-05-08 Imation Corp. Logical-to-physical address translation for a removable data storage device
US8392806B2 (en) * 2009-09-02 2013-03-05 Texas Instruments Incorporated Method, device, and digital circuitry for providing a closed-form solution to a scaled error locator polynomial used in BCH decoding

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW200823923A (en) * 2006-11-23 2008-06-01 Genesys Logic Inc Caching method for address translation layer of flash memory
CN101030167A (zh) * 2007-01-17 2007-09-05 忆正存储技术(深圳)有限公司 闪存的区块管理方法
CN101178689A (zh) * 2007-12-06 2008-05-14 浙江科技学院 一种NAND Flash存储器的动态管理方法

Also Published As

Publication number Publication date
US20110161553A1 (en) 2011-06-30
GB2489355A (en) 2012-09-26
DE112010005074T5 (de) 2012-12-27
GB2489355B (en) 2017-08-16
CN102792284A (zh) 2012-11-21
GB201211590D0 (en) 2012-08-15
WO2011090547A2 (en) 2011-07-28
WO2011090547A3 (en) 2011-10-06

Similar Documents

Publication Publication Date Title
CN102792284B (zh) 存储器设备耗损均衡技术
US9842030B2 (en) Data storage device and flash memory control method
US9520992B2 (en) Logical-to-physical address translation for a removable data storage device
US9753847B2 (en) Non-volatile semiconductor memory segregating sequential, random, and system data to reduce garbage collection for page based mapping
JP5458419B2 (ja) メモリブロックの選択
US10296224B2 (en) Apparatus, system and method for increasing the capacity of a storage device available to store user data
US8316176B1 (en) Non-volatile semiconductor memory segregating sequential data during garbage collection to reduce write amplification
US8001317B2 (en) Data writing method for non-volatile memory and controller using the same
US10496334B2 (en) Solid state drive using two-level indirection architecture
US9971514B2 (en) Dynamic logical groups for mapping flash memory
US8838877B2 (en) File system derived metadata for management of non-volatile memory
JP2003296188A (ja) 高容量フラッシュメモリカードシステムにおけるデータ運営方法
US9594675B2 (en) Virtualization of chip enables
US9268688B2 (en) Data management method, memory controller and memory storage apparatus
CN103635968A (zh) 包含存储器系统控制器的设备和相关方法
CN106557432B (zh) 缓冲存储器管理方法、存储器控制电路单元及存储装置
KR20200027045A (ko) 메모리 어드레싱
US10459803B2 (en) Method for management tables recovery
CN106990921B (zh) 数据写入方法、存储器存储装置与存储器控制电路单元
CN110781093B (zh) 能够改变映射高速缓存缓冲器大小的数据存储设备
US9727453B2 (en) Multi-level table deltas
CN113885808A (zh) 映射信息记录方法以及存储器控制电路单元与存储装置
JP2012068765A (ja) メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法
CN109669620A (zh) 存储器管理方法、存储器控制电路单元及存储器储存装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C53 Correction of patent for invention or patent application
CB03 Change of inventor or designer information

Inventor after: Saxena Nirmal

Inventor after: Tsai Howard

Inventor after: Vyshetsky Dimitry

Inventor after: Lin Yunzhong

Inventor before: Saxena Nirmal

Inventor before: Tsai Howard

Inventor before: Vyshetsky Dimitry

Inventor before: Yan *lin

COR Change of bibliographic data

Free format text: CORRECT: INVENTOR; FROM: SAXENA NIRMAL TSAI HOWARD YYSHETSKY DIMITRY LIN YEN TO: SAXENA NIRMAL TSAIHOWARD YYSHETSKY DIMITRY LIN YUNZHONG

C53 Correction of patent for invention or patent application
CB03 Change of inventor or designer information

Inventor after: Saxena Nirmal

Inventor after: Cai Hao

Inventor after: Vyshetsky Dimitry

Inventor after: Lin Yunzhong

Inventor before: Saxena Nirmal

Inventor before: Tsai Howard

Inventor before: Vyshetsky Dimitry

Inventor before: Lin Yunzhong

COR Change of bibliographic data

Free format text: CORRECT: INVENTOR; FROM: SAXENA NIRMAL TSAI HOWARD YYSHETSKY DIMITRY LIN YUNZHONG TO: SAXENA NIRMALCAI HAO YYSHETSKY DIMITRY LIN YUNZHONG

C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant