CN102187398B - 固态存储装置中的热存储器块表 - Google Patents
固态存储装置中的热存储器块表 Download PDFInfo
- Publication number
- CN102187398B CN102187398B CN200980140914.5A CN200980140914A CN102187398B CN 102187398 B CN102187398 B CN 102187398B CN 200980140914 A CN200980140914 A CN 200980140914A CN 102187398 B CN102187398 B CN 102187398B
- Authority
- CN
- China
- Prior art keywords
- memory
- priority position
- page table
- block look
- priority
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
-
- 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/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
- G06F12/1009—Address translation using page tables, e.g. page table structures
-
- 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
-
- 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
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- 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/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0866—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
- G06F12/0868—Data transfer between cache memory and other subsystems, e.g. storage devices or host systems
-
- 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/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
- G06F12/1027—Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB]
-
- 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/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/12—Replacement control
- G06F12/121—Replacement control using replacement algorithms
- G06F12/123—Replacement control using replacement algorithms with age lists, e.g. queue, most recently used [MRU] list or least recently used [LRU] list
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
-
- 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/0292—User address space allocation, e.g. contiguous or non contiguous base addressing using tables or multilevel address translation means
-
- 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/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/12—Replacement control
- G06F12/121—Replacement control using replacement algorithms
- G06F12/122—Replacement control using replacement algorithms of the least frequently used [LFU] type, e.g. with individual count value
-
- 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/10—Providing a specific technical effect
- G06F2212/1016—Performance improvement
-
- 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/10—Providing a specific technical effect
- G06F2212/1032—Reliability improvement, data loss prevention, degraded operation etc
- G06F2212/1036—Life time enhancement
-
- 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/7201—Logical to physical mapping or translation of blocks or pages
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System (AREA)
- Read Only Memory (AREA)
Abstract
本发明揭示固态存储装置及用于填充热存储器块查找表(HBLT)的方法。在此一种方法中,将非易失性存储器块的经存取页表或存储器映射的指示存储于所述HBLT中。在所述页表或存储器映射已经存在于所述HBLT中的情况下,将所述页表或存储器映射的优先级位置提高到下一优先级位置。在所述页表或存储器映射尚未存储于所述HBLT中的情况下,将所述页表或存储器映射存储于所述HBLT中某一优先级位置(例如中点)处,且在对所述页表或存储器映射的每一后续存取时递增所述优先级位置。
Description
技术领域
本发明大体来说涉及存储器装置,且在特定实施例中本发明涉及非易失性存储器装置。
背景技术
在计算机或其它电子装置中,存储器装置可包含内部半导体集成电路。存在许多不同类型的存储器,其包含随机存取存储器(RAM)、只读存储器(ROM)、动态随机存取存储器(DRAM)、静态RAM(SRAM)、同步动态RAM(SDRAM)及非易失性存储器(例如快闪存储器)。
快闪存储器装置已发展成用于广泛的电子应用的非易失性存储器的普遍来源。快闪存储器装置通常使用允许高存储器密度、高可靠性及低电力消耗的单晶体管存储器单元。快闪存储器的常见用途包含个人计算机、个人数字助理(PDA)、数码相机及蜂窝式电话。例如基本输入/输出系统(BIOS)等程序码及系统数据通常存储于快闪存储器装置中以供用于个人计算机系统中。
快闪存储器装置也可并入到固态存储装置(例如固态驱动器)中。固态驱动器由多个快闪封装组成,其中每一封装可由许多存储器裸片组成。固态驱动器用于计算机中来替换通常使用磁盘或光盘来存储大量数据的硬磁盘驱动器。固态驱动器不需要使用移动部件,而硬磁盘驱动器需要复杂及敏感驱动器及读取/写入磁头组合件以与磁盘/光盘交互。因此,所述固态驱动器对因振动及碰撞导致的数据损坏及丢失具有更强抵抗性。
固态驱动器中的快闪翻译层(FTL)结合操作系统一起工作以使得所述固态驱动器对于所述操作系统表现为磁盘驱动器。此由FTL从快闪擦除块形成虚拟小数据块(也称为扇区)来实现。所述FTL还管理及映射在固态驱动器上的数据,以使得当出于耗损平均的目的而实际上将所述数据存储于贯穿快闪存储器的不同位置中时,所述数据对于所述系统表现为写入于某一位置中。
所述FTL通过在存储器中产生及维持大表以将对磁盘驱动器的一个扇区的主机请求映射到数据在固态驱动器的快闪存储器裸片中的实际位置来执行这些任务。这些表可能很大而使得系统RAM不能保持所述表且不得不将所述快闪存储器用作溢出存储器以保持所述表的部分。存取快闪存储器中的这些表可使系统性能降级,因为对快闪存储器的读取及写入操作比对RAM的读取及写入操作需要更多的时间。
由于上述原因,且由于所属领域的技术人员在阅读并理解本说明书之后将明了的下述其它原因,所属技术领域中需要更有效率的快闪翻译层。
附图说明
图1显示并入有快闪翻译层的固态驱动器。
图2显示根据图1的固态驱动器并入有快闪存储器阵列及存储器通信信道的非易失性存储器装置的一个实施例的框图。
图3显示根据图1及图2的非易失性存储器装置的非易失性存储器阵列的一部分的一个实施例的示意图。
图4显示用于填充热存储器块查找表的方法的一个实施例的流程图。
图5显示根据图4的填充方法的热存储器块查找表的一个实施例。
具体实施方式
在本发明的下述详细说明中,参照形成本发明的一部分且其中以图解说明的方式显示可以其来实践本发明的具体实施例的附图。在所述图式中,贯穿若干视图,相同编号描述大致类似的组件。充分详细地描述这些实施例以使得所属领域的技术人员能够实践本发明。可利用其它实施例并可在不背离本发明范围的前提下做出结构、逻辑及电方面的改变。因此,不应以限制意义考虑以下详细说明,且本发明的范围仅由所附权利要求书及其等效物界定。
图1图解说明并入有使用热存储器块查找表的快闪翻译层(FTL)120的固态驱动器的一个实施例的框图。在一个实施例中,所述热存储器块查找表为所述FTL的一部分。
图1的驱动器由控制器130组成,所述控制器具有执行FTL 120的八个通信信道101到108。每一信道101到108连接到四个经堆叠的存储器封装。这些装置图解说明为NAND存储器封装。替代实施例可使用其它类型的固态存储器。
每一经堆叠的NAND存储器封装(也称作逻辑单元(LUN))可以并行方式存取,且随后称作并行单元(PU)。可为每一PU指派唯一编号或某一其它唯一识别符。如随后参照图4及图5所述,为每一PU或其它存储器单元指派其自己的热存储器块查找表。
每一逻辑单元可共享同一芯片选择(CE)信号,以使得每一逻辑单元由地址位存取以区分所述封装中的多个裸片。所述多个裸片可根据不同命令同时并行操作。换句话说,在一个裸片正经历写入操作时另一裸片可能正在经历读取操作。可将所述封装的每一存储器裸片指派到所述封装内的不同平面。
图2图解说明可并入于集成电路裸片上的非易失性存储器装置200的功能性框图。在一个实施例中,非易失性存储器装置200为快闪存储器。
非易失性存储器装置200包含非易失性存储器单元阵列230,例如图3中图解说明且随后论述的浮动栅极存储器单元。存储器阵列230布置成存取线(例如字线)行及数据线(例如位线)列的库。在一个实施例中,存储器阵列230的列由串联的存储器单元串组成。如此项技术中所众所周知,单元到位线的连接确定所述阵列为NAND架构、AND架构或NOR架构。
存储器阵列230可组织成存储器块。存储器块的数量通常由存储器装置的大小(即,512MB、1GB)确定。在一个实施例中,将每一存储器块组织成64页。
提供地址缓冲器电路240以锁存经由I/O电路260提供的地址信号。由行解码器244及列解码器246接收及解码地址信号以存取存储器阵列230。受益于本说明,所属领域的技术人员将了解,地址输入连接的数目取决于存储器阵列230的密度及架构。也就是说,地址的数目随存储器单元计数的增加以及库及块计数的增加两者而增加。还基于控制信号272的计时而经由I/O电路260输入及输出数据。
非易失性存储器装置200通过使用感测放大器电路250感测存储器阵列列中的电压或电流改变来读取存储器阵列230中的数据。在一个实施例中,感测放大器电路250经耦合以从存储器阵列230读取及锁存数据行。包含I/O电路260以用于双向数据通信以及经由多个数据连接262与外部控制器的地址通信。提供写入电路255以将数据写入到存储器阵列。
存储器控制电路270对从外部控制器提供于控制总线272上的信号进行解码。这些信号可包含读取/写入芯片启用(CE)、命令锁存启用(CLE)、地址锁存启用(ALE)以及用于控制存储器阵列230以及存储器装置200的其它电路上的操作的其它控制信号。在一个实施例中,这些信号为活动低,但替代实施例可使用活动高信号。存储器控制电路270可为用以产生所述存储器控制信号的状态机、定序器或某一其它类型的控制器。
非易失性存储器装置200经由通信信道290与外部控制器通信,如图1中图解说明。在一个实施例中,信道290由固态驱动器控制器与存储器装置200之间的存储器地址、数据及控制信号组成。图2的实施例显示地址及数据作为一个总线耦合到I/O电路260。在替代实施例中,所述地址及数据总线为与存储器装置200分离的输入/输出。
图3图解说明包括串联的非易失性存储器单元串的NAND架构存储器阵列的一部分的示意图。尽管后续论述参考NAND存储器装置,但本发明实施例不限于此架构。
所述存储器阵列由布置成列(例如串联串304、305)的非易失性存储器单元301阵列(例如,浮动栅极)组成。所述单元301中的每一者漏极到源极地耦合于每一串联串304、305中。跨越多个串联串304、305的字线WL0到WL31连接到一行中的每一存储器单元的控制栅极以施偏压于所述行中的存储器单元的控制栅极。位线BL1、BL2最终连接到感测放大器(未显示),所述感测放大器通过感测特定位线上的电流而检测每一单元的状态。
每一串联的存储器单元串304、305通过源极选择栅极316、317耦合到源极线306且通过源极选择栅极312、313耦合到个别位线BL1、BL2。源极选择栅极316、317由耦合到其控制栅极的源极选择栅极控制线SG(S)318控制。漏极选择栅极312、313由漏极选择栅极控制线SG(D)314控制。
每一存储器单元可被编程为单电平单元(SLC)或多电平单元(MLC)。每一单元的阈值电压(Vt)指示存储于所述单元中的数据。举例来说,在SLC中,0.5V的Vt可指示经编程的单元,而-0.5V的Vt可指示经擦除的单元。所述MLC可具有多个Vt窗,每一窗指示不同状态。多电平单元可通过将位图案指派到存储于所述单元上的特定电压范围来利用传统快闪单元的模拟性质。取决于指派到所述单元的电压范围的数量,此技术准许每一单元存储两个或两个以上位。
图4图解说明用于填充固态存储器装置(例如图1的固态驱动器)的热存储器块查找表的方法的一个实施例的流程图。所述表用以追踪将相关联并行单元的哪些存储器块视为“热”(即,比其它块更经常被使用)。将FTL用于将所接收的磁盘驱动器扇区映射到存储器擦除块的存储器映射的所述“热”部分从非易失性存储器中的溢出区域移动到RAM中。此使得能够从较高速的RAM比较慢速的快闪存储器更快速地存取更经常被使用的映射。
含有待由FTL翻译的数据的扇区位置(例如,逻辑块地址)的快闪存储器块的页表或存储器映射最初由所述FTL存取(401)。接着将对此特定页表的指针存储于热存储器块查找表中(403)。针对后续论述假设所述热存储器块查找表由从0到A的大量“A”条目组成,其中A为具有最高优先级的表,且0为具有最低优先级的表。
如果经存取表尚未存在于热存储器块查找表中(405),那么将其存储于具有A/2的初始优先级的热存储器块查找表中(407)。替代实施例可存储具有某一不同于A/2的初始优先级的经存取表。接着降低已经存储于热存储器块查找表中的具有低于A/2的优先级的表的优先级(409)。接着从热存储器块查找表中丢弃优先级为0的表(413)。通过使用本方法,以较高优先级的表/映射来不断更新热存储器块查找表,同时丢弃较低优先级的表/映射且将对应的映射/页表移动出较高速的RAM区域。将含有待由FTL翻译的数据的扇区位置的快闪存储器块的页表或存储器映射从较慢的非易失性存储器中的溢出区域移动到较快的RAM(417)。
如果经存取表已经存在于热存储器块查找表中(405),那么递增此表的优先级(411)。当上移经存取表的优先级时,接着将高于A/2的最低优先级表下移(415)。举例来说,如果经存取表处于优先级A/2处且其被第二次存取,那么现在其将处于优先级位置A/2+1处,且先前占据A/2+1位置的表的优先级将接着降低到位置A/2。此操作将继续,直到经存取表位于位置A(热存储器块查找表的最高优先级位置)处为止。在此情况下,由于还未添加任何新表,所以无需丢弃先前的优先级位置0表,因为其仍保持在位置0处。
图5图解说明由图4的方法产生的热存储器块查找表的一个实施例。所述热存储器块查找表的每一条目包括对相关联的并行单元或其它存储器单元中的快闪存储器块的页表或存储器映射指针。将所述条目从位于0优先级位置处的最低优先级到位于A优先级位置处的最高优先级排序。如先前描述,初始进入点为所述表的中点(即,A/2)优先级位置。
结论
总之,固态存储器装置的热块查找表的一个或一个以上实施例提供对与所述热存储器块查找表相关联的并行单元中的NAND快闪存储器块的页表或存储器映射的较快存取。将最初存取的存储器映射输入到所述表中A/2的中点处,且在每次存取所述存储器映射时将表优先级位置上移。将由查找表条目指向的映射的部分从较低速的非易失性存储器移动到较高速的RAM。
尽管本文已图解说明及描述具体实施例,但所属领域的技术人员将了解,任何经计算以实现相同目的的布置可替代所显示的具体实施例。所属领域的技术人员将明了本发明的许多修改。因此,此申请案既定涵盖本发明的任何修改或变化形式。本发明明确地既定仅受以上权利要求书及其等效物限制。
Claims (18)
1.一种用于填充热存储器块查找表的方法,所述方法包括:
确定何时存取多个页表中的一页表;
在经存取页表的指示已经在所述热存储器块查找表中第一优先级位置处的情况下,将所述第一优先级位置提高到具有比所述第一优先级位置高的优先级的第二优先级位置并且降低具有比所述经存取页表高的优先级位置的页表的优先级位置;
在所述经存取页表的所述指示不在所述热存储器块查找表中的情况下,将所述指示存储于所述热存储器块查找表中初始优先级位置处并且将所述经存取页表的指示从所述热存储器块查找表的最低优先级位置移除;以及
响应于所述经存取页表比所述多个页表中的其他页表更经常地被存取,将所述经存取页表从非易失性存储器移动到易失性存储器。
2.根据权利要求1所述的方法,其中所述初始优先级位置为A/2,其中A为所述热存储器块查找表中的最高优先级位置。
3.根据权利要求1所述的方法,其中所述经存取页表的所述指示为所述经存取页表的指针。
4.根据权利要求1所述的方法,其中所述热存储器块查找表为快闪翻译层的经配置以由所述快闪翻译层执行的一部分。
5.根据权利要求1所述的方法,其中在所述页表不存在于所述热存储器块查找表中的情况下,将所述经存取页表的所述指示存储于所述热存储器块查找表中所述热存储器块查找表的中点优先级位置处。
6.根据权利要求4所述的方法,其中所述快闪翻译层位于固态驱动器内,且其中所述固态驱动器包括与构成所述固态驱动器的每一并行单元相关联的热存储器块查找表。
7.根据权利要求5所述的方法,其中提高所述经存取页表的所述优先级位置包含将所述经存取页表的所述优先级位置递增一个优先级位置,且将具有所述较高优先级位置的所述页表的所述优先级位置递减一个优先级位置。
8.根据权利要求5所述的方法,且其进一步包含:
在所述页表不存在于所述热存储器块查找表中的情况下,降低在所述热存储器块查找表中具有小于所述中点优先级位置的优先级位置的页表指示的优先级位置。
9.根据权利要求5所述的方法,且其进一步包括将所述经存取页表从非易失性存储器位置移动到RAM位置。
10.根据权利要求5所述的方法,且其进一步包含针对存储于所述热存储器块查找表中的每一新条目从所述热存储器块查找表中移除一条目。
11.根据权利要求1所述的方法,且其进一步包括:
在存取存储器映射的至少一部分的情况下,将所述存储器映射的所述部分存储于所述热存储器块查找表中的优先级位置处;以及
针对对所述存储器映射的所述部分的每一后续存取,朝向所述热存储器查找表中的最高优先级位置提高所述优先级位置。
12.根据权利要求4所述的方法,其中所述快闪翻译层位于固态驱动器内,且其中给所述固态驱动器中的每一并行单元指派不同的热存储器块查找表。
13.一种固态存储器装置,其包括:
多个存储器阵列;以及
控制器,其经由至少一个通信信道耦合到所述多个存储器阵列,所述控制器经配置以针对所述多个存储器阵列中的每一者追踪对存储器映射的存取操作,其中在存取存储器映射时,在所述经存取存储器映射的指示尚未在热存储器块查找表中的优先级位置处的情况下,将所述指示存储于所述热存储器块查找表中并且将经存取页表的指示从所述热存储器块查找表的最低优先级位置移除,且所述控制器进一步经配置以在所述指示已经在所述热存储器块查找表中的情况下提高所述经存取存储器映射的所述优先级位置并且降低具有比所述经存取页表高的优先级位置的页表的优先级位置,所述控制器进一步经配置以响应于所述经存取存储器映射比多个存储器映射中的其他存储器映射更经常地被存取而将所述经存取映射从非易失性存储器中的溢出区域移动到易失性存储器。
14.根据权利要求13所述的装置,其中所述控制器进一步经配置以在所述指示尚未存储于所述热存储器块查找表中时将所述指示存储于所述热存储器块查找表中的A/2的优先级位置处,其中A为所述热存储器块查找表的最高优先级且0为最低优先级。
15.根据权利要求13所述的装置,其中所述多个存储器阵列配置成NAND架构。
16.根据权利要求13所述的装置,其中所述控制器进一步经配置以执行快闪翻译层,所述快闪翻译层将所接收的磁盘驱动器扇区指示符翻译成存储器映射位置。
17.根据权利要求13所述的装置,其中所述查找表追踪相关联存储器阵列的哪些存储器块比其它块更经常被使用。
18.根据权利要求13所述的装置,其中控制器进一步经配置以将所述指示存储于所述热存储器块查找表中的除所有位置的中点以外的优先级位置处。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/251,640 | 2008-10-15 | ||
US12/251,640 US8725927B2 (en) | 2008-10-15 | 2008-10-15 | Hot memory block table in a solid state storage device |
PCT/US2009/058377 WO2010045000A2 (en) | 2008-10-15 | 2009-09-25 | Hot memory block table in a solid state storage device |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102187398A CN102187398A (zh) | 2011-09-14 |
CN102187398B true CN102187398B (zh) | 2015-04-29 |
Family
ID=42099927
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200980140914.5A Active CN102187398B (zh) | 2008-10-15 | 2009-09-25 | 固态存储装置中的热存储器块表 |
Country Status (7)
Country | Link |
---|---|
US (2) | US8725927B2 (zh) |
EP (1) | EP2335246A4 (zh) |
JP (1) | JP2012506093A (zh) |
KR (1) | KR20110084926A (zh) |
CN (1) | CN102187398B (zh) |
TW (1) | TW201022936A (zh) |
WO (1) | WO2010045000A2 (zh) |
Families Citing this family (31)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI450271B (zh) * | 2009-09-02 | 2014-08-21 | Silicon Motion Inc | 用來管理一快閃記憶體的複數個區塊之方法以及相關之記憶裝置及其控制器 |
US9021185B2 (en) * | 2009-11-23 | 2015-04-28 | Amir Ban | Memory controller and methods for enhancing write performance of a flash device |
US9514838B2 (en) | 2011-05-31 | 2016-12-06 | Micron Technology, Inc. | Apparatus including memory system controllers and related methods for memory management using block tables |
TWI521343B (zh) * | 2011-08-01 | 2016-02-11 | Toshiba Kk | An information processing device, a semiconductor memory device, and a semiconductor memory device |
US10152423B2 (en) | 2011-10-31 | 2018-12-11 | International Business Machines Corporation | Selective population of secondary cache employing heat metrics |
CN102789427B (zh) | 2012-07-17 | 2015-11-25 | 威盛电子股份有限公司 | 数据储存装置与其操作方法 |
US9223693B2 (en) | 2012-12-31 | 2015-12-29 | Sandisk Technologies Inc. | Memory system having an unequal number of memory die on different control channels |
US9734911B2 (en) | 2012-12-31 | 2017-08-15 | Sandisk Technologies Llc | Method and system for asynchronous die operations in a non-volatile memory |
US9465731B2 (en) | 2012-12-31 | 2016-10-11 | Sandisk Technologies Llc | Multi-layer non-volatile memory system having multiple partitions in a layer |
US9336133B2 (en) | 2012-12-31 | 2016-05-10 | Sandisk Technologies Inc. | Method and system for managing program cycles including maintenance programming operations in a multi-layer memory |
US9734050B2 (en) * | 2012-12-31 | 2017-08-15 | Sandisk Technologies Llc | Method and system for managing background operations in a multi-layer memory |
US9348746B2 (en) | 2012-12-31 | 2016-05-24 | Sandisk Technologies | Method and system for managing block reclaim operations in a multi-layer memory |
US9158678B2 (en) * | 2013-03-13 | 2015-10-13 | Kabushiki Kaisha Toshiba | Memory address management system and method |
CN106293493A (zh) * | 2015-05-18 | 2017-01-04 | 广明光电股份有限公司 | 固态硬盘模块动态储存转换层的方法 |
US9778855B2 (en) | 2015-10-30 | 2017-10-03 | Sandisk Technologies Llc | System and method for precision interleaving of data writes in a non-volatile memory |
US10120613B2 (en) | 2015-10-30 | 2018-11-06 | Sandisk Technologies Llc | System and method for rescheduling host and maintenance operations in a non-volatile memory |
US10133490B2 (en) | 2015-10-30 | 2018-11-20 | Sandisk Technologies Llc | System and method for managing extended maintenance scheduling in a non-volatile memory |
US10042553B2 (en) | 2015-10-30 | 2018-08-07 | Sandisk Technologies Llc | Method and system for programming a multi-layer non-volatile memory having a single fold data path |
KR102523967B1 (ko) * | 2016-03-25 | 2023-04-21 | 에스케이하이닉스 주식회사 | 데이터 저장 장치 및 그것의 동작 방법 및 그것을 포함하는 데이터 처리 시스템 |
US9672905B1 (en) * | 2016-07-22 | 2017-06-06 | Pure Storage, Inc. | Optimize data protection layouts based on distributed flash wear leveling |
US9928907B1 (en) * | 2017-01-27 | 2018-03-27 | Western Digital Technologies, Inc. | Block erase schemes for cross-point non-volatile memory devices |
US10579288B2 (en) | 2017-08-31 | 2020-03-03 | Micron Technology, Inc. | Prioritized security |
US11030132B2 (en) | 2018-02-05 | 2021-06-08 | Micron Technology, Inc. | Synchronous memory bus access to storage media |
US10592427B2 (en) | 2018-08-02 | 2020-03-17 | Micron Technology, Inc. | Logical to physical table fragments |
KR20200085522A (ko) * | 2019-01-07 | 2020-07-15 | 에스케이하이닉스 주식회사 | 이종 메모리를 갖는 메인 메모리 장치, 이를 포함하는 컴퓨터 시스템 및 그것의 데이터 관리 방법 |
CN111712805A (zh) * | 2019-06-26 | 2020-09-25 | 深圳市大疆创新科技有限公司 | 地址扩展装置、系统和可移动平台 |
US11494311B2 (en) | 2019-09-17 | 2022-11-08 | Micron Technology, Inc. | Page table hooks to memory types |
US11650742B2 (en) * | 2019-09-17 | 2023-05-16 | Micron Technology, Inc. | Accessing stored metadata to identify memory devices in which data is stored |
US11269780B2 (en) | 2019-09-17 | 2022-03-08 | Micron Technology, Inc. | Mapping non-typed memory access to typed memory access |
US10963396B1 (en) | 2019-09-17 | 2021-03-30 | Micron Technology, Inc. | Memory system for binding data to a memory namespace |
US11922034B2 (en) | 2021-09-02 | 2024-03-05 | Samsung Electronics Co., Ltd. | Dual mode storage device |
Family Cites Families (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6122195A (en) * | 1997-03-31 | 2000-09-19 | Lexar Media, Inc. | Method and apparatus for decreasing block write operation times performed on nonvolatile memory |
US6408371B1 (en) * | 1999-01-29 | 2002-06-18 | Micron Technology, Inc. | Device to access memory based on a programmable page limit |
JP2001142774A (ja) | 1999-11-11 | 2001-05-25 | Toshiba Corp | メモリカード及び同カードに適用されるアドレス変換方法 |
US6377500B1 (en) * | 1999-11-11 | 2002-04-23 | Kabushiki Kaisha Toshiba | Memory system with a non-volatile memory, having address translating function |
JP2001243110A (ja) | 1999-12-20 | 2001-09-07 | Tdk Corp | メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリへのアクセス方法 |
US6515598B2 (en) * | 2000-12-22 | 2003-02-04 | Cilys 53, Inc. | System and method for compressing and decompressing data in real time |
US6961821B2 (en) * | 2002-10-16 | 2005-11-01 | International Business Machines Corporation | Reconfigurable cache controller for nonuniform memory access computer systems |
US6912641B2 (en) * | 2003-04-30 | 2005-06-28 | Intelitrac, Inc. | Invariant memory page pool and implementation thereof |
US7139892B2 (en) * | 2003-05-02 | 2006-11-21 | Microsoft Corporation | Implementation of memory access control using optimizations |
US7853760B2 (en) * | 2003-08-07 | 2010-12-14 | Siemens Corporation | Advanced memory management architecture for large data volumes |
KR100562906B1 (ko) * | 2003-10-08 | 2006-03-21 | 삼성전자주식회사 | 시리얼 플래시 메모리에서의 xip를 위한 우선순위기반의 플래시 메모리 제어 장치 및 이를 이용한 메모리관리 방법, 이에 따른 플래시 메모리 칩 |
JP4034271B2 (ja) * | 2004-01-16 | 2008-01-16 | シャープ株式会社 | 転写装置 |
US7496722B2 (en) * | 2005-04-26 | 2009-02-24 | Hewlett-Packard Development Company, L.P. | Memory mapped page priorities |
JP5130646B2 (ja) | 2005-06-06 | 2013-01-30 | ソニー株式会社 | 記憶装置 |
US7424577B2 (en) | 2005-08-26 | 2008-09-09 | Network Appliance, Inc. | Dynamic optimization of cache memory |
JP5076411B2 (ja) * | 2005-11-30 | 2012-11-21 | ソニー株式会社 | 記憶装置、コンピュータシステム |
US8046557B2 (en) * | 2005-12-05 | 2011-10-25 | Intelitrac Inc. | Apparatus and method for on-demand in-memory database management platform |
KR100874702B1 (ko) | 2006-10-02 | 2008-12-18 | 삼성전자주식회사 | 플래시 메모리 파일 시스템을 효율적으로 관리하기 위한장치 드라이버 및 방법 |
US7631147B2 (en) * | 2006-12-06 | 2009-12-08 | Microsoft Corporation | Efficient flushing of translation lookaside buffers in a multiprocessor environment |
US7685399B2 (en) * | 2007-01-07 | 2010-03-23 | International Business Machines Corporation | Method, system, and computer program products for data movement within processor storage |
US20080189495A1 (en) * | 2007-02-02 | 2008-08-07 | Mcbrearty Gerald Francis | Method for reestablishing hotness of pages |
KR101396831B1 (ko) * | 2007-03-30 | 2014-05-21 | 삼성전자주식회사 | 메모리 접근 제어 방법 |
US20090049272A1 (en) * | 2007-08-13 | 2009-02-19 | International Business Machines Corporation | Method for improving the performance of software-managed tlb |
US7793049B2 (en) * | 2007-10-30 | 2010-09-07 | International Business Machines Corporation | Mechanism for data cache replacement based on region policies |
US7761740B2 (en) * | 2007-12-13 | 2010-07-20 | Spansion Llc | Power safe translation table operation in flash memory |
US7472226B1 (en) * | 2008-03-20 | 2008-12-30 | International Business Machines Corporation | Methods involving memory caches |
-
2008
- 2008-10-15 US US12/251,640 patent/US8725927B2/en active Active
-
2009
- 2009-09-25 CN CN200980140914.5A patent/CN102187398B/zh active Active
- 2009-09-25 JP JP2011532128A patent/JP2012506093A/ja active Pending
- 2009-09-25 WO PCT/US2009/058377 patent/WO2010045000A2/en active Application Filing
- 2009-09-25 EP EP09820985A patent/EP2335246A4/en not_active Withdrawn
- 2009-09-25 KR KR1020117010864A patent/KR20110084926A/ko not_active Application Discontinuation
- 2009-10-09 TW TW098134424A patent/TW201022936A/zh unknown
-
2014
- 2014-04-28 US US14/263,037 patent/US9418017B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
WO2010045000A2 (en) | 2010-04-22 |
JP2012506093A (ja) | 2012-03-08 |
US20100095049A1 (en) | 2010-04-15 |
TW201022936A (en) | 2010-06-16 |
CN102187398A (zh) | 2011-09-14 |
KR20110084926A (ko) | 2011-07-26 |
EP2335246A2 (en) | 2011-06-22 |
WO2010045000A3 (en) | 2010-07-01 |
EP2335246A4 (en) | 2013-01-02 |
US20140237169A1 (en) | 2014-08-21 |
US8725927B2 (en) | 2014-05-13 |
US9418017B2 (en) | 2016-08-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102187398B (zh) | 固态存储装置中的热存储器块表 | |
US9405679B2 (en) | Determining a location of a memory device in a solid state device | |
US8832360B2 (en) | Solid state storage device controller with expansion mode | |
CN102165532A (zh) | 具有并行操作模式的固态存储装置控制器 | |
US11481272B2 (en) | Memory controller and method of operating the same | |
KR20190123094A (ko) | 저장 장치 및 그 동작 방법 | |
CN113110798A (zh) | 存储器控制器及其操作方法 | |
CN114078530A (zh) | 存储器装置及其操作方法 | |
US20220351798A1 (en) | Memory device and operating method of the memory device | |
CN112306386A (zh) | 存储装置及其操作方法 | |
CN115132252A (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 | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |