CN102012867B - 资料储存系统 - Google Patents

资料储存系统 Download PDF

Info

Publication number
CN102012867B
CN102012867B CN201010271678.5A CN201010271678A CN102012867B CN 102012867 B CN102012867 B CN 102012867B CN 201010271678 A CN201010271678 A CN 201010271678A CN 102012867 B CN102012867 B CN 102012867B
Authority
CN
China
Prior art keywords
block
page
erasing
memory array
cache
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.)
Expired - Fee Related
Application number
CN201010271678.5A
Other languages
English (en)
Other versions
CN102012867A (zh
Inventor
雷恩哈德·库纳
Original Assignee
Pioneer Chip Technology Ltd
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 Pioneer Chip Technology Ltd filed Critical Pioneer Chip Technology Ltd
Priority to CN201410411424.7A priority Critical patent/CN104298610B/zh
Publication of CN102012867A publication Critical patent/CN102012867A/zh
Application granted granted Critical
Publication of CN102012867B publication Critical patent/CN102012867B/zh
Expired - Fee Related 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/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/12Replacement control
    • G06F12/121Replacement control using replacement algorithms
    • G06F12/123Replacement control using replacement algorithms with age lists, e.g. queue, most recently used [MRU] list or least recently used [LRU] list
    • 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/7208Multiple device management, e.g. distributing data over multiple flash devices

Abstract

本发明有关于一种资料储存系统,尤指以页面为基础管理非挥发性随机存取记忆体阵列装置的快闪储存系统及电路,记忆体管理系统包括有一管理处理器、一页面缓冲器及一逻辑实体转译表,其中,管理处理器与快闪储存系统中一非挥发性记忆体阵列装置进行通信,管理处理器提供控制信号,非挥发性记忆体阵列装置根据控制信号以对于所选择的页面进行程序化、抹除及读取动作。

Description

资料储存系统
技术领域
本发明有关于一种资料储存系统及其管理方法,尤指一种用以管理非挥发性记忆体装置的记忆体管理电路及方法、以及以页面为基础进行记忆管理的非挥发性记忆体装置(例如:快闪随机存取记忆体)。 
背景技术
固态硬碟(SSD)为一种资料储存装置,其使用半导体元件来储存长驻资料。固态硬碟主要用以仿效一磁性硬碟或一光电硬碟,且普遍采用一SATA标准作为传输界面,以在大多数的应用领域中可轻易取代一般硬碟机。再者,固态硬碟也能采用其他界面规格,例如:PATA、USB、PCI express或光纤通道的实体及信号界面(ANSI X3.230-1994),而固态硬碟系统可使用于一挥发性记忆体,例如:SRAM、DRAM,或一非挥发性记忆体,例如:快闪记忆体。 
请参阅图1a,为现有电脑系统的区块示意图,该电脑系统系采用一固态硬碟来取代一般硬碟进行长驻资料的储存。如图所示,一中央处理器105执行一连串的储存程序指令,这些指令保存在暂存记忆体(RAM)110或长驻记忆体(SSD)100中。中央处理器105可执行四个基本功能:(1).从暂存记忆体110或长驻记忆体100中提取一指令或一资料、(2).解码指令资料、(3).执行指令、(4).执行结果写回暂存记忆体110或长驻记忆体100中。提取或写回的结果资料可同时与一输入/输出装置105进行通信,例如:印表机、一显示器或一网路装置。 
中央处理器105、暂存记忆体110、长驻记忆体100及输入/输出装置115连接一系统汇流排120。系统汇流排120用以提供在中央处理器105、暂存记忆体110、长驻记忆体100及输入/输出装置115间所通信的必要资料,且进行资料规格化及资料变换。在长驻记忆体100的例子中,系统汇流排120所提供的通信规格可为SATA规格或其他上述所列出的其他规格。长驻记忆体100配置有数个逻辑位址及设置有SATA规格界面,SATA规格界面进行提取及储存的资料信息及控制信息也可通过中央处理器105处理资料及程序指令而获得。 
由固态硬碟所构建的长驻记忆体100其具有一控制器125,该控制器是将该逻辑位址解码成一实体位址及一控制信息,以判断是否从反及闸快闪阵列130中提取资料,或者,将资料储存于反及闸快闪阵列130中。反及闸快闪阵列130包括数个非挥发性快闪随机存取记忆体芯片,该记忆体芯片切分成数个区块,例如:16G bit记忆体芯片切分成8192区块。再者,每一区块进一步细分为数个页面,例如:单阶层记忆核心芯片中每个区块包括有64个页面或多阶层记忆核心芯片中包括有128个页面。一反及闸快闪记忆体芯片结构不允许以位元组为基础进行一位元组的读写,只能读写一页面(通常为4KB)。此外,一个已经写入的页面是不能覆写,其只能对于已抹除的页面进行写入的动作,并且每次抹除的最小单位为1个区块、64个页面或128个页面。再者,不同单位尺寸的读取(例如:1个页面)及抹除(例如:64/128个页面)会使得快闪随机存取记忆体芯片不易管理,而且在写入资料的前必须将旧区块的资料进行复制及抹除,这意味着随意写入小量区块资料其写入速度将相当缓慢。一逻辑实体转译表位在快闪记忆体中,每当资料写入时,逻辑实体转译表将进行转变。 
请参阅图1b,为现有快闪储存系统中长驻记忆体(SSD)100的逻辑位址的结构示意图。如图所示,一非挥发性快闪随机存取记忆体装置150,其切分成8192个区块(Block)155,各区块155切分成64个页面(Page)160,各页面160切分成8个区段(Sector)165,各区段165切分成512个位元组(bytes)。区段165通常定义为最小的单位,且在区段165上额外增加一ECC错误更正位元167。每一页面160将相等于4K Bytes(512 Bytes×8 区段)。 
以消费者为导向的快闪储存卡对于价格非常敏感,因此,快闪储存卡的控制器中通常只有一个最小数量的外部单芯片元件,并不会额外增设外部随机存取记忆体,且快闪储存卡的控制器内部所预设的随机存取记忆体其容量非常有限。为了节省随机存取记忆体的储存空间,现今的控制器技术是采用区块为导向进行记忆体管理,这意味着逻辑实体转译表的每一项目为一区块号码。一区块位址包括有大量资料,例如:256kb或512kb,当资料连续地写入于随机存取记忆体时,其逻辑实体转译表会改变缓慢的。 
请参阅图1c,为现有快闪储存系统中长驻记忆体(SSD)100读取及写入的操作示意图。如图所示,一位址信号200输入于一实体位址解码电路205,以解码出一实体位址250。实体位址使用23个位元来表示,较低位阶的3个位元(0..2)用以指向页面中的区段201,较高阶级的6个位元(3..8)用以指向区块中的页面202,下一较高阶级的13个位元(9..21)用以指向区块203,而最高阶级的位元(22)用以指向芯片位置204。 
在这例子中,非挥发性快闪随机存取记忆体阵列装置235包括有至少两个非挥发性快闪随机存取记忆体芯片240/245。实体位址解码电路205产生一实体位址250,该实体位址250用以辨别在记忆体芯片240/245中的区块242/247是进行读取资料220或写入资料220。 
一控制信号210用以提供编码的控制指示,其传送至控制逻辑器215以产生一阵列控制信号270,非挥发性快闪随机存取记忆体阵列装置235在根据阵列控制信号270读取资料或写入资料至记忆体芯片240/245。资料220用以提供最新区段资料222,其从非挥发性快闪随机存取记忆体阵列装置235读取或写入至非挥发性快闪随机存取记忆体阵列装置235。资料220保存在一页面缓冲器225中,直到资料220被一外部主机电路所 读取或写入至非挥发性快闪随机存取记忆体阵列装置235为止。资料220通过一资料汇流排260传输于页面缓冲器225与非挥发性快闪随机存取记忆体阵列装置235间。 
就先前技术而言,SATA界面可对于一磁性硬碟或一光电硬碟进行区段读取或写入,为了相容于磁性硬碟或光电硬碟,固态硬碟操作于区段层级时也必须能够与SATA界面进行通信。承上图1c所示,一更新的的信号区段具有一逻辑区块位址(LBA)51200。区段201及页面202所对应的较低阶级位元(0..8)其相同于逻辑及实体位址,并代表一区块203内部的区段位置。高阶级位元(9..22)的逻辑位址203/204为进入逻辑实体转译表230的索引值。逻辑实体转译表230中有许多的项目232为区块。在每一项目232中,最高阶级位元用以指示记忆体芯片240/245进行资料读取、写入或抹除,而项目232的低阶级位元用以指示其中一个记忆体芯片240/245的实体区块号码。 
记忆体芯片240中区块(100)242用以取代记忆体芯片245中该抹除资料的区块(200)247,并且区块(200)247从外部电路接收新的区段资料222。再者,区块(100)242中全部其他的区段也可复制旧的区块(100)242资料,该复制操作的动作也可称为区块的重组。 
为了达成资料更新的目的,位址信号200被实体位址解码电路205所解码,其最高阶级位元(9..22)用以指向索引位址,以根据索引位址进入逻辑实体转译表230。区块(100)242的实体位址传送至非挥发性快闪随机存取记忆体阵列装置235,此时,控制逻辑器215接收及解码控制信号210,以及命令实体位址解码器205传送所解码出的实体位址250,同时,控制逻辑器215传送阵列控制信号270至非挥发性快闪随机存取记忆体阵列装置235。记忆体芯片240读取区块(100)242中的资料并通过资料汇流排260传送至页面缓冲器225。控制逻辑器215指示页面缓冲器225是 将区块(100)242资料以及区块(200)247的区段位置4296704资料合并成新资料220。然后,控制逻辑器215决定区块(100)242资料写回区块(200)247中,且指示实体位址解码电路205更新逻辑实体转译表230的索引内容,以将实体区块100更新为实体区块8392(8192+200)。再者,区块缓冲器224指示更新区块及区段51200内的新资料写入至区块(200)237中,然后,控制逻辑器215指示记忆体芯片(0)240抹除掉区块100中的资料。 
如上述,以区块为基础的管理,当整个区块以新资料覆写时,其连续的操作非常快速。但随机的写入作业将会依再结合区块的数量而变慢。目前,高容量固态硬碟(SSD)必须与便宜很多的机械式硬碟(HDD)做比较。为了提高竞争力,固态硬碟必须具有比机械式硬碟高出许多的读写速率,尤其是在随机写入方面。因此,相对于控制器的价格,高速读写为更重要的问题。此类型的控制器通常具有一较大的外部随机存取记忆体,借以有效提高速率。对于新硬体架构的快闪随机存取记忆体阵列装置235,较佳的内部管理方法与电路才有利于效能的提升。 
IEEE Transactions on Consumer Electronics期刊2002年5月号Vol.:48第366-375页《Compact Flash系统具空间效率的快闪转译层》描述一称为快闪转译层(Flash Translation Layer,FTL)的中间软体层,用以于快闪记忆体中将主机系统的逻辑位址重新指向至实体位址。快闪转译层结合页面写入与区块抹除位址转换的粒度。较大粒度的位址转换可降低维持转换资讯的资源,较细粒度的位址转换可提高小量写入的管理效率。 
美国专利US 5,404,485提供一具有虚拟映射系统的快闪记忆体,可允许资料被连续写入未写入的实体位址。该虚拟记忆体地图将快闪记忆体的实体位址关联起来,以便于追踪资料在记忆体中的位置。 
美国专利US 5,963,983提供一具有工作记忆的记忆体装置,用以储存逻辑实体位址转换资讯。该半导体记忆装置被定位为预设区段单元。 该记忆装置具有可抹写的非挥发性记忆体资料储存器。一连接至主机系统的界面可接收一存取要求。该挥发性工作记忆体储存非挥发性记忆体的页面位址表,用以转换需求的逻辑区段位址至该非挥发性实体记忆体空间的一实体区段位址。该挥发性记忆体尚储存一第二表格,记录各区块的页面的位址,用以转换存取要求中的一逻辑页面位址至该非挥发性记忆体的实体页面位址。一第二存取控制装置参考该第二表格以取得一逻辑区段位址所对应的实体页面位址。 
美国专利US 6,591,328提供一非挥发性记忆体,具有一储存位址控制表,该表格包含有逻辑位址与实体位址。该逻辑实体位址控制表控制资料在非挥发性记忆体中离散储存的位址。该逻辑实体位址控制表由数个区块所组成,各区块分别做为一资料删除单元,另包含有具有固定长度的相邻页面,分别做为一读写单元。一运算域资料区块包含有运算域识别资料,用以指示储存于运算域资料区块中的资料。该逻辑实体控制表区块位于非挥发性记忆体中,包含有控制表识别资料,用以指示经排序的控制表资料。 
美国专利US 6,598,115提供一半导体储存装置,包含有数个非挥发性快闪记忆体,并使用逻辑实体区段转换。一控制器将区块资料的逻辑区段数转换为非挥发性半导体记忆体区域的实体区段数,其中该区块资料为写入资料。 
美国专利US 7,386,655提供一非挥发性记忆体的高速暂存区(scratchpad)与更新区块的索引方法。更新资料是可依一预设条件选择记录于一更新区块或一高速暂存区块中。高速暂存区块用以缓冲最终要储存于更新区块的更新资料。 
美国专利US 7,386,655提供一可存取主机资料的快闪记忆体管理系统。该系统包含有记忆体的实体单元与虚拟单元及各虚拟单元至一或多 个实体单元的映射机制。 
美国专利申请案US 2006/0069852提供一储存于快闪记忆体装置的资料的可用区段管理器。一快闪驱动器利用逻辑实体区段映射追踪储存于一快闪记忆体的资料。该映射是以一资料结构储存,并允许资料写入快闪记忆媒体的下一个可用实体区段。由于无需先进行抹除程序,故写入程序可快速完成。以资料结构储存的逻辑实体区段映射被复制于该快闪记忆媒体中。若发生电源中断的悲剧,该逻辑实体区段映射可借助扫描快闪记忆媒体中的复制映射而快速重建。 
发明内容
本发明提供一种以页面为基础进行一非挥发性随机存取记忆体阵列装置的管理方法及其电路。 
本发明尚提供一种非挥发性随机存取记忆体阵列装置的耗损平衡方法及其装置。 
为了达到上述目的,本发明提供一种以页面为基础对于一快闪储存系统进行读取、写入及区块抹除的记忆体管理电路,记忆体管理电路包括有一管理处理器及一页面缓冲器,页面缓冲器用以管理一快取及一逻辑实体转译表;管理处理器与在快闪储存系统中一非挥发性记忆体阵列装置进行通信,用以提供一控制信号,以在非挥发性记忆体阵列装置中对于所选择的页面进行程序化、抹除及读取动作,另,页面缓冲器与非挥发性记忆体阵列装置及管理处理器进行通信,页面缓冲器切分成数个页面区段,各页面区段与快闪储存系统的各页面具有相等的尺寸,各页面区段暂存页面资料,并根据控制信号以决定从非挥发性记忆体阵列装置读取页面资料或传送页面资料至非挥发性记忆体阵列装置。逻辑实体转译表,接收一需求的逻辑页面位址,转换逻辑页面位址为一实体页面位址,与管理处理器进行通信并将实体页面位址传送至管理处理器,以 确认非挥发性记忆体阵列装置中一需求页面的一实体位置,再者,逻辑实体转译表包括有一快取旗标表,其用以确认目前页面缓冲器是否有需求的逻辑页面位址。 
又,记忆体管理电路尚包括有一输入/输出转接器,其连接在一外部端口、次区块缓冲器及管理处理器间,用以接收一逻辑位址、控制信号及一被通信规格所编码的区段资料,转换逻辑位址、控制信号及被通信规格所编码的区段资料成非挥发性记忆体阵列装置可接受的规格。 
又,记忆体管理电路尚包括有一实体位址解码器,与输入/输出转接器及逻辑实体转译表进行通信,从输入/输出转接器接收逻辑位址,转送逻辑位址至逻辑实体转译表,从逻辑实体转译表接收实体位址,与管理处理器进行沟通,以确认一需求的逻辑次区块资料存在于页面缓冲器或非挥发性记忆体阵列装置中。 
又,记忆体管理电路尚包括有一页面缓冲器快取表,与管理处理器进行通信,页面缓冲器快取表包括有一实体次区块号码,其用以确认在非挥发性记忆体阵列装置中的一实体位置,实体位置与在页面缓冲器中的一页面位置相关联,一快取类型项目用以标示一快取类型且被实体位置所占用,一状态项目根据一有效状态分类页面的区段资料,快取形式包括有一读取快取、一串流快取、一写入快取及一空闲列表,空闲列表用以表示一页面缓冲器为抹除及可使用状态的列表。 
又,记忆体管理电路尚包括有一最近最少使用表,最近最少使用表包括有数个连接指标,连接指标用以决定一最近最少使用的页面资料存于页面缓冲器中。各快取形式(读取快取、串流快取、写入快取及空闲列表)同样包括有数个连接指标,其连接指标用以决定最近最少使用表的资料分配到哪个快取。页面缓冲器通过管理处理器执行一收回程序,最近最少使用表的页面资料从页面缓冲器中收回且写入所指定的非挥发性记 忆体阵列装置的页面中,在页面缓冲器中的页面位置附加至页面缓冲器快取表的空闲列表内。 
又,记忆体管理电路尚包括有一无效次区块表及一实体逻辑表,无效次区块表用以指示非挥发性记忆体阵列装置中所选择的页面为有效的,而实体逻辑表用以映射非挥发性记忆体阵列装置的实体位置至逻辑位置,实体逻辑表中的一不合法的页面号码用以指示实体位置在实体逻辑表中为已抹除或无效的。 
又,记忆体管理电路尚包括有一抹除总数表及一实体区块连接表,抹除总数表对于非挥发性记忆体阵列装置中的各区块记录一抹除总数,而实体区块连接表包括有一包含数个指标的连接列表,各指标指向非挥发性记忆体阵列装置中的各区块,再者,连接列表包括有一锚定指标,其对于在非挥发性记忆体阵列装置中的各区块定义出无效页面号码。当管理处理器对于非挥发性记忆体阵列装置执行一垃圾收集程序,锚定指标用以指出非挥发性记忆体阵列装置的该区块中具有该最大无效号码页面的区块,进而允许具有最大无效号码页面的区块选择进行抹除的动作。 
又,记忆体管理电路尚可执行一损耗平衡程序,在一损耗平衡程序中,一抹除区块的抹除总数比较于一滑动视窗的抹除总数,若抹除区块的抹除总数超过滑动视窗的抹除总数,选择另一具有最低抹除总数的区块,且具有最低抹除总数的区块中全部有效的页面复制至抹除区块的低阶级页面中,然后,具有最低抹除总数的区块将进行抹除动作,而具有最低抹除总数的区块成为一新的可写入区块,且其抹除总数将会增加。 
附图说明
图1a:为现有电脑系统的区块示意图。 
图1b:为现有快闪储存系统中长驻记忆体(SSD)100的逻辑位址的结构示意图。 
图1c:为现有快闪储存系统中长驻记忆体(SSD)100读取及写入的操作示意图。 
图2:为本发明以页面为基础对于记忆体进行管理的一固态硬碟的资料储存系统一较佳实施例的区块示意图。 
图3:为本发明以页面为基础对于记忆体进行管理的一固态硬碟的资料储存系统又一实施例的区块示意图。 
图4:为本发明固态硬碟读取及写入一实施例的操作示意图。 
图5:为本发明以页面为基础的记忆体管理的表格式意图。 
图6:本发明以页面为基础对于记忆体进行管理的垃圾收集中各表格的示意图。 
图7:为本发明以页面为基础对于记忆体进行管理的耗损平衡中各表格的示意图。 
图8:为本发明以页面为基础管理非挥发性随机存取记忆体阵列装置进行读取资料的步骤流程图。 
图9:为本发明以页面为基础管理非挥发性快闪记忆体写入资料的步骤流程图。 
图10a、10b:为本发明以页面为基础管理页面缓冲器的页面收回的流程图。 
图11:为本发明以页面为基础管理的非挥发性快闪随机存取记忆体阵列装置的垃圾回收机制的流程图。 
图12a、12b、12c:为本发明以页面为基础管理非挥发性快闪随机存取记忆体阵列装置的一耗损平衡程序的步骤流程图。 
具体实施方式
本发明的以页面为基础的管理架构,用以对位址进行解码,并索引至逻辑实体转换表及区块内的页码。若页面位于页面或必须从非挥发性 快闪随机存取记忆体阵列装置收回,逻辑实体转换表包括一快取设置位元。 
若页面不在页面缓冲器内,则由非挥发性快闪随机存取记忆体阵列装置取出。区段被指定为低顺序的位址,区段会被读取或写入页面缓冲器。若页面缓冲器内不具有足够的空闲页面时,将会进行收回程序,并由页面缓冲器收回至少一最近被使用的页面。若页面为有效且与储存在非挥发性快闪随机存取记忆体阵列装置的页面一致,则页面缓冲器的页面空间会被得知,且页面将会被从非挥发性快闪随机存取记忆体阵列装置中取出。区段可被适当的被读取或写入。当页面内的区块为无效时,页面缓冲器的无效区段将会是新的,并与非挥发性快闪随机存取记忆体阵列装置的旧的区段相配。页面可被重新写入非挥发性快闪随机存取记忆体阵列装置,且位于页面缓冲器内的位置将会成为空闲页面。 
页面缓冲器内最新的空闲页面会被指派至位址页面,且页面由非挥发性快闪随机存取记忆体阵列装置中被读取,并由页面缓冲器读取区段,或将区段写入页面缓冲器。 
抹除区块列表会被维持,且当不具有足够的抹除区块可允许非挥发性快闪随机存取记忆体阵列装置进行操作时,则会进行一垃圾收回的动作以抹除无效的区块。当区快被抹除之后,将会进行抹除数量及门槛的比对。若超过门槛,则具有最低抹除次数的区块会被复制至较新的抹除区快,而具有最低抹除次数的区块会被抹除并成为一新的备用区块。 
首先,请参阅图2,为本发明以页面为基础对于记忆体进行管理的一固态硬碟的资料储存系统一较佳实施例的区块示意图。如图所示,本发明固态硬碟的资料储存系统300以页面为基础进行记忆体管理。非挥发性随机存取记忆体阵列装置375包括有数个非挥发性随机存取记忆体装置376a...376n。各非挥发性随机存取记忆体装置376a...376n切分成数个 区块377a...377n,各区块377a...377n切分成数个页面378a...378n,而各页面378a...378n切分成数个区段379a...379n。本发明实施例中,每一芯片具有8192个区块,每一区块具有64个页面,每一页面具有8个区段。在一128G位元的固态硬碟中,系采用8个16G非挥发性随机存取记忆体阵列装置375,并具有64个非挥发性随机存取记忆体装置376a...376n。 
一输入/输出转接器305接收一位址信号310、接收及传送一资料信号315及接收一控制信号320,虽然,这些信号显示为个别信号,然,在SATA界面中实际上可以连续发送及接收这些信号。输入/输出转接器305调节及格式化这些信号,以产生一逻辑位址信号325并传送至实体位址解码器345及管理处理器340。资料信号330在调节及格式化后,将传送于实体位址解码器345及管理处理器340间。输入/输出转接器305同时可调节及格式化控制码335,后续,以将控制码335传送至管理处理器340。 
实体位址解码器345解码一逻辑位址信号325,以产生一进入于逻辑实体位址转译表355的索引值。逻辑位址信号325索引指向一实际实体位置,该实际实体位置使用于非挥发性随机存取记忆体阵列装置375的读取或写入程序。管理处理器340解码一控制码335,以产生必要的控制信号控制实体位址解码器345及页面缓冲器350,以及产生一阵列控制时序信号370并传送至非挥发性随机存取记忆体阵列装置375 
管理处理器340使用一实体逻辑位址表380、一页面缓冲器快取表382、一无效页面表384、一抹除总数表386、一耗损平均表387、一缺陷区块表388及一实体区块连接表390,借以管理非挥发性随机存取记忆体阵列装置375及页面缓冲器350间资料的一致性。 
实体逻辑位址表380通过一实体页面号码进行索引,实体逻辑位址表380对于逻辑实体位址转译表355执行一反函数,且管理处理器340 执行一垃圾收回程序及一耗损平衡程序时将会使用到该实体逻辑位址表380,其细节容后讨论。本发明中,将保留两个较高位址数字(0xffffffff、0xfffffffe),以鉴别该实体页面是不是与一逻辑页面号码相关联,再者,数字(0xffffffff)意味着该实体页面进行抹除,而数字(0xfffffffe)意味着该实体页面为无效的,再者,实体页面号码并不会写入逻辑页面中。非挥发性随机存取记忆体阵列装置375低阶格式化之后,将产生初始化的逻辑实体位址转译表355。若读取一页面,管理处理器340在页面缓冲器350中产生0xffffffff数字,0xffffffff数字为在非挥发性随机存取记忆体阵列装置375中一抹除页面378a,378b,...,378n的资料内容。 
有了这些特殊数字(如0xffffffff、0xfffffffe),除了恢复区块内容之外,并不需要一无效的页面表。当一区块进行抹除时,在该实体逻辑位址表380中的区块的全部页面将具有一0xffffffff数字。为了在一区块中判定出无效页面的号码,在该实体逻辑位址表380中,是将具有0xfffffffe数字的号码页面进行计数。实体逻辑位址表380对于所有抹除区块的全部页面进行初始化,作动的写入区块及缺陷区块具有0xffffffff数字,而其余页面具有0xfffffffe数字。然后,逻辑实体位址转译表355在扫描之后,也可摆放于实体逻辑位址表380中实体页面的逻辑位置。 
如图5所示,页面缓冲器快取表382与页面缓冲器350具有相同的项目号码。页面缓冲器快取表382进一步切分成一快取页面表及一最近最少使用连接表。每个页面缓冲器快取表382项目将对应至一页面缓冲器350并且描述各页面缓冲器350的快取状态。全部页面缓冲器快取表382的项目是连接四个快取:一读取快取、一写入快取、一串流快取及一最近最少使用次序的空闲列表,且各页面缓冲器350分别指定于一对应的快取。再者,快取页面项目鉴别所对应的页面缓冲器350为脏掉的(dirty)、不脏或未使用过。假如一快取现存位元被设定于快取页面表425 中,即可利用逻辑页面号码索引该快取页面缓冲器快取表382,反之,快取现存位元未设定于快取页面表425中,将无法通过逻辑页面号码得到页面缓冲器350的位置。 
页面缓冲器快取表382具有一可用以指向页面快闪位置的项目。从页面缓冲器350收回页面以及将收回页面写至页面缓冲器350的另一位置之后,无效的页面资讯也必须进行相对的设定。接着,从非挥发性随机存取记忆体阵列装置375的页面位置进行资料读取,以避免页面缓冲器350中并非全部区段皆为有效的情况下,而造成页面资料回收不全。 
经由页面缓冲器350的实体页面号码429a,...,429m索引该快取页面表425,快取页面表425包括有数个页面378a,378b,...,378n的实体位址及索引位址,页面378a,378b,...,378n的实体位址资料是储存在页面缓冲器350中。一快取模式是指定页面是否在四种快取形式(如一空闲列表、一读取快取、一串流快取及一写入快取)中采用其中一者。快取页面表425尚包括一有效区段位元映像428,其用以提供一页面的区段无效性指示。 
承上,读取快取包括数个不脏(或称为干净)的页面。当储存在页面缓冲器350及非挥发性随机存取记忆体阵列装置375中的资料是相同的,则快取内容可视为不脏,则存放于页面缓冲器350的资料必须写回非挥发性随机存取记忆体阵列装置375中,并且从该读取快取中收回页面缓冲器350内所存放的资料,从非挥发性随机存取记忆体阵列装置375中所读取的页面378a,378b,...,378n资料都必须通过读取快取。 
串流快取包括有数个脏掉(dirty)页面,由于页面缓冲器350相较于非挥发性随机存取记忆体阵列装置375的页面378a,378b,...,378n是具有较新的资讯,脏掉页面必须写回非挥发性随机存取记忆体阵列装置375进行收回。再者,从外部主机电路所接收的全部资料都必须通过串流快取。假如一页面位置已经在读取快取中,则原本存放于读取快取中的页 面资料将进行删除并移动至写入快取中,或者,在串流快取中的一页面若被触动两次读取或写入指令,则该页面将会提升至写入快取。 
又,写入快取包括数个脏掉(dirty)页面,那些脏掉页面最少被触动两次,写入快取有效地切分成两个部分,再者,在本发明中,串流快取及写入快取将可提供一更有效的收回策略。串流快取只有对于页面写入一次,而写入快取对于页面最少写入一次以上(例如:档案分配表是经常更新的)。为了避免因为只写入一次资料而令全部写入快取无效,在串流快取中的每一页面将得到一个机会提升至写入快取,并且,原本存放于串流快取中的资料假若仍继续保留于串流快取中,则这些资料将可容易被收回的。 
又,空闲列表提供一空闲的页面缓冲器350池。每当一读取/写入指令从外部主机电路传送至非挥发性随机存取记忆体阵列装置375的一页面位置,然,在页面缓冲快取中找不到该读取/写入指令,此时将需要一新的快取项目。为了快速反应,管理处理器340试图保持该空闲的页面缓冲器350池的大小。假如空闲的页面缓冲器350号码太低,收回程序将开始运行并产生新的空闲的页面缓冲器350。 
读取快取、写入快取、串流快取及空闲列表间的记忆区间大小也可不断地改变,例如:根据实际工作量、读写指令的比例,写入快取的记忆区间也可因此增加,而消耗或占用原本读取快取的记忆区间。 
最近最少使用页面连接表430提供一连接项目机制,该连接项目机制允许一表格的搜索,以在页面缓冲器350中找到一个不是最近存取的页面。一页面收回程序使用于页面缓冲器350上,以在页面缓冲器350中产生空闲空间。该页面收回程序,一垃圾收集程序及一损耗平衡程序用以写入页面资料至非挥发性随机存取记忆体阵列装置375中,以及对于非挥发性随机存取记忆体阵列装置375进行区块的抹除。随着收回程 序的进行,以致页面资料可写入至非挥发性随机存取记忆体阵列装置375中,再者,若消耗太多抹除页面或及已抹除区块的数量太低,该垃圾收集程序将会因此而进行触发,垃圾收集程序将可产生新的抹除区块。次外,该垃圾收集程序包括有两个步骤程序:通过复制所有有效的页面并准备一欲抹除区块,以及是将该欲抹除区块进行抹除。在区块抹除之后,一区块抹除总数将会增加,假如区块抹除总数太高,该区块将与另一具有较低抹除总数的区块进行资料置换,在此,该具有较低抹除总数的区块其资料是较少被进行抹除的动作。 
无效页面表384对于一个区块的每一页面提供一个状态位元(如每一区块具有64个页面,因此每一区块将会有64个位元)。当无效页面表384对于其中一区块的一页面给予逻辑(1)的状态位元,则代表这页面是无效的。再者,无效页面会被淘汰的,但也不会因此消失而不在使用,它将会被一新页面所取代。无效页面表384对于一恢复演算法是必须要的,在此,假如实体逻辑位址表380(最后电源断电时写入)无法在电源开启状态下进行读取,它可通过再次读取全部的页面而重建出来。逻辑页面号码储存在每一页面的增加区域中,该逻辑页面号码为一反向指标,若淘汰的页面并未抹除仍处在可使用的状态,反向指标将产生不是唯一性的问题。无效页面表384容易储存于快闪记忆体中,其用以定义页面的有效性,再者,无效页面表384主要作用只是便利于记忆体内部的其他目的可采用的表格,因此,在一恢复演算法的进行程序中,无效页面表384并不需要的,其可以省略。 
抹除总数表386使用在一耗损平衡程序中,用以监控全部区块的抹除总数。一滑动视窗的抹除总数为一最小抹除总数加上一区块抹除总数的门槛值,而最小抹除总数为全部区块中实际最低的抹除总数。 
在非挥发性随机存取记忆体阵列装置375中对于其中一区块进行抹 除动作之后,该损耗平衡程序将接着进行,以在抹除总数表380中对于该抹除区块增加抹除总数。假如区块进行抹除而成为最新的抹除区块,其抹除总数仍足够大的,是可将具有较小抹除总数的区块中全部有效的页面复制到此最新抹除区块中,然后,在将较小抹除总数的区块进行抹除。再者,较小抹除总数的区块中无效的页面将不会复制到该最新抹除区块中,该较小抹除总数的区块内的资料将复制至该最新抹除区块的已抹除的对应页面,而该最新抹除区块并不会指定为写入区块且会记录到耗损平衡表387中,以表明已抹除的页面是存在于该最新抹除区块中。 
缺陷区块表388对于非挥发性随机存取记忆体阵列装置375中的各区块分别使用一个位元进行缺陷表示,以定义区块为制造中产生缺陷或者运用时成为缺陷而无法使用。 
实体区块连接表390为一具有项目的双连接列表,其用以表示非挥发性随机存取记忆体阵列装置375中每一区块的锚点项目号码是相等于一区块中的页面号码(例如:每一区块具有64个页面,因此,锚点项目号码可为64)。再者,实体区块连接表390进一步增加两锚点项目,其中一锚点项目用以表示已抹除的区块,另一锚点项目用以指示区块将候补进行损耗平衡的程序。区块项目指向锚点项目借以指出区块中无效页面的总数。锚点项目具有一可指回区块的列表,且锚点项目可根据每一区块中无效页面的号码数量而相对地具有多数个项目。再者,每次区块额外得到一无效页面,将可在实体逻辑位址表380中相对设定一个位元。本发明中,区块也可解开对于一特定锚点的连接,并进一步连接进入下一个更高锚点的连接。实体区块连接表390提供该垃圾收集程序可以快速找到一具有最高无效页面数量的区块。本发明实际操作时,在区块进行抹除而产生一空闲区块以提供非挥发性随机存取记忆体阵列装置375进行页面写入之前,会尽量减少复制页面的数量,以避免空闲区块不足产 生页面复制失败的情况发生。 
请参阅图3,为本发明以页面为基础对于记忆体进行管理的一固态硬碟的资料储存系统又一实施例的区块示意图。如图所示,除了图2中的实体位址解码器345合并于管理处理器340当中之外,图3实施例的功能构造是与图2完全相同。逻辑位址325、资料信号330及控制码335应用于管理处理器340。管理处理器340包括一管理处理控制器342及一韧体记忆体344。管理处理控制器342为一电脑处理器,其执行一电脑程序程序,以进行非挥发性随机存取记忆体阵列装置375的管理。韧体记忆体344为一电脑可读取储存媒体,其可用以保存一电脑程序码,当该电脑程序码运行时,将可执行上述的电脑程序程序以对于非挥发性随机存取记忆体阵列装置375进行记忆管理。动态随机存取记忆体阵列装置395提供储存空间于页面缓冲器350、逻辑实体转译表355、页面缓冲器快取表382、无效页面表384、抹除总数表386、损耗平衡表(wearlevel table)387及缺陷区块表388。 
管理处理控制器342产生所需的位址信号396及控制时序信号397,以储存必要资料至动态随机存取记忆体阵列装置395,或从动态随机存取记忆体阵列装置395提取必要资料。该必要资料实际上可为读取或写入到页面缓冲器350的资料信号、非挥发性随机存取记忆体阵列装置375的实体位址、或者是由实体逻辑转译表380、缺陷区块表388、损耗平衡表387、以及390所得的转译表资讯(table information)。 
请参阅图4,为本发明固态硬碟读取及写入一实施例的操作示意图,该固态硬碟以页面为基础进行记忆体管理。如图所示,逻辑位址信号325输入于一实体位址解码器345。该实体位址使用23个位元来表示,较低位阶的3个位元(0...2)用以指向页面内的区段326,接下来的较高阶级的6个位元(3..8)用以指向区块内的页面327,下一较高阶级13个位元(9...21) 用以指向区块328,最高阶级位元(22)用以指向芯片位置329。 
管理处理器340接收控制码335,以要求资料由非挥发性随机存取记忆体阵列装置375读取或写入。实体位址解码器345将逻辑位址325的最高有效位元(3,...,22)传送至逻辑实体转译表355,以用于逻辑实体转译表355内的索引值357。位置356储存页面的实体位址(100)。假如逻辑实体转译表355的位置356指示资料储存至快取记忆体(cached),该位置即包含页面缓冲器350内的页面位置。管理处理器340检查该储存至快取记忆体的快取页面转译表425以核对页面位置的所有区段(sector)为有效的。如果区段无效的,由非挥发性随机存取记忆体阵列装置375读取至页面位置的无效区段的资料以及储存至快取相关页面缓冲快取转译表420的有效位元都会设定为有效。如果逻辑实体转译表355的位置356指示显示资料未储存至快取记忆体,该位置即包括非挥发性随机存取记忆体阵列装置375内的实际页面位置。 
假如逻辑实体转译表355的位置356指示资料已储存至快取记忆体,管理处理器340即指示页面缓冲器350将资料信号330传送至图2中的输入/输出转接器305或由图2中的输入/输出转接器305传送出。假如逻辑实体转译表355的位置356指示资料未储存至快取记忆体,管理处理器340会指示实体位址解码器345从逻辑实体转译表355传送位置356的内容,以作为传送至非挥发性随机存取记忆体阵列装置375的实体位址信号360。管理处理器340也传送阵列控制信号370到非挥发性随机存取记忆体阵列装置375。位置(页面100)的页面378i传送到页面缓冲器350。管理处理器340指示实体位址解码器345将页面位置写入页面缓冲器350内的逻辑实体转译表355的位置356。再者,管理处理器340另外会设定相关页面缓冲快取转译表420的有效位元。 
管理处理器340从实体位址解码器345撷取区段位址326并将区段 位址326传送至页面缓冲器350。假如资料从非挥发性随机存取记忆体阵列装置375读取,页面缓冲器350即撷取区段位址326所指向的区段并且将其区段资料作为资料信号330进行传送。假如资料要写入,管理处理器340即指示页面缓冲器350将新资料332写入页面位置。 
接着在收回(eviction)程序中,页面会从页面缓冲器350中移除。管理处理器340在另一芯片376b内分派页面位置378j的新页面位址,作为资料的页面的新位置。管理处理器340指示实体位址解码器345将新实体位址376j(页面100变为页面524488)写入位置356的逻辑实体转译表355,位置356由逻辑位址325的页面位址部分(页面327、区块328、以及芯片位置329)指向。资料页面从页面缓冲器350写入到378j(324488或376b的页面200)。接着旧位置378i(第一芯片的位置100)进行标记,以在垃圾收集(garbage collection)程序中进行消除(容后详细解释)。 
请参阅图5,为本发明以页面为基础的记忆体管理的表格式意图。在当前的科技中,非挥发性随机存取记忆体阵列装置475可具有16G记忆单元(memory cell)或位元(bits)的密度,相当于2G位元组(bytes)或524,288个页面(page)或8,192个区块(block)。在本发明的一实施例中,每个非挥发性随机存取记忆体阵列装置475具有4k位元组以及1、2、或4个储存板(plane)的结构。每个储存板的每个页面合并于页面缓冲器415的位置。例如,在具有4k位元组以及2储存板构造的非挥发性随机存取记忆体阵列装置475中,每个页面缓冲器415内的位置416有8K位元组。本发明中的固态硬碟系统的结构的模拟显示页面缓冲器415加上所有其他表格的大小应该大致为非挥发性随机存取记忆体阵列装置375阵列的总共大小的0.1%。实际上,逻辑实体位址转译表400和实体逻辑位址转译表445是所有动态随机存取记忆体最大的部分。因此,非挥发性随机存取记忆体阵列装置375的128G位元组阵列应该具有128G位元的DRAM。对每 个非挥发性随机存取记忆体阵列装置475来说将会有约512个页面。对非挥发性随机存取记忆体阵列装置475的整个阵列来说,这会转换为具有约16M位元组大小的页面缓冲器415。 
逻辑实体位址转译表400具有和固态硬碟的逻辑记忆空间一样多的项目页面(entry page)位置405a,...,405i,...,405n。如图4所示,逻辑实体位址转译表400通过页面位址357进行索引。逻辑实体位址转译表400的每个项目位置405a,...,405i,...,405n包括非挥发性随机存取记忆体阵列装置475内的实体页面位置478或页面缓冲器415的快取位置。快取旗标(flag)410附加在每个项目位置405a,...,405i,...,405n中。快取旗标410标示出项目位置405a,...,405i,...,405n是否位于页面缓冲器415的实体位置或在非挥发性随机存取记忆体阵列装置475中。 
页面缓冲器415对资料页面提供暂时的快速存取,该资料页面储存在非挥发性随机存取记忆体阵列装置475中。资料由外部主机电路读取或写入页面缓冲器415。非挥发性随机存取记忆体阵列装置475并非由外部主机电路直接存取。非挥发性随机存取记忆体阵列装置475具有一关联性的页面缓冲快取转译表420。页面缓冲快取转译表420包括一具有项目位置429a,...,429i,...,429n的快取页面转译表425,其对应至页面缓冲器415内的每个项目位置416a,...,416i,...,416n。快取页面转译表425内的每个项目位置429a,...,429i,...,429n具有实体页面位置426、一快取模式旗标427、以及一区段有效旗标428。实体页面位置426提供储存于页面缓冲器415内的页面的非挥发性随机存取记忆体阵列装置475内的实体位置。 
快取模式旗标427指示页面资料是否存放于页面缓冲器415中,并且快取模式旗标427为读取快取、串流快取、写入快取、或空闲列表的其中之一号码。如前述,读取快取中的资料为从非挥发性随机存取记忆 体阵列装置475所撷取的资料,其保持与非挥发性随机存取记忆体阵列装置475的页面位置相同。写入快取中的资料是写入页面位置416a,...,416i,...,416n的外部资料,因此,在收回程序中直到资料写回非挥发性随机存取记忆体阵列装置475前,不再和非挥发性随机存取记忆体阵列装置475的页面位置相同。串流快取记忆体包括在收回程序中必须写回快闪记忆体(flash)的脏掉的页面(dirty page),因为快取记忆体内的页面缓冲器相较于快取记忆体页面具有较新的资讯。空闲列表并非真的快取,而是页面缓冲器415内未占据位置的列表,该空闲列表可以握有从页面缓冲器415内所撷取的新页面,或是新资料页面从外部主机电路写入至非挥发性随机存取记忆体阵列装置475。 
区段有效旗号428利用一资料位元来指示每个页面的每个区段是否为有效或无效。区段只在非挥发性随机存取记忆体阵列装置475内有效,并且如果需要,必须由非挥发性随机存取记忆体阵列装置475内撷取。区段有效旗号428内的位元数量取决于每个页面内存在的区段数量。如同前述在本实施例中,系统定义为每页具有8个区段,或是每个区段有效旗号428有8个位元。在某些实施例中,页面可以定义为具有8K位元组(512位元组x16区段)或是每个区段有效旗号428具有16位元。在其他实施例中,区段和页面也可以相等,区段有效旗号428可以不需要的。 
另外,页面缓冲快取转译表420包括有一最近最少使用连接表(leastrecently used chain table)430。最近最少使用连接表430具有数个项目,各项目对应快取页面转译表425的每个项目位置429a,...,429i,...,429n。最近最少使用连接表430具有连接伫列433/434。向前连接伫列433是由最年轻的项目到最旧的项目排序,相反的,向后连接伫列434由最旧的项目到最年轻的项目排序。另外,对每个连接伫列433/434来说最近最少使 用连接表430具有4个锚点项目(anchor entry)431a,431b,431c,431d,432a,432b,432c,432d。这允许最近最少使用连接表430有4个伫列(queue),读取快取、串流快取、写入快取、以及空闲清单分别在连接伫列433/434中。每个连接伫列433和434的锚点项目431a,431b,431c,431d,432a,432b,432c,432d是每个连接伫列433/434的这4个伫列的起始点。最近最少使用连接表430根据老化顺序(age)连接读取快取、串流快取、以及写入快取、伫列的所有项目。因为接续点(successors)和前置点(predecessors)可立即获得,这个双重连接清单有效率地便利于连入/连出(chain in/chain out)程序。 
最近最少使用连接表430的时间顺序机制使得每次当碰到页面缓冲器415内的位置时,最近最少使用连接表430内的项目移动到下一个向前清单(如果它还不在那里)的起始处。所以每个越靠近向前清单的起始处的项目将掉回一个项目。同样地,向前清单的最后项目位置和向后清单的起始相同,并且标记最旧的最近最少使用项目。 
假如一输入位址有一逻辑位址,该逻辑位址指向逻辑实体位址转译表400的位置405i,且其内容会指向页面位置5。位置405i的快取旗标410从页面缓冲器415的位置405i而指示指向页面位置5。位置5的页面缓冲快取转译表420内的实体页面位置426指向非挥发性随机存取记忆体阵列装置475内的实体页面1000。在位置项目429i的页面5的区段有效旗号428包括一数值(7),数值(7)表示在位置416i中,除3个最低阶级区段外,其余其他全部区段都是无效的。这3个最低阶级区段储存于非挥发性随机存取记忆体阵列装置475中的实体页面1000。 
在固态硬碟的读取和写入资料中,不在页面缓冲器415的页面必须由快取模式旗标427从空闲列表中分配到一个页面。如果页面缓冲器415内的可用页面数量低于门槛值,就会执行收回程序以移除最近最少使用 页面。最近最少使用页面连接表430提供一种由页面缓冲器415收回页面的机制。如同前述,页面缓冲位置416a,...,416i,...,416n的占据者可以分为读取快取、串流快取、写入快取、以及空闲列表的其中之一。 
串流快取以及写入快取内所有的页面缓冲位置416a,...,416i,...,416n都是脏掉的(dirty)并且在某个时间之后必须写回非挥发性随机存取记忆体阵列装置475。因为写入页面缓冲器415所以页面缓冲器415内的位置称为脏掉。页面缓冲器415的位置是写入快取或是串流快取的成员。因为只是非挥发性随机存取记忆体阵列装置475的页面位置的复制,所以读取快取页面不被当做是脏掉的。非脏掉的页面会立即列于空闲列表。在插回可直接使用的空闲列表之前,脏掉的页面必须写回非挥发性随机存取记忆体阵列装置475的页面位置。 
在执行另一指令(读取或写入)时,从串流快取所找到的页面缓冲位置416a,...,416i,...,416n会晋升到写入快取。如果页面缓冲位置416a,...,416i,...,416n需要被写入并且已经在读取快取中发现,它也会晋升到写入快取。 
每个快取都有一个已经定义的门槛值或是标准填满率,其可以根据工作量而动态改变。当空闲清单小于门槛值之下时,收回程序会启动以在页面缓冲器415内提供可用页面。在执行两个步骤的收回时,收回程序选择页面缓冲位置416a,...,416i,...,416n,该两个步骤包括利用计算到门槛值的实际填满率的距离以选择快取。由具有许多页面缓冲位置416a,...,416i,...,416n的快取中找出其中最超过门槛值的快取,并且放开该页面缓冲位置416a,...,416i,...,416n。由页面缓冲器415要回收的页面缓冲位置416a,...,416i,...,416n由最近最少使用连接表430选择以找到快取内最旧的页面缓冲位置416a,...,416i,...,416n。 
最近最少使用连接表430与页面缓冲快取转译表420及页面缓冲器 415平行操作。老化的页面缓冲位置416a,...,416i,...,416n项目经由重新连接最近最少使用连接表430内的项目而完成。例如,如果选择读取快取作为具有从其填满率门槛值算起有最大距离的快取,向前连接伫列433(位置12)的向前锚点项目431a指向向前方向以到达页面缓冲器415的最年轻项目(位置0)。向后连接伫列434(位置12)向后锚点项目433a指向向后方向到页面缓冲器415的最老项目(位置4)。对读取快取来说连接伫列433/434是相反顺序:0,2,4以及4,2,0。每次参考每个老化的页面缓冲位置416a,...,416i,...,416n时,它将变为最年轻的一个(将它解除连接(unchained)并且重新插入在最新的之前)。即,在参考页面缓冲位置416h(位置4)时,向前以及向后连接伫列433/434会重新排序,使得每个伫列具有指向位置4的431a,位置4依次指向位置0,位置0指向位置2。432a指向依次指向位置0的位置2,位置0指向位置4。最近最少使用连接表430的每个项目皆由在连接伫列433/434中移动其参考点在伫列中的一个位置而产生老化。 
如前述,要收回并且称为脏掉的页面缓冲位置416a,...,416i,...,416n必须具有区段,该区段已经复制有页面缓冲器415内的抹除页面。非有效区段由非挥发性随机存取记忆体阵列装置475到页面缓冲位置416a,...,416i,...,416n。接着复制完整页面至非挥发性随机存取记忆体阵列装置475中已抹除的页面。逻辑实体位址转译表400调整反应非挥发性随机存取记忆体阵列装置475内的新实体位置。非挥发性随机存取记忆体阵列装置475内的先前页面现在标记为无效,如同之后所述,该先前页面包括页面缓冲位置416a,...,416i,...,416n内曾经为无效的区段。如果非挥发性随机存取记忆体阵列装置475的抹除页面号码低于一抹除页面门槛值,便会触发垃圾收集程序。 
请参阅图6,是本发明以页面为基础对于记忆体进行管理的垃圾收集 中各表格的示意图。为提高效能,非挥发性快闪随机存取记忆体阵列装置475在执行任何垃圾收集程序时,会同时选取一区块进行抹除,以便于使用一快闪记忆体装置的复制页面命令。垃圾收集使用的区块是由扫描实体区块连接表450中的无效页面锚点连接(invalid page anchor chain)455而得。实体区块连接表450分为一向前连接伫列451及一向后连接伫列452。双向连接表(实体区块连接表450中的向前连接伫列451与向后连接伫列452)可提供较佳的效能。因为前者与后者可立刻得知,故资料的撷取或插入很快。反之,使用简单连接表则需从头扫描以计算其前者。除了抹除总数表480需由抹除总数最低者开始之外,区块连接并无方向性。垃圾收集使用的区块,在搜寻无效页面表435时会选用抹除总数最低的区块。在垃圾收集的最后,该区块将会被抹除。选取抹除总数最低的区块可避免过度耗损。 
具有实体区块连接表450的快闪随机存取记忆体阵列装置475,其向前连接伫列451与向后连接伫列452中的第一个项目(entry)分别对应于各快闪随机存取记忆体阵列装置475。实体区块连接表450中,向前连接伫列451与向后连接伫列452超出个别区块项目(individual block entry,例如453a,...,453i,...,453m,及454a,...,454i,...,454m)部分的项目即为无效页面的锚点连接455。 
快闪随机存取记忆体阵列装置475的所有区块皆包含于65个无效页面锚点连接455(0至64)的其中之一。扫描无效页面锚点连接455是由无效页面锚点连接64456n与457n开始,至无效页面锚连接0 456a与457n结束。无效页面锚连接0 456a与457a指向个别区块项目453a,...,453i,...453m及454a,...,454i,...,454m中具有零(0)无效页面者,各无效页面锚点连接455分别表列具有一区块列表,该区块列表具有数个无效页面号码,各无效页面锚点连接455的个别位置用以表示各无效页 面号码。例如,区块100在个别区块项目453i与454i中指向无效页面锚点连接455的位置N+61 456i与457i,表示区块100具有61个无效页面及3个有效页面。 
每当快闪随机存取记忆体阵列装置475的一区块增加1个无效页面时,无效页面表435中代表该区块位置438的无效位元项目会被设定指示该页面为无效。在区块100的范例中,区块100对应的项目438中具有3个有效页面,其余61个页面为无效。当增加1无效页面时,实体区块连接表450中代表该区块的位置并未改变,而在无效页面锚点连接455中的位置则改变至较高1级的位置。 
例如:区块100 453i与454i从锚点连接61 456i与457i中移除或解除连接,并插入或连接至锚点连接62 456j与457j中(假设锚点连接62 456j与457j原本为空)。空的连接是以向前连接与向后连接指向自己表示。 
管理处理器440执行垃圾收集程序时,搜寻无效页面锚点连接455并选取具有最高数量无效页面的区块,借以将重复复制最小化。在本范例中,垃圾收集程序将复制区块100中的有效页面478a、478b及478c至快闪随机存取记忆体阵列装置475中的另一区块。有效页面478a、478b及478c被写入区块200 477b中已抹除的页面478e、478f及478g中。被选定写入的区块200 477b依序允许被写入的资料。先前被写入的页面478d将优先于有效页面478a、478b及478c被复制到已抹除的页面478e、478f及478g中。若区块200 447b在复制有效页面478a、478b及478c的过程中被填满,则将由已抹除页面锚连接(锚连接64)456m与457m中选取另一已抹除的区块。当需要写入新的区块时,该已抹除页面锚连接(锚连接64)456m与457m是经由搜寻最低抹除总数而得。 
当选定一区块477a后,其所有有效页面478a、478b及478c将被复制到一第二区块477b已抹除的页面478e、478f及478g。在复制区块477a 的有效页面478a、478b及478c前,有效页面中为“脏”的页面缓冲器,其所有区段需先复制。快闪随机存取记忆体阵列装置475中所有无效区段将最先被读取。 
管理处理器440执行垃圾收集程序时,于复制后将所有有效页面478a、478b及478c在无效页面表435中设定为无效。在逻辑实体位址转换表400中,逻辑页面位置2的快取旗标410项目表示该页面位于实体页面位置6400 478a的资料已被复制到索引位置为0的页面缓冲器415中。类似地,逻辑页面位置5 405f的快取旗标410项目表示该页面位于实体页面位置6404 478b的资料未保留于页面缓冲器415中。实体位置(6404)405f被改变到新的实体位置(12811)。类似地,具有索引位置0 426的页面缓冲快取表420由实体位置(6400)改变到新的实体位置(12810)。 
在实体逻辑位址表445中,实体页面位置6400 446a由逻辑页面位置2改变到一个不合法的页面指标。不合法的页面指标有两个,即两个最高位址数字(0xffffffff,0xfffffffe)。两者皆表示无相关联的逻辑页面数字。位址数字0xffffffff表示该页面已被抹除,位址数字0xfffffffe表示该页面为无效。其中,逻辑位置2被改变到不合法的页面指标0xfffffffe表示该页面为无效。类似地,页面位置6404 446e由逻辑位置5改变到不合法的页面指标0xfffffffe。项目6401 446b、6402 446c及6403 446d先前被设定为无效,故具有不合法的页面指标0xfffffffe。页面位置12810 446f及12811446g分别由不合法的页面指标0xffffffff(已抹除页面)改变为逻辑页面数字2及5。当区块100中所有的页面皆在无效页面表435中显示为无效,则区块100 477a抹除完毕。 
当快闪随机存取记忆体阵列装置475的区块100 438被抹除,可易于达到耗损平衡。耗损平衡程序的模式,在于令图4所示的快闪随机存取记忆体阵列装置375均匀地损耗。 
请参阅图7,为本发明以页面为基础对于记忆体进行管理的耗损平衡中各表格的示意图。在本实施例中,假设每区块包含有64个页面,则区块100 477a的起始位置与页面6400 478a的起始位置相同,而区块200447b的起始位置与页面12800 478b的起始位置相同。 
在本发明的耗损平衡程序中,最新抹除的区块200 477b在抹除总表480中的对应位置482b将会增加。将位置482b的抹除总数值与一滑动视窗的抹除总数(sliding window)进行比较,若大于滑动视窗的抹除总数,则最新抹除的区块接收来自具有最低抹除总数的区块的资料。该滑动视窗的抹除总数由搜寻抹除总数表480所得最低抹除总数加上一区块抹除总数的门槛值而得到。若有数个区块具有相同的抹除总数,则有效页面最少的区块将被指定为新的空闲区块。若最新抹除的区块200 482b的抹除总数大于滑动视窗的抹除总数,则具有最低抹除总数的区块100 482a将被转移至最近抹除的区块200 482b。其转移是依序复制所有有效页面478a、478b与487c至最近抹除区块200 482b的页面478j、478k与487k,并忽略所有无效页面478h与478i。区块100 482b的无效页面478h与478i变成区块末端的已抹除页面478m,做为后续写入之用。如前述,无效页面的数目由无效页面表435取得。无效页面表435以一64位元字元标示每一区块的无效页面,其中各位元分别显示对应的页面为有效437a、437b及437c或无效437d。 
页面从区块100 477a复制至区块200 477b时,逻辑实体位址表400必须更新。欲得知快闪随机存取记忆体阵列装置475中逻辑页面与有效实体页面478a、478b及478c的关联,则需存取实体逻辑位址表445。页面6400的索引446a显示其关联页面为逻辑页面2。页面6400的索引446e显示其关联页面为逻辑页面5。逻辑页面2的索引405c及其快取旗标410显示该页面已被复制到图4所示的页面缓冲器415。页面缓冲快取表420 的项目426中实体页面位址由6400改变为12800。实体逻辑位址表445的项目446a由逻辑页面2更新为不合法页面指标0xfffffffe而表示为无效页面。索引405f显示该页面未保留于页面缓冲器415中,并由实体页面位址6404改变为新的实体页面位址12801。实体逻辑位址表445中逻辑页面5的项目446e改变为不合法指标0xfffffffe表示为无效。并将新页面478j与478k由已抹除页面的不合法指标0xffffffff分别更新为逻辑页面2实体位址12800 446f及逻辑页面5实体位址12801 446g。有效页面478c也适当地更新其实体页面位址。复制之后,区块100 477a为已抹除,并成为新的空闲区块,可写入新页面。具有空闲页面的区块200 482b被登记到耗损平衡表485中。若区块100 477a中具有无效页面,已抹除的区块200 477b在耗损平衡的复制程序中将不会被完全覆盖,而会剩余部分已抹除的页面。耗损平衡表485用于暂时保留未被覆写的页面的位址。当一区块被写满时,会在取用新的已抹除区块之前检查耗损平衡表485中是否记录具有空闲已抹除页面的区块。而这些区块中的空闲已抹除页面将会优先被写入利用。 
在抹除总数表480中,各区块的抹除总数皆位于一最小抹除总数值与最小抹除总数值加上一门槛值的滑动视窗之中。该最小抹除总数值为快闪随机存取记忆体阵列装置475中所有区块实际上的最低抹除总数。该抹除总数门槛值,通常单阶储存单元(single level cell)为4096,多阶储存单元(multiple level cell)为512。快闪随机存取记忆体阵列装置475的抹除区块连接是以各区块的抹除总数排序。当区块的抹除总数超过该滑动视窗抹除总数,耗损平衡程序将扫描抹除总数表以取得一具有最低抹除总数的区块为取代区块,并将两区块交换。若同时有多个区块具有最低抹除总数,则选取具有最多无效页面者。该最低抹除总数值于扫描抹除总数表480后,依据扫描结果更新。最低抹除总数值更新后,若仍有交 换区块的需求,则耗损平衡程序将再次被执行。滑动视窗的值也需根据最低抹除总数的更新而重新计算。 
前述基于页面管理快闪记忆体的读取、写入、区块抹除等等作业模式可由一独立设计的记忆体管理电路实施。此外,本发明的基于页面的快闪记忆体管理也可由微控制器执行一管理程序实施。其中,该微控制器连接一储存有管理程序或韧体的电脑可读媒体,当微控制器执行该管理程序或韧体时,即可实施前述的快闪随机存取记忆体阵列装置的管理。 
管理快闪随机存取记忆体阵列装置的韧体为一多执行线程程序,可分为复数层或执行线程,分别执行收回程序、垃圾收集及耗损平衡等。各执行线程为平行执行,并分别由对应的门槛值触发。当可用页面缓冲器减少时,由一读/写命令触发快取收回程序。”脏”页面收回程序需进行页面抹除,当已抹除区块的数量太少时,页面抹除动作将触发垃圾收集程序。垃圾收集结束后,区块为已抹除。而当区块的抹除总数太高时,区块的抹除动作将触发耗损平衡程序。 
在本实施例中,该多线程程序用以管理快闪随机存取记忆体阵列装置,该多线程程序是由管理处理器(340于图4或440于图6与图7)执行。该多线程程序包含有一闲置执行线程(idle thread),当收回执行线程、垃圾收集执行线程或耗损平衡执行线程的门槛值未达到时,则闲置执行线程将会被执行。该程序通常执行一回圈,如下所示: 
While(TRUE) 
  WaitEvent(SomeEvent); 
  Handle SomeEvent; 
其中,WaitEvent函式在对应的事件(event)未发生时(即各执行线程的门槛值未达到),会令管理处理器340、440执行的作业系统排程器 (scheduler)切换(switch)至其他的工作(task)。该闲置执行线程中包含有一睡眠命令,当所有执行线程都在等待状态时,可命令处理器进入睡眠状态。 
请参阅图8,为本发明以页面为基础管理非挥发性随机存取记忆体阵列装置进行读取资料的步骤流程图。最顶层只会看到页面缓冲器快取,一读取指令要求逻辑页面位址的页面缓冲器快取包含有页面资料。开始进行读取动作,如步骤500所示,主要对非挥发性快闪记忆体中一连串区段的被需求区段进行读取,并对该需求区段的逻辑区段位址进行解码的动作,如步骤505所示。ATA标准的读取及写入的指令包括有一位址,且该位址指向一需求的逻辑区段号码(SN)及一区段总数(SC)。读取及写入的指令起始于区段号码,并处理区段数所指出的连续区段号码。如图4所示,该逻辑位址可定义及界定出非挥发性随机存取记忆体阵列装置内的区段、页码、区块及芯片的位置。逻辑页面位址(如图4所示的327、328及329)指向需求的页面,并对非挥发性随机存取记忆体阵列装置内的页面进行读取,如步骤510所示。逻辑页面位址为逻辑实体位址转译表515的索引,逻辑实体位址转译表515包括有被读取的需求资料页面的实体位址516。 
快取旗标517标示出资料页面是位于非挥发性随机存取记忆体阵列装置或位于页面缓冲器内。若资料页面不在页面缓冲器内,则在非挥发性随机存取记忆体阵列装置内的页面资料的实际实体位址将会在实体位址项目516。若资料页面为页面缓冲器,进入资料页面的页面缓冲器的索引值将会在实体位址项目516中。借助检查快取旗标将可得知需求的资料页面是否位于页面缓冲器快取,如步骤520所示。 
若页面资料位于页面缓冲器快取位置中,则会从页面缓冲器快取555读取页面,如步骤550所示。从页面资料中细分成的区段资料将以符合 传输协定的格式陆续分页传输至送至外部主机电路,如步骤565所示。若逻辑页面位址的快取旗标517所指向的页面资料尚未被从非挥发性随机存取记忆体阵列装置中复制,则可由空闲列表快取检查出空闲列表是否未被占用或是已有充分足够的空闲页面缓冲器位置可用以由非挥发性随机存取记忆体阵列装置接收页面资料,如步骤570所示。若空闲列表未被占用且没有页面缓冲快取区为空闲状态,则一收回步骤将会被执行,以空出至少一最近最少使用缓冲器快取位置,如步骤575所示。若有足够的空闲页面缓冲器的快取位置或收回程序已完成,便可指派页面缓冲器位置接收页面资料,如步骤580所示。可由逻辑实体位址转译表515中取出实体页面位址516并进行解码,如步骤585所示,且页面资料由非挥发性随机存取记忆体阵列装置读取至页面缓冲器快取555,如步骤590所示。页面缓冲器位置由页面缓冲器快取表535的空闲列表中移除,并插入可为读取快取项目的页面缓冲器快取表535。逻辑实体位址转译表515可借助设定快取旗标517的动作来进行调整,而在页面缓冲快取表535中最近最少使用连接表的页面缓冲器位置的索引则会被设定并指派为页面缓冲器位置,如步骤545。从页面缓冲器快取555中读取页面,如步骤550。从页面资料中细分成的区段资料将以符合传输协定的格式陆续分页传输至送至外部主机电路,如步骤565所示。 
请参阅图9,本发明以页面为基础管理非挥发性快闪记忆体写入资料的步骤流程图。写入的指令需要页面缓冲的快取位置来接收资料页面及相对的逻辑页面位址。进行写入的动作,如步骤600所示,主要对非挥发性快闪记忆体中一串区段的被需求区段进行写入,并该需求区段的逻辑区段位址进行解码的动作,如步骤605所示。如图4所示,该逻辑位址可用以定义并界定出非挥发性随机存取记忆体阵列装置内的区段、页码、区块及芯片的位置。逻辑页面位址(如图4所示的327、328及329) 指向需求的页面,并对非挥发性随机存取记忆体阵列装置内的页面进行读取,如步骤610所示。逻辑页面位址为逻辑实体位址转译表515的索引,逻辑实体位址转译表515包括有被读取的需求资料页面的实体位址516。 
快取旗标517标示出资料页面是位于非挥发性随机存取记忆体阵列装置或位于页面缓冲器内。若资料页面不在页面缓冲器内,则在非挥发性随机存取记忆体阵列装置内的资料页面的实际实体位址将位于实体位址项目516。若资料页面为页面缓冲器,进入资料页面的页面缓冲器的索引值将会在实体位址项目516中。借助检查快取旗标将可得知需求的资料页面是否位于页面缓冲器快取,如步骤615所示。 
若页面资料位于页面缓冲器快取位置中,则页面缓冲器快取表535的快取模式项目537内的页面缓冲器位置会被晋升为的写入快取,如步骤645所示,以使得页面资料被写入页面缓冲器快取555,如步骤650所示。 
若逻辑页面位址的快取旗标517指向的页面资料尚未被从非挥发性随机存取记忆体阵列装置中复制,则可由空闲列表快取检查出空闲列表是否未被占用或是已有充分足够的空闲页面缓冲器位置可用以由非挥发性随机存取记忆体阵列装置接收页面资料,如步骤620所示。若空闲列表未被占用且没有页面缓冲的快取位置为空闲状态,则一收回步骤将会被执行,以空出至少一最近最少使用缓冲器快取位置,如步骤625所示。若有足够的空闲页面缓冲器的快取位置或收回步骤已完成,便可指派页面缓冲器位置来接收页面资料,如步骤630所示。可由逻辑实体位址转译表515中取出实体页面位址516并进行解码,如步骤635所示。页面缓冲快取表535的快取模式项目537内的页面缓冲器位置将会被晋升为串流快取,如步骤640所示。使得页面被写入页面缓冲器快取555,如步 骤650所示。 
韧体的第二层为快取收回线程,如图8的步骤575及图9的步骤625所示。例如,当固态硬碟系统具有8个通道,每个通道有8个预备好的busy lines,并具有64个非挥发性随机存取记忆体装置。此外还包括有64个回收线程,用以将页面立即由快取写入快闪记忆体。在最佳的状况下每一个快闪记忆体都具有一回收线程,但如此一来将会占用太多的资源(每一线程的堆迭式SRAM)。为了节省资源也可使得数个快闪芯片共用一个回收线程,例如2个、4个或8个快闪芯片共用一个线程。 
当达到最大页面使用门槛值时,收回线程便会开始作用。最大页面使用门槛值为页面缓冲器内的页面资料的页面位置的最大数量。当收回线程完成之后,页面缓冲器快取内的可用的空闲页面缓冲器的数量将会大于最大页面缓冲器门槛值。最大页面使用门槛值及最小空闲页面缓冲值必须是适当选择的门槛及可能需要随着各个时间的工作量来进行调整的门槛。主要的目标是随时都有可用的空闲页面缓冲器的快取位置,以避免需要页面缓冲器接收页面资料时,韧体的顶层有延迟的情形。 
请参阅图10a及图10b,为本发明以页面为基础管理页面缓冲器的页面收回的流程图。页面收回的线程如上所述,并可于快取页面缓冲器的空闲页面缓冲器的快取位置的数量过低时进行。如上所述,当有足够的页面缓冲器位置被指派至空闲列表快取,便不会进行页面回收线程。回收的动作可释放页面缓冲器位置,若快闪记忆体脏的(串流快取或写入快取)时,则可借助将页面资料内容写回其中。管理处理器340或440(如图6或图7所示)的操作系统的时程表可控制回收线程的起始,并可在空闲列表快取构件的数量大于最小空闲页面缓冲器门槛值时起动,如步骤700所示。空闲列表快取构件的数量可与最小空闲页面缓冲器门槛值进行比对。若空闲列表快取构件的数量大于最小空闲页面缓冲器门槛值,则回 到步骤700直到空闲列表快取构件的数量小于最小空闲页面缓冲器门槛值为止。每一个读取快取、写入快取及串流快取的填充率都会被计算出,如步骤710、715及720。如上所述,在最近最少使用连接表(如图5的430)中包括有每一个读取快取、写入快取及串流快取的最近被使用的顺序。此外,页面缓冲快取被区分成数个快取,且每一种型式的快取都可以即时进行调整。快取的回收是以基于偏离门槛值的差异为基准,且门槛值被建立于划分页面缓冲器快取,例如写入快取占页面缓冲快取的50%;读取快取占页面缓冲快取的35%;而串流快取则占页面缓冲快取的15%。实际使用时划分的比例可能不同,因为缓冲器可能从一个快取移到另一个,例如由读取快取移往串流快取,或是由串流快取移往写入快取等等。 
快取(如读取快取、写入快取及串流快取)具有最大填充率或与最小空闲页面缓冲器门槛值的最小差距,或者是可预先由页面缓冲快取表535的快取模式数字来定义或选择快取的大小,如步骤725所示。被回收的最新被使用的页面快取缓冲位置则由最新使用的连接表730所决定,如步骤730所示。 
如上所述,串流快取或写入快取的缓冲器页面快取为脏的。在选择页面缓冲器快取的最大填充率时,如步骤725所示,主要是由被选取的页面缓冲快取位置是否脏的而决定,如步骤740所示。若页面缓冲器位置为脏的,则会由页面缓冲快取表535中读取区段有效旗标536,以判断是否将所有包括有效资料的区段被写入非挥发性随机存取记忆体阵列装置。所有的区段有效旗标皆会被测试,如步骤740所示,以判断页面缓冲器位置内的页面资料是否皆为有效,如步骤750所示。若所有页面资料的区段都不是有效,则可由页面缓冲快取表535中重新取得实体位址538并进行解码,如步骤755所示。由非挥发性随机存取记忆体阵列装置读取有效页面资料,如步骤760所示,并以页面缓冲器快取内的有效资 料与有效页面资料重新组合,如步骤765所示。 
页面资料从页面缓冲器位置被写入非挥发性随机存取记忆体阵列装置,如步骤770所示。收回页面缓冲器位置则由其最近被指派及使用的快取中移出,如步骤775所示。回收快取项目则由被选取的快取中最近被使用的连接中取出,以进行回收的动作,如步骤725所示。并将回收快取项目插入最近最少使用连接表的空闲列表连接中,如步骤780所示。 
开始进行回收的程序,如步骤700所示,并将更多的页面缓冲器位置进行回收,直到空闲页面缓冲器位置的数量大于最大空闲页面缓冲门槛值。在将有效页面写入非挥发性随机存取记忆体阵列装置的过程中,如步骤770所示,非挥发性随机存取记忆体阵列装置中的一抹除页面位置是需要从页面缓冲器快取的串流快取或写入快取收回各有效资料。且页面不会由读取快取写回非挥发性随机存取记忆体阵列装置。所有的页面都是有效的,除了位于读取快取的页面内的无效区段。借此所有被抹除的空闲抹除页面都可以被使用。 
在韧体的第三层中,垃圾回收程序被唤起并用以管里区块的抹除程序。以固态硬碟为例,包括有8个通道,且每个通道包括8个预备好的busy lines,并具有64个非挥发性随机存取记忆体装置。有多达64个垃圾回收线程,并可同时抹除各个区块。 
垃圾回收程序会纪录那些页面为无效或废弃。主要包括有四种页面的分级:有缺陷的页面、被写入的页面、无效的页面及被抹除的页面。借助判断区块所具有的无效页面的最高数量,可使得每一个垃圾回收程序线程选择一区块。若有数个区块具有相同号码的无效页面,则具有最小抹除次数的区块将会被选取。 
请参阅图11,为本发明以页面为基础管理的非挥发性快闪随机存取记忆体阵列装置的垃圾回收机制的流程图。垃圾回收程序如以上所述, 并于非挥发性随机存取记忆体阵列装置内被抹除的页面位置的数量过低时起动。当非挥发性随机存取记忆体阵列装置内有足够的被抹除页面,则垃圾回收机制是一种无止境的空转。管理处理器340或440(如图6或图7所示)的操作系统的时程表可控制垃圾回收程序的起始,并可在非挥发性随机存取记忆体阵列装置的被抹除页面位置的数量小于被抹除页面门槛值时起动,如步骤800所示。将非挥发性随机存取记忆体阵列装置的被抹除页面位置的数量与一抹除页面门槛值进行比对,如步骤805所示,当非挥发性随机存取记忆体阵列装置的被抹除页面区的数量小于抹除页面门槛值,其他线程开始且不断地循环过程(如步骤800),直到可使用的抹除页面区的数量大于抹除页面门槛值为止。若否,则垃圾回收动作则不会开始进行。 
当被抹除页面位置的数量低于抹除页面门槛值时,便可搜寻实体区块连接表450,并找出具有最大无效页面的区块,如步骤810所示。区块的选择是位了借助检视实体区快连接表450的无效页面锚点连接456a、...、456n及457a、...、457n找出垃圾收回。实体区快连接表450被区分成向前连接伫列451及向后连接伫列452。向前连接伫列451及向后连接伫列452的第一项目与非挥发性随机存取记忆体阵列装置的非挥发性随机存取记忆体装置的各个区块相对应。向前连接伫列451及向后连接伫列452的项目是无效页面的锚点连接455,且向前连接伫列451及向后连接伫列452横跨特定的区块项目453a,...,453m及454a,...,454m。非挥发性快闪记忆体的所有区块为65个非挥发性随机存取记忆体装置(0...64)的无效页面锚点连接阵列的其中一个。非挥发性随机存取记忆体装置的无效页面锚点连接阵列将会被扫描,并由无效页面的锚点连接64456m及457m开始,并至无效页面锚点连接0 456a及457a为止。无效页面锚点连接0 456a及457a指向各个具有零(0)无效页面的区块项目 453a,...,456m及...,454a,...454m,并可借助无效页面的区块项目453a,...,456m及...,454a,...454m来呈现无效页面的锚点连接455,再者,各个无效页面的锚点连接455具有一无效页面数量的区块列表。 
当被具有最大无效页面的区块被选定时,将会进一步判断区块内所有的页面是否皆为无效,如步骤815所示。若不是所有页面都是无效,则在当下写入区块内的被抹除页面的实体位址将会由被抹除区块被指派至有效页面的逻辑位址,如步骤820所示。有效页面资料则会由将被抹除的区块复制至非挥发快闪记忆体的现行写入区块的页面位置。要注意的是垃圾回收门槛可同时被多个非挥发性随机存取记忆体装置所执行。 
在无效页面表435中设定抹除区块的复制页面为无效,并设定目前写入区块的新的复制为有效页面资料,如步骤830所示。逻辑实体位址转译表400被更新并映射逻辑页面号码指向非挥发性随机存取记忆体装置内新的实体区的逻辑页面。若逻辑页面号码位于快取页面缓冲器,则快取页面表420将会更新。当所有页面在测试后皆为无效,如步骤815所示,则该区块将会被抹除,如步骤835所示。所有被抹除区块的页面具有所有的逻辑页面号码,设置于实体逻辑转译表445内并设定为具有不合法位址码(0xffffffff)的抹除页面,如步骤840所示。抹除总数表480会记录增加的区块抹除总数,如步骤845。在抹除一个区块时,耗损平衡程序将会执行,以确保所有的区块具有大约相同的抹除总数,以使得各非挥发性随机存取记忆体装置的耗损相同。则抹除页面的总数再次与抹除页面门槛值比对,如步骤805所示,且垃圾回收步骤将会重新开始或停止,如步骤840所示。 
耗损平衡程序的执行是为了使得非挥发性随机存取记忆体阵列装置的使用较为平均,并使得非挥发性随机存取记忆体阵列装置各个部分的损坏时间较为相近。在垃圾回收程序中各个区块的抹除后,抹除记数表 的所有区块的抹除总数将会被监看。非挥发性随机存取记忆体阵列装置的各个区块的抹除总数位于滑动视窗内,滑动视窗的抹除总数是以最小区块抹除总数加上抹除总数门槛值为基础。当区块的抹除总数大于滑动视窗的抹除总数,则一具有最小区块抹除总数的区块将复制到此超过滑动视窗的抹除总数的区块中,然后,该具有最低抹除总数的区块成为一新的可写入区块。 
耗损平衡程序具有两种模式:动态耗损平衡程序及静态耗损平衡程序。在动态耗损平衡程序下,当有大于一个可用的抹除区块时,则会选择最小抹除次数的区块。在静态耗损平衡程序下,一部分的非挥发性随机存取记忆体阵列装置会被视为读取资料(静态资料),且该读取资料往往是很少被读取的。例如读取资料可为节目、歌曲、电影等等。具有高抹除资料次数的区块则会与低抹除次数的区块交换。这种交换可为高写入区块与低写入区块(静态资料)的交换。本发明实施例的方法及装置可同时使用动态平均模损程序及静态平均模损程序。 
请参阅图12a、12b及12c,是用以说明本发明以页面为基础管理非挥发性快闪随机存取记忆体阵列装置的一耗损平衡程序的步骤流程图。在垃圾收集程序期间的一区块被抹除之后,借助收回(方块902)最新抹除区块的抹除总数,以启动损耗平衡程序(方块900)。最新抹除区块的抹除总数将存在于前述滑动视窗内,该滑动视窗的抹除总数的范围也可为其中一区块的最低区块抹除总数加上一抹除总数的门槛值。例如,对非挥发性多层次快闪随机存取记忆体芯片而言,该抹除总数门槛值大约为512,但对非挥发性单层次快闪随机存取记忆体芯片而言,该抹除总数门槛值大约为4096。 
相较于最新抹除区块,存在于非挥发性快闪随机存取记忆体阵列装置内所有区块中具有最大抹除总数的一区块,将借助检索抹除总数表480 而被发现。该抹除总数表480也将被检索以发现具有最小抹除总数的区块,如步骤904所示。滑动视窗的一抹除总数将被确定数量,如步骤906所示,其为具有最小抹除总数的区块的抹除总数再加上抹除总数门槛值(最低抹除总数+N,其中N是为抹除总数门槛值)。为了更好的损耗平衡,抹除总数表480将被扫描,以取得所有非挥发性快闪随机存取记忆体装置的所有区块的抹除总数。如果完整的扫描将花费过多的时间,一种好的大概方法是可随意的启动及检索该抹除总数表480的一固定部分(例如一半),或者是随意经过该抹除总数表480的一部分。如果一种不充分的扫描将被使用于来决定具有最小抹除总数的区块时,一种随机函数(random function)将被援用而检索出具有最小抹除总数的区块。如果扫描至抹除总数表480尾端,将从起端继续开始扫描。 
最新抹除区块的抹除总数将与滑动视窗的抹除总数进行比较,如步骤908所示。假如两者抹除总数的差距不大于抹除总数门槛值时,该损耗平衡程序将被终止,如步骤930所示。假如两者抹除总数的差距是大于抹除总数门槛值时,具有最小抹除总数的区块将被指定为最新可写入区块(new spare block)。具有最小抹除总数的区块的所有页面将被测试以决定是否所有的页面都是无效的,如步骤910所示。假如并不是所有页面无效的,则该具有最小抹除总数的区块的有效页面将被复制至最新抹除区块,如步骤912所示,具有最小抹除总数的区块的被复制页面将被设定成无效的,如步骤914所示,而存在于新抹除区块的新的复制页面则被设定成有效的,如步骤914所示,逻辑实体转译表516也将被更新。如果快取旗标517指示逻辑页面是被快取的,则页面缓冲器快取表535将被更新,以致使包含有最新抹除区块的实体位置及快取位置的页面缓冲器位置538将被导入写入快取(write cache),而写入快取则是储存于页面缓冲器快取表535的快取模式记录(cache mode entry)537内。该复制程 序将一直被执行,直到所有页面变成无效为止,而在这段时间内,具有最小抹除总数的区块中的页面的有效性也将一直被测试,如步骤910所示。 
无效页面将不会被复制,且具有最小抹除总数的区块的无效页面将成为存在于该最新抹除区块内的抹除页面。值得注意的是,有效页面将被持续的复制至最新替换区块(new replacement block)中。例如,如果该替换区块具有三个无法被复制的无效页面,则这最新抹除区块的最后三个页面也将不会被改变及保持抹除。当具有最小抹除总数的区块的所有页面都是无效后,它就会被抹除,如步骤916所示。 
具有最小抹除总数的区块的页面将被设定成不合法位址码(illegaladdress code),如步骤918所示,以成为一储存于实体逻辑位址表445的抹除页面(0xffffffff)。抹除总数表480将增量,如步骤920所示,以成为一具有最小抹除总数的区块。如果具有最新复制页面的替换区块具有抹除页面,将登入于损耗平衡表485,如步骤922所示,被作为一当现行写入区块已满时可被使用的可写入抹除页面,而损耗平衡程序也将在此时被终止,如步骤930所示。然而,在另一方面,如果替换区块是持续被需要时,这个程序也会被重复确定。 
以页面为基础管理的一种非挥发性快闪随机存取记忆体阵列装置的一些实施例中,这三个层级(收回、垃圾收集、及损耗平衡)当有需要时将可同时执行。该收回及垃圾收集程序将跑在读取及写入操作之前被执行,以提供在页面缓冲器快取内的顶层具有页面缓冲器位置。本发明以页面为基础管理的一种非挥发性快闪随机存取记忆体阵列装置的操作模式不仅可适用于前述几个少数实施例而已,也可期待适用于不限制页面缓冲器位置。 
先前所描述实施例中,主要是揭露一种具有页面读取、写入及区块 层级抹除功能,并以页面为基础管理的非挥发性快闪随机存取记忆体阵列装置,它可提供一种很高执行力的任意写入功能。而在其他实施例中,主要是揭露一种以次区块的使用来替代页面,一个次区块将具有许多页面,而一个区块又包含有数个次区块。大量次区块将意指所有内部表列的大小将被缩减,次区块将重组总增加、及垃圾收集总减少。具有大量次区块将可提供持续性写入及恶劣的任意写入。又,在其他实施例中,于同一时间内将可使用不同的次区块尺寸大小,借此以达到可依据工作量而致使随意及持续性的写入有更完美的执行。 
实务上,在一次区块内的页面数量最好是2的次方数(例如1、2、4、8、16、32),而每一个区块所能保证的页面数量也是可被N整除,不带有任何余数。次区块的被建构基本上有两种方式:其中一种是一个次区块(或是替代、一特别页面)是一实体区块的部分,由于一个实体区块将被分割成多个次区块,以致使具有2倍数的页面。例如,如果一区块包含有64个页面,且具有16个次区块,则一个次区块将包括有4个实体页面。区块表将保持原有的数量,但页面表(逻辑实体位址转译表400及实体逻辑位址表455)则会只有四分之一大小。在这个实施例中,写入一个次区块就是持续性写入连续的4个页面。 
另外一个方式是取组成超级区块(super-block)来当作是非挥发性快闪随机存取记忆体阵列装置所分割的区块。例如,可从四个不同的非挥发性快闪随机存取记忆体阵列装置中各取一个区块来组成一超级区块。一个四页面次区块将具有四个实体页面,而每一个实体页面都是从不同的非挥发性快闪随机存取记忆体阵列装置中而来。如此将具有比较小的页面表及比较小的区块表,而快取管理也将依据超级区块的数量而定,超级区块的数量将是实体区块数量的一小部分。在这个由四个不同的非挥发性快闪随机存取记忆体阵列装置来组成四个区块的实施例中,超级区 块的数量将是实体区块数量的四分之一。另外,每一个次区块将可以被平行态样写入,因为一个次区块的所有实体页面将位于不同的芯片中,因此可提供以交错的平行方式来进入非挥发性快闪随机存取记忆体阵列装置。 
以上所述者,仅为本发明的一较佳实施例而已,并非用来限定本发明实施的范围,即凡依本发明申请专利范围所述的形状、构造、特征及精神所为的均等变化与修饰,均应包括于本发明的申请专利范围内。 

Claims (27)

1.一种资料储存系统,其特征在于包括有:
一非挥发性记忆体阵列装置,包括有数个次阵列,各次阵列包括有数个区块,各区块包括数个次区块,各次区块包括有数个区段,各区段包括有数个位址组的记忆单元;
一管理处理器,与该非挥发性记忆体阵列装置进行通信,用以提供一控制信号,以在该非挥发性记忆体阵列装置中对于所选择的该次区块进行程序化、抹除及读取动作;
一次区块缓冲器,与该非挥发性记忆体阵列装置及该管理处理器进行通信,接收该控制信号,该次区块缓冲器切分成数个次区块片段以分别暂存次区块资料,并根据该控制信号以决定从该非挥发性记忆体阵列装置读取该次区块资料或传送该次区块资料至该非挥发性记忆体阵列装置;
一逻辑实体转译表,接收一需求的逻辑次区块位址,转换该逻辑次区块位址为一实体次区块位址,与该管理处理器进行通信并将该实体次区块位址传送至该管理处理器,以确认该非挥发性记忆体阵列装置中一需求次区块的实体位置;
其中,该逻辑实体转译表包括有一快取旗标表,其用以确认目前该次区块缓冲器是否有该需求的逻辑次区块位址;
一输入/输出转接器,其连接在一外部端口、该次区块缓冲器及该管理处理器间,用以接收一逻辑次区块位址、该控制信号及一被通信规格所编码的区段资料,并转换该逻辑次区块位址、该控制信号及该被通信规格所编码的区段资料成该非挥发性记忆体阵列装置可接受的规格;
一实体位址解码器,与该输入/输出转接器及该逻辑实体转译表进行通信,从该输入/输出转接器接收该逻辑次区块位址,转送该逻辑次区块位址至该逻辑实体转译表,从该逻辑实体转译表接收该实体次区块位址,与该管理处理器进行沟通,以确认一需求的逻辑次区块资料存在于该次区块缓冲器或该非挥发性记忆体阵列装置中;及
一次区块缓冲器快取表,与该管理处理器进行通信,该次区块缓冲器快取表包括有一实体次区块号码,其用以确认在该非挥发性记忆体阵列装置中的一与在该次区块缓冲器中的一次区块位置相关联的实体位置,一快取类型项目用以标示一快取类型,而一状态项目根据一有效状态分类该次区块的区段资料,且该快取类型项目及该状态项目占用于该与在该次区块缓冲器中的一次区块位置相关联的实体位置中。
2.如权利要求1所述的资料储存系统,其特征在于,该次区块为一页面。
3.如权利要求1所述的资料储存系统,其特征在于,该次区块为一在非挥发性记忆体阵列装置中单一区块所组成的超级页面。
4.如权利要求1所述的资料储存系统,其特征在于,该次区块为一经由多个页面与一区块所组成的超级页面。
5.如权利要求2、3或4所述的资料储存系统,其特征在于,该快取类型包括有一读取快取、一串流快取、一写入快取及一空闲列表。
6.如权利要求2、3或4所述的资料储存系统,其特征在于,尚包括有一最近最少使用表,其包括有数个连接指标,该连接指标用以决定一最近最少使用的次区块资料存于该次区块缓冲器中。
7.如权利要求5所述的资料储存系统,其特征在于,该次区块缓冲器通过该管理处理器执行一收回程序,最近最少使用的该次区块资料从该次区块缓冲器中收回且写入于该非挥发性记忆体阵列装置中所指定的该次区块,而该次区块缓冲器中的该次区块位置并附加至该次区块缓冲器快取表的该空闲列表内。
8.如权利要求1所述的资料储存系统,其特征在于,尚包括有一无效次区块表,其用以指示该非挥发性记忆体阵列装置中所选择的该区块及其该次区块为有效的。
9.如权利要求1所述的资料储存系统,其特征在于,尚包括有一实体逻辑表用以映射该非挥发性记忆体阵列装置的该需求次区块的实体位置至该逻辑次区块位址,该实体逻辑表中的一不合法的次区块号码用以指示该需求次区块的实体位置于该实体逻辑表中已抹除或无效的。
10.如权利要求1所述的资料储存系统,其特征在于,尚包括有一抹除总数表,与该管理处理器进行通信,以对于该非挥发性记忆体阵列装置中各区块记录一抹除总数。
11.如权利要求1所述的资料储存系统,其特征在于,尚包括有一与该管理处理器进行通信的实体区块连接表,该实体区块连接表包括有一包含数个指标的连接列表,该连接列表包括有一锚定指标,其用以在该区块中定义出无效次区块号码。
12.如权利要求10所述的资料储存系统,其特征在于,该非挥发性记忆体阵列装置通过该管理处理器执行一垃圾收集程序,一锚定指标用以指出在该非挥发性记忆体阵列装置中具有最大无效号码的次区块,进而允许该最大无效号码次区块选择进行抹除的动作。
13.如权利要求12所述的资料储存系统,其特征在于,在一损耗平衡程序中,一抹除区块的抹除总数比较于一最大总数,若该抹除区块的抹除总数超过该最大总数,选择另一具有最低抹除总数的区块,且该具有最低抹除总数的区块中全部有效的次区块复制至该抹除区块的低阶级次区块中,然后,该具有最低抹除总数的区块将进行抹除动作,而该具有最低抹除总数的抹除区块成为一新的可写入区块,且其抹除总数将会增加。
14.一种资料储存系统,指以次区块为基础对于一快闪储存系统进行读取、写入及区块抹除的记忆体管理电路,其特征在于,该记忆体管理电路包括有:
一管理处理器,与在该快闪储存系统中的一非挥发性记忆体阵列装置进行通信,用以提供一控制信号,以在该非挥发性记忆体阵列装置中对于所选择的该次区块进行程序化、抹除及读取动作;
一次区块缓冲器,与该非挥发性记忆体阵列装置及该管理处理器进行通信,接收该控制信号,该次区块缓冲器切分成数个次区块片段以分别暂存次区块资料,并根据该控制信号以决定从该非挥发性记忆体阵列装置读取该次区块资料或传送该次区块资料至该非挥发性记忆体阵列装置;
一逻辑实体转译表,接收一需求的逻辑次区块位址,转换该逻辑次区块位址为一实体次区块位址,与该管理处理器进行通信并将该实体次区块位址传送至该管理处理器,以确认该非挥发性记忆体阵列装置中的一需求次区块的实体位置;
其中,该逻辑实体转译表包括有一快取旗标表,其用以确认目前该次区块缓冲器是否有该需求的逻辑次区块位址;
一输入/输出转接器,其连接在一外部端口、该次区块缓冲器及该管理处理器间,用以接收一逻辑次区块位址、该控制信号及一被通信规格所编码的区段资料,并转换该逻辑次区块位址、该控制信号及该被通信规格所编码的区段资料成该非挥发性记忆体阵列装置可接受的规格;
一实体位址解码器,与该输入/输出转接器及该逻辑实体转译表进行通信,从该输入/输出转接器接收该逻辑次区块位址,转送该逻辑次区块位址至该逻辑实体转译表,从该逻辑实体转译表接收该实体次区块位址,与该管理处理器进行沟通,以确认一需求的逻辑次区块资料存在于该次区块缓冲器或该非挥发性记忆体阵列装置中;及
一次区块缓冲器快取表,与该管理处理器进行通信,该次区块缓冲器快取表包括有一实体次区块号码,其用以确认在该非挥发性记忆体阵列装置中的一与在该次区块缓冲器中的一次区块位置相关联的实体位置,一快取类型项目用以标示一快取类型,而一状态项目根据一有效状态分类该次区块的区段资料,且该快取类型项目及该状态项目占用于该与在该次区块缓冲器中的一次区块位置相关联的实体位置中。
15.如权利要求14所述的资料储存系统,其特征在于,该次区块为一页面。
16.如权利要求14所述的资料储存系统,其特征在于,该次区块为一在非挥发性记忆体阵列装置中单一区块所组成的超级页面。
17.如权利要求14所述的资料储存系统,其特征在于,该次区块为一经由多个页面与一区块所组成的超级页面。
18.如权利要求14所述的资料储存系统,其特征在于,该快取类型包括有一读取快取、一串流快取、一写入快取及一空闲列表。
19.如权利要求14所述的资料储存系统,其特征在于,尚包括有一最近最少使用表包括有数个连接指标,该连接指标用以决定一最近最少使用的次区块资料存于该次区块缓冲器中。
20.如权利要求18所述的资料储存系统,其特征在于,该次区块缓冲器通过该管理处理器执行一收回程序,最近最少使用的该次区块资料从该次区块缓冲器中收回且写入所指定的该非挥发性记忆体阵列装置的该次区块中,而该次区块缓冲器中的该次区块位置并附加至该次区块缓冲器快取表的该空闲列表内。
21.如权利要求15、16或17所述的资料储存系统,其特征在于,尚包括有一无效次区块表,其用以指示该非挥发性记忆体阵列装置中所选择的该区块及其该次区块为有效的。
22.如权利要求15、16或17所述的资料储存系统,其特征在于,尚包括有一实体逻辑表用以映射该非挥发性记忆体阵列装置的该需求次区块的实体位置至该逻辑次区块位址,该实体逻辑表中的一不合法的次区块号码用以指示该需求次区块的实体位置在该实体逻辑表中已抹除或无效的。
23.如权利要求15、16或17所述的资料储存系统,其特征在于,尚包括有一抹除总数表,与该管理处理器进行通信,以对于该非挥发性记忆体阵列装置中的各区块记录一抹除总数。
24.如权利要求15、16或17所述的资料储存系统,其特征在于,尚包括有一与该管理处理器进行通信的实体区块连接表,该实体区块连接表包括有一包含数个指标的连接列表,该连接列表包括有一锚定指标,其用以在该区块中定义出无效次区块号码。
25.如权利要求23所述的资料储存系统,其特征在于,该非挥发性记忆体阵列装置通过该管理处理器执行一垃圾收集程序,一锚定指标用以指出该非挥发性记忆体阵列装置的该区块中具有最大无效号码的次区块,进而允许该最大无效号码次区块选择进行抹除的动作。
26.如权利要求25所述的资料储存系统,其特征在于,在一损耗平衡程序中,一抹除区块的抹除总数比较于一滑动视窗的抹除总数,若该抹除区块的抹除总数超过该滑动视窗的抹除总数,选择另一具有最低抹除总数的区块,且该具有最低抹除总数的区块中全部有效的次区块复制至该抹除区块的低阶级次区块中,然后,该具有最低抹除总数的区块将进行抹除动作,而该具有最低抹除总数的区块成为一新的可写入区块,且其抹除总数将会增加。
27.如权利要求26所述的资料储存系统,其特征在于,在一损耗平衡程序中,计算该滑动视窗的抹除总数,该滑动视窗的抹除总数为该最低抹除总数加上一区块抹除总数的门槛值。
CN201010271678.5A 2009-09-03 2010-09-03 资料储存系统 Expired - Fee Related CN102012867B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410411424.7A CN104298610B (zh) 2009-09-03 2010-09-03 资料储存系统及其管理方法

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/584,299 US8688894B2 (en) 2009-09-03 2009-09-03 Page based management of flash storage
US12/584,299 2009-09-03

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN201410411424.7A Division CN104298610B (zh) 2009-09-03 2010-09-03 资料储存系统及其管理方法

Publications (2)

Publication Number Publication Date
CN102012867A CN102012867A (zh) 2011-04-13
CN102012867B true CN102012867B (zh) 2014-12-24

Family

ID=43626523

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201410411424.7A Expired - Fee Related CN104298610B (zh) 2009-09-03 2010-09-03 资料储存系统及其管理方法
CN201010271678.5A Expired - Fee Related CN102012867B (zh) 2009-09-03 2010-09-03 资料储存系统

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN201410411424.7A Expired - Fee Related CN104298610B (zh) 2009-09-03 2010-09-03 资料储存系统及其管理方法

Country Status (3)

Country Link
US (1) US8688894B2 (zh)
CN (2) CN104298610B (zh)
TW (3) TWI551989B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI597605B (zh) * 2016-07-11 2017-09-01 慧榮科技股份有限公司 用於資料儲存裝置的損耗平均方法
TWI625626B (zh) * 2016-12-14 2018-06-01 旺宏電子股份有限公司 管理記憶體裝置中記憶體單元的實體資訊的方法及系統

Families Citing this family (286)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8489817B2 (en) 2007-12-06 2013-07-16 Fusion-Io, Inc. Apparatus, system, and method for caching data
WO2008070814A2 (en) 2006-12-06 2008-06-12 Fusion Multisystems, Inc. (Dba Fusion-Io) Apparatus, system, and method for a scalable, composite, reconfigurable backplane
JP5064820B2 (ja) * 2007-02-01 2012-10-31 マーベル ワールド トレード リミテッド 磁気ディスクコントローラおよび方法
US7836226B2 (en) 2007-12-06 2010-11-16 Fusion-Io, Inc. Apparatus, system, and method for coordinating storage requests in a multi-processor/multi-thread environment
US9519540B2 (en) 2007-12-06 2016-12-13 Sandisk Technologies Llc Apparatus, system, and method for destaging cached data
US8843691B2 (en) * 2008-06-25 2014-09-23 Stec, Inc. Prioritized erasure of data blocks in a flash storage device
US8219776B2 (en) * 2009-09-23 2012-07-10 Lsi Corporation Logical-to-physical address translation for solid state disks
US8286004B2 (en) * 2009-10-09 2012-10-09 Lsi Corporation Saving encryption keys in one-time programmable memory
US20100306451A1 (en) * 2009-06-01 2010-12-02 Joshua Johnson Architecture for nand flash constraint enforcement
US8321639B2 (en) * 2009-12-30 2012-11-27 Lsi Corporation Command tracking for direct access block storage devices
US8555141B2 (en) * 2009-06-04 2013-10-08 Lsi Corporation Flash memory organization
US8166258B2 (en) * 2009-07-24 2012-04-24 Lsi Corporation Skip operations for solid state disks
US8868809B2 (en) * 2009-11-30 2014-10-21 Lsi Corporation Interrupt queuing in a media controller architecture
US8245112B2 (en) * 2009-06-04 2012-08-14 Lsi Corporation Flash memory organization
US8195917B2 (en) * 2009-07-01 2012-06-05 Advanced Micro Devices, Inc. Extended page size using aggregated small pages
KR20110018157A (ko) * 2009-08-17 2011-02-23 삼성전자주식회사 플래시 메모리 장치의 액세스 방법
JP5999645B2 (ja) * 2009-09-08 2016-10-05 ロンギチュード エンタープライズ フラッシュ エスエイアールエル ソリッドステート記憶デバイス上にデータをキャッシングするための装置、システム、および方法
US8176220B2 (en) 2009-10-01 2012-05-08 Oracle America, Inc. Processor-bus-connected flash storage nodes with caching to support concurrent DMA accesses from multiple processors
US8219746B2 (en) * 2009-10-08 2012-07-10 International Business Machines Corporation Memory package utilizing at least two types of memories
US8407449B1 (en) 2010-02-26 2013-03-26 Western Digital Technologies, Inc. Non-volatile semiconductor memory storing an inverse map for rebuilding a translation table
US8725931B1 (en) 2010-03-26 2014-05-13 Western Digital Technologies, Inc. System and method for managing the execution of memory commands in a solid-state memory
US8782327B1 (en) * 2010-05-11 2014-07-15 Western Digital Technologies, Inc. System and method for managing execution of internal commands and host commands in a solid-state memory
US9026716B2 (en) 2010-05-12 2015-05-05 Western Digital Technologies, Inc. System and method for managing garbage collection in solid-state memory
US9104546B2 (en) * 2010-05-24 2015-08-11 Silicon Motion Inc. Method for performing block management using dynamic threshold, and associated memory device and controller thereof
CN103026346B (zh) * 2010-07-27 2016-01-20 国际商业机器公司 用于从固态存储器设备读取及写入数据的方法及存储系统
US9530436B1 (en) * 2010-08-12 2016-12-27 Western Digital Technologies, Inc. Methods and systems for providing data security in data storage devices
KR20120028581A (ko) * 2010-09-15 2012-03-23 삼성전자주식회사 비휘발성 메모리 장치, 이의 동작 방법, 및 이를 포함하는 장치들
US9164886B1 (en) 2010-09-21 2015-10-20 Western Digital Technologies, Inc. System and method for multistage processing in a memory storage subsystem
US9021192B1 (en) 2010-09-21 2015-04-28 Western Digital Technologies, Inc. System and method for enhancing processing of memory access requests
WO2012051600A2 (en) * 2010-10-15 2012-04-19 Kyquang Son File system-aware solid-state storage management system
US8713242B2 (en) * 2010-12-30 2014-04-29 Solid State System Co., Ltd. Control method and allocation structure for flash memory device
CN103354926B (zh) * 2011-01-31 2016-04-06 三菱电机株式会社 存储器控制器
JP5295286B2 (ja) * 2011-02-23 2013-09-18 株式会社日立製作所 記憶装置およびそれを搭載した計算機
WO2012116369A2 (en) 2011-02-25 2012-08-30 Fusion-Io, Inc. Apparatus, system, and method for managing contents of a cache
KR101717081B1 (ko) * 2011-03-23 2017-03-28 삼성전자주식회사 비휘발성 램과 휘발성 램을 버퍼 메모리로 사용하는 저장 장치
JP5708216B2 (ja) * 2011-05-09 2015-04-30 ソニー株式会社 フラッシュメモリ装置、メモリ制御装置、メモリ制御方法、ストレージシステム
US9104327B2 (en) * 2011-05-17 2015-08-11 Sandisk Technologies Inc. Fast translation indicator to reduce secondary address table checks in a memory device
KR20120128978A (ko) * 2011-05-18 2012-11-28 삼성전자주식회사 데이터 저장 장치 및 그것의 데이터 관리 방법
US9436594B2 (en) * 2011-05-27 2016-09-06 Seagate Technology Llc Write operation with immediate local destruction of old content in non-volatile memory
US9405670B2 (en) * 2011-06-09 2016-08-02 Tsinghua University Wear leveling method and apparatus
US8949508B2 (en) * 2011-07-18 2015-02-03 Apple Inc. Non-volatile temporary data handling
CN104536906B (zh) * 2011-08-02 2017-10-10 群联电子股份有限公司 数据写入方法、存储器控制器与存储器储存装置
CN102915273B (zh) * 2011-08-02 2015-06-10 群联电子股份有限公司 数据写入方法、存储器控制器与存储器储存装置
TWI448892B (zh) * 2011-09-06 2014-08-11 Phison Electronics Corp 資料搬移方法、記憶體控制器與記憶體儲存裝置
US8924632B2 (en) 2011-09-16 2014-12-30 Apple Inc. Faster tree flattening for a system having non-volatile memory
CN102999437B (zh) * 2011-09-19 2015-12-16 群联电子股份有限公司 数据搬移方法、存储器控制器与存储器储存装置
US8539007B2 (en) 2011-10-17 2013-09-17 International Business Machines Corporation Efficient garbage collection in a compressed journal file
US20130103889A1 (en) * 2011-10-25 2013-04-25 Ocz Technology Group Inc. Page-buffer management of non-volatile memory-based mass storage devices
US8972661B2 (en) 2011-10-31 2015-03-03 International Business Machines Corporation Dynamically adjusted threshold for population of secondary cache
US8966172B2 (en) 2011-11-15 2015-02-24 Pavilion Data Systems, Inc. Processor agnostic data storage in a PCIE based shared storage enviroment
US8959416B1 (en) * 2011-12-16 2015-02-17 Western Digital Technologies, Inc. Memory defect management using signature identification
KR20130076429A (ko) * 2011-12-28 2013-07-08 삼성전자주식회사 메모리 장치의 저장 영역 관리 방법 및 이를 이용한 저장 장치
US9190124B2 (en) 2011-12-29 2015-11-17 Intel Corporation Multi-level memory with direct access
KR20130079706A (ko) * 2012-01-03 2013-07-11 삼성전자주식회사 휘발성 메모리를 포함하는 저장 장치의 구동 방법
US9251086B2 (en) 2012-01-24 2016-02-02 SanDisk Technologies, Inc. Apparatus, system, and method for managing a cache
US9652182B2 (en) 2012-01-31 2017-05-16 Pavilion Data Systems, Inc. Shareable virtual non-volatile storage device for a server
US8700861B1 (en) * 2012-03-28 2014-04-15 Emc Corporation Managing a dynamic list of entries for cache page cleaning
KR20150010717A (ko) * 2012-04-27 2015-01-28 휴렛-팩커드 디벨롭먼트 컴퍼니, 엘.피. 메모리 디바이스의 보호
US9251056B2 (en) * 2012-06-01 2016-02-02 Macronix International Co., Ltd. Bucket-based wear leveling method and apparatus
US9772948B2 (en) 2012-07-06 2017-09-26 Seagate Technology Llc Determining a criterion for movement of data from a primary cache to a secondary cache
US9529724B2 (en) 2012-07-06 2016-12-27 Seagate Technology Llc Layered architecture for hybrid controller
US9477591B2 (en) 2012-07-06 2016-10-25 Seagate Technology Llc Memory access requests in hybrid memory system
JP5631938B2 (ja) * 2012-07-19 2014-11-26 株式会社東芝 半導体記憶装置
US8799561B2 (en) * 2012-07-27 2014-08-05 International Business Machines Corporation Valid page threshold based garbage collection for solid state drive
US20140052899A1 (en) * 2012-08-18 2014-02-20 Yen Chih Nan Memory address translation method for flash storage system
US9146857B2 (en) * 2012-08-18 2015-09-29 Storart Technology Co. Ltd. Method for mapping management
US8898548B1 (en) 2012-08-24 2014-11-25 Western Digital Technologies, Inc. Methods, data storage devices and systems having variable size ECC page size
US9195578B2 (en) * 2012-08-24 2015-11-24 International Business Machines Corporation Systems, methods and computer program products memory space management for storage class memory
TWI492051B (zh) * 2012-09-05 2015-07-11 Silicon Motion Inc 資料儲存裝置與快閃記憶體控制方法
US9690695B2 (en) 2012-09-20 2017-06-27 Silicon Motion, Inc. Data storage device and flash memory control method thereof
US9268682B2 (en) 2012-10-05 2016-02-23 Skyera, Llc Methods, devices and systems for physical-to-logical mapping in solid state drives
US9507523B1 (en) 2012-10-12 2016-11-29 Western Digital Technologies, Inc. Methods, devices and systems for variable size logical page management in a solid state drive
CN102929790A (zh) * 2012-10-15 2013-02-13 株洲南车时代电气股份有限公司 一种数据存储系统和方法
US9489296B1 (en) 2012-10-17 2016-11-08 Western Digital Technologies, Inc. Methods, devices and systems for hardware-based garbage collection in solid state drives
US8954694B2 (en) 2012-11-15 2015-02-10 Western Digital Technologies, Inc. Methods, data storage devices and systems for fragmented firmware table rebuild in a solid state drive
US9405621B2 (en) * 2012-12-28 2016-08-02 Super Talent Technology, Corp. Green eMMC device (GeD) controller with DRAM data persistence, data-type splitting, meta-page grouping, and diversion of temp files for enhanced flash endurance
US9547586B2 (en) * 2013-01-03 2017-01-17 Macronix International Co., Ltd. Metadata containers with indirect pointers
US8898410B1 (en) * 2013-02-20 2014-11-25 Google Inc. Efficient garbage collection in a data storage device
CN104008061B (zh) * 2013-02-22 2018-01-23 华为技术有限公司 内存回收方法及装置
US9323676B2 (en) * 2013-03-05 2016-04-26 International Business Machines Corporation Non-data inclusive coherent (NIC) directory for cache
US9436595B1 (en) * 2013-03-15 2016-09-06 Google Inc. Use of application data and garbage-collected data to improve write efficiency of a data storage device
US9558108B2 (en) * 2013-04-15 2017-01-31 Macronix International Co., Ltd. Half block management for flash storage devices
US9519591B2 (en) * 2013-06-22 2016-12-13 Microsoft Technology Licensing, Llc Latch-free, log-structured storage for multiple access methods
KR102164630B1 (ko) * 2013-06-28 2020-10-12 삼성전자주식회사 메모리 컨트롤러 및 상기 메모리 컨트롤러의 동작 방법
US20160196076A1 (en) * 2013-07-08 2016-07-07 Wilus Institute Of Standards And Technology Inc. Memory system and method for controlling same
US9606803B2 (en) 2013-07-15 2017-03-28 Texas Instruments Incorporated Highly integrated scalable, flexible DSP megamodule architecture
KR20150010150A (ko) * 2013-07-18 2015-01-28 삼성전자주식회사 메모리 시스템 및 이의 동작 방법
US10007428B2 (en) 2013-08-16 2018-06-26 Micron Technology, Inc. Data storage management
US9785564B2 (en) * 2013-08-20 2017-10-10 Seagate Technology Llc Hybrid memory with associative cache
US9928177B2 (en) * 2013-08-21 2018-03-27 Lite-On Electronics (Guangzhou) Limited Managing method for cache memory of solid state drive
WO2015047348A1 (en) 2013-09-27 2015-04-02 Intel Corporation Cache operations for memory management
JP6326209B2 (ja) * 2013-09-30 2018-05-16 ラピスセミコンダクタ株式会社 半導体装置及び半導体メモリにおける消去回数の検索方法
CN104598386B (zh) * 2013-10-31 2018-03-27 Lsi公司 通过追踪和利用二级映射索引重复利用固态驱动器块
TWI489279B (zh) * 2013-11-27 2015-06-21 Realtek Semiconductor Corp 虛擬實體位址轉換系統以及虛擬實體位址轉換系統的管理方法
US9348748B2 (en) 2013-12-24 2016-05-24 Macronix International Co., Ltd. Heal leveling
US9684568B2 (en) 2013-12-26 2017-06-20 Silicon Motion, Inc. Data storage device and flash memory control method
US20150186257A1 (en) * 2013-12-26 2015-07-02 Anand S. Ramalingam Managing a transfer buffer for a non-volatile memory
KR102192242B1 (ko) * 2014-02-24 2020-12-17 삼성전자주식회사 메모리로 커맨드를 이슈하는 커맨드 이슈 방법 및 메모리의 커맨드 처리 방법
US9092362B1 (en) * 2014-03-13 2015-07-28 NXGN Data, Inc. Programmable data write management system and method for operating the same in a solid state drive
US9354955B1 (en) 2014-03-19 2016-05-31 Western Digital Technologies, Inc. Partial garbage collection for fast error handling and optimized garbage collection for the invisible band
KR102254392B1 (ko) * 2014-05-12 2021-05-25 삼성전자주식회사 메모리 컨트롤러의 동작 방법 및 불휘발성 메모리 장치 및 메모리 컨트롤러를 포함하는 불휘발성 메모리 시스템
US9959203B2 (en) * 2014-06-23 2018-05-01 Google Llc Managing storage devices
CN105279098B (zh) * 2014-07-22 2019-02-12 中兴通讯股份有限公司 内存的清理方法及装置
JP2016038907A (ja) * 2014-08-07 2016-03-22 富士通株式会社 アクセス制御プログラム、アクセス制御装置及びアクセス制御方法
CN105446653B (zh) 2014-08-27 2018-12-14 阿里巴巴集团控股有限公司 一种数据合并方法和设备
US9952981B2 (en) * 2014-09-29 2018-04-24 Apple Inc. Read cache management in multi-level cell (MLC) non-volatile memory
US9336136B2 (en) 2014-10-08 2016-05-10 HGST Netherlands B.V. Apparatus, systems, and methods for providing wear leveling in solid state devices
WO2016064395A1 (en) * 2014-10-23 2016-04-28 Hewlett Packard Enterprise Development Lp Determining a chip select from physical rank information
US9483413B2 (en) 2014-10-24 2016-11-01 Samsung Electronics Co., Ltd. Nonvolatile memory devices and methods of controlling the same
TWI604307B (zh) 2014-10-31 2017-11-01 慧榮科技股份有限公司 資料儲存裝置以及快閃記憶體控制方法
US9565269B2 (en) 2014-11-04 2017-02-07 Pavilion Data Systems, Inc. Non-volatile memory express over ethernet
US9712619B2 (en) 2014-11-04 2017-07-18 Pavilion Data Systems, Inc. Virtual non-volatile memory express drive
US9830087B2 (en) * 2014-11-13 2017-11-28 Micron Technology, Inc. Memory wear leveling
US9529718B2 (en) * 2014-12-12 2016-12-27 Advanced Micro Devices, Inc. Batching modified blocks to the same dram page
US20160179399A1 (en) * 2014-12-23 2016-06-23 Sandisk Technologies Inc. System and Method for Selecting Blocks for Garbage Collection Based on Block Health
US10474569B2 (en) 2014-12-29 2019-11-12 Toshiba Memory Corporation Information processing device including nonvolatile cache memory and processor
TWI545433B (zh) * 2015-03-04 2016-08-11 慧榮科技股份有限公司 實體儲存對照表維護方法以及使用該方法的裝置
US9588901B2 (en) * 2015-03-27 2017-03-07 Intel Corporation Caching and tiering for cloud storage
US9891824B2 (en) * 2015-04-24 2018-02-13 International Business Machines Corporation Sub-block input/output (I/O) commands for storage device including byte stream buffer
CN104935657A (zh) * 2015-06-15 2015-09-23 清华大学深圳研究生院 主动推送信息的方法和嵌入式节点操作系统
US9715342B2 (en) * 2015-07-03 2017-07-25 Xitore, Inc. Apparatus, system, and method of logical address translation for non-volatile storage memory
TWI534619B (zh) 2015-09-11 2016-05-21 慧榮科技股份有限公司 動態邏輯分段方法以及使用該方法的裝置
US10635596B2 (en) 2015-10-02 2020-04-28 Sony Interactive Entertainment Inc. Information processing device, access controller, information processing method, and computer program for accessing memory having access units of different sizes
US9933954B2 (en) * 2015-10-19 2018-04-03 Nxp Usa, Inc. Partitioned memory having pipeline writes
TWI571881B (zh) * 2015-10-23 2017-02-21 群聯電子股份有限公司 有效資料合併方法、記憶體控制器與記憶體儲存裝置
KR20170053278A (ko) * 2015-11-06 2017-05-16 에스케이하이닉스 주식회사 데이터 저장 장치 및 그것의 동작 방법
TWI604308B (zh) * 2015-11-18 2017-11-01 慧榮科技股份有限公司 資料儲存裝置及其資料維護方法
US10152321B2 (en) * 2015-12-18 2018-12-11 Intel Corporation Instructions and logic for blend and permute operation sequences
US20170177360A1 (en) * 2015-12-21 2017-06-22 Intel Corporation Instructions and Logic for Load-Indices-and-Scatter Operations
US10289416B2 (en) * 2015-12-30 2019-05-14 Intel Corporation Systems, apparatuses, and methods for lane-based strided gather
CN107132989B (zh) * 2016-02-26 2020-05-12 群联电子股份有限公司 数据程序化方法、存储器控制电路单元及存储器存储装置
TWI571740B (zh) * 2016-03-18 2017-02-21 華邦電子股份有限公司 記憶體裝置及記憶體區塊使用方法
US10540274B2 (en) * 2016-03-29 2020-01-21 Micron Technology, Inc. Memory devices including dynamic superblocks, and related methods and electronic systems
US11442760B2 (en) * 2016-07-01 2022-09-13 Intel Corporation Aperture access processors, methods, systems, and instructions
US9857988B1 (en) * 2016-07-10 2018-01-02 Winbond Electronics Corporaiton Data management in multiply-writeable flash memories
TWI584292B (zh) * 2016-09-08 2017-05-21 群聯電子股份有限公司 記憶體抹除方法、記憶體控制電路單元及記憶體儲存裝置
US10275156B2 (en) * 2016-09-29 2019-04-30 Intel Corporation Managing solid state drive defect redundancies at sub-block granularity
US10216417B2 (en) * 2016-10-26 2019-02-26 Samsung Electronics Co., Ltd. Method of consolidate data streams for multi-stream enabled SSDs
CN109416656B (zh) 2016-10-31 2023-08-11 拉姆伯斯公司 混合存储器模块
TWI619018B (zh) * 2016-11-10 2018-03-21 慧榮科技股份有限公司 可用於資料儲存裝置之垃圾蒐集方法
TWI616807B (zh) * 2016-11-17 2018-03-01 英屬維京群島商大心電子(英屬維京群島)股份有限公司 資料寫入方法以及儲存控制器
TWI615710B (zh) * 2016-12-14 2018-02-21 群聯電子股份有限公司 記憶體管理方法、記憶體儲存裝置及記憶體控制電路單元
JP6677627B2 (ja) * 2016-12-20 2020-04-08 株式会社ソニー・インタラクティブエンタテインメント 情報処理装置およびメモリアクセス方法
CN108228088B (zh) * 2016-12-21 2020-10-23 伊姆西Ip控股有限责任公司 用于管理存储系统的方法和设备
US10445199B2 (en) * 2016-12-22 2019-10-15 Western Digital Technologies, Inc. Bad page management in storage devices
US10664402B2 (en) 2017-01-27 2020-05-26 Hewlett-Packard Development Company, L.P. Read operation redirect
KR20180093152A (ko) * 2017-02-09 2018-08-21 에스케이하이닉스 주식회사 데이터 저장 장치 및 그것의 동작 방법
US10241925B2 (en) 2017-02-15 2019-03-26 Ati Technologies Ulc Selecting a default page size in a variable page size TLB
KR20180094724A (ko) * 2017-02-16 2018-08-24 에스케이하이닉스 주식회사 메모리 시스템 및 메모리 시스템의 동작방법
US10282309B2 (en) 2017-02-24 2019-05-07 Advanced Micro Devices, Inc. Per-page control of physical address space distribution among memory modules
US10120813B2 (en) * 2017-03-08 2018-11-06 Arm Limited Address translation
JP6387134B1 (ja) 2017-03-09 2018-09-05 ウィンボンド エレクトロニクス コーポレーション 半導体記憶装置
TWI626540B (zh) * 2017-03-22 2018-06-11 慧榮科技股份有限公司 一般及垃圾回收的資料存取方法以及使用該方法的裝置
KR20180108939A (ko) * 2017-03-23 2018-10-05 에스케이하이닉스 주식회사 데이터 저장 장치 및 그것의 동작 방법
CN106951193B (zh) * 2017-03-27 2019-11-12 深圳佰维存储科技股份有限公司 改善Nand Flash存储性能的方法及其系统
TWI643067B (zh) * 2017-04-14 2018-12-01 國立臺灣科技大學 三維非及閘快閃記憶體及其記憶體管理方法
US10339068B2 (en) 2017-04-24 2019-07-02 Advanced Micro Devices, Inc. Fully virtualized TLBs
US11048624B2 (en) 2017-04-25 2021-06-29 Samsung Electronics Co., Ltd. Methods for multi-stream garbage collection
US10698808B2 (en) 2017-04-25 2020-06-30 Samsung Electronics Co., Ltd. Garbage collection—automatic data placement
US9905294B1 (en) * 2017-05-03 2018-02-27 Seagate Technology Llc Writing logically offset pages of data to N-level memory cells coupled to a common word line
US11175853B2 (en) * 2017-05-09 2021-11-16 Samsung Electronics Co., Ltd. Systems and methods for write and flush support in hybrid memory
US10359954B2 (en) 2017-05-31 2019-07-23 Alibaba Group Holding Limited Method and system for implementing byte-alterable write cache
US11221956B2 (en) * 2017-05-31 2022-01-11 Seagate Technology Llc Hybrid storage device with three-level memory mapping
US10074436B1 (en) 2017-06-13 2018-09-11 Winbound Electronics Corp. Memory device and data reading method thereof
US10884926B2 (en) 2017-06-16 2021-01-05 Alibaba Group Holding Limited Method and system for distributed storage using client-side global persistent cache
US10303241B2 (en) 2017-06-19 2019-05-28 Alibaba Group Holding Limited System and method for fine-grained power control management in a high capacity computer cluster
US10678443B2 (en) 2017-07-06 2020-06-09 Alibaba Group Holding Limited Method and system for high-density converged storage via memory bus
US10564856B2 (en) 2017-07-06 2020-02-18 Alibaba Group Holding Limited Method and system for mitigating write amplification in a phase change memory-based storage device
US10613985B2 (en) * 2017-07-06 2020-04-07 Seagate Technology Llc Buffer management in a data storage device wherein a bit indicating whether data is in cache is reset after updating forward table with physical address of non-volatile memory and jettisoning the data from the cache
TWI633434B (zh) * 2017-07-12 2018-08-21 宏碁股份有限公司 管理固態硬碟之方法、系統及電腦可讀取媒體
US10109339B1 (en) 2017-07-28 2018-10-23 Micron Technology, Inc. Memory devices with selective page-based refresh
US11176047B2 (en) * 2017-08-07 2021-11-16 International Business Machines Corporation Data storage system with physical storage and cache memory
US10423508B2 (en) 2017-08-11 2019-09-24 Alibaba Group Holding Limited Method and system for a high-priority read based on an in-place suspend/resume write
US10303601B2 (en) 2017-08-11 2019-05-28 Alibaba Group Holding Limited Method and system for rearranging a write operation in a shingled magnetic recording device
CN107562844A (zh) * 2017-08-25 2018-01-09 苏州市千尺浪信息技术服务有限公司 一种大数据的存储系统
US10496829B2 (en) 2017-09-15 2019-12-03 Alibaba Group Holding Limited Method and system for data destruction in a phase change memory-based storage device
US10642522B2 (en) 2017-09-15 2020-05-05 Alibaba Group Holding Limited Method and system for in-line deduplication in a storage drive based on a non-collision hash
JP2019057178A (ja) * 2017-09-21 2019-04-11 東芝メモリ株式会社 メモリシステムおよび制御方法
JP6785205B2 (ja) * 2017-09-21 2020-11-18 キオクシア株式会社 メモリシステムおよび制御方法
US10789011B2 (en) * 2017-09-27 2020-09-29 Alibaba Group Holding Limited Performance enhancement of a storage device using an integrated controller-buffer
US10503409B2 (en) 2017-09-27 2019-12-10 Alibaba Group Holding Limited Low-latency lightweight distributed storage system
CN111433749B (zh) 2017-10-12 2023-12-08 拉姆伯斯公司 具有dram高速缓存的非易失性物理存储器
US10860334B2 (en) 2017-10-25 2020-12-08 Alibaba Group Holding Limited System and method for centralized boot storage in an access switch shared by multiple servers
JP2019079464A (ja) 2017-10-27 2019-05-23 東芝メモリ株式会社 メモリシステムおよび制御方法
JP6982468B2 (ja) 2017-10-27 2021-12-17 キオクシア株式会社 メモリシステムおよび制御方法
JP7074453B2 (ja) * 2017-10-30 2022-05-24 キオクシア株式会社 メモリシステムおよび制御方法
US10996888B2 (en) * 2017-10-31 2021-05-04 Qualcomm Incorporated Write credits management for non-volatile memory
TWI645289B (zh) 2017-10-31 2018-12-21 慧榮科技股份有限公司 資料儲存裝置以及非揮發式記憶體操作方法
US10445190B2 (en) 2017-11-08 2019-10-15 Alibaba Group Holding Limited Method and system for enhancing backup efficiency by bypassing encoding and decoding
US10877898B2 (en) 2017-11-16 2020-12-29 Alibaba Group Holding Limited Method and system for enhancing flash translation layer mapping flexibility for performance and lifespan improvements
US10387243B2 (en) * 2017-12-08 2019-08-20 Macronix International Co., Ltd. Managing data arrangement in a super block
CN111902806A (zh) * 2017-12-11 2020-11-06 美光科技公司 改进高速缓存的快闪转换层中的垃圾收集效率的方案
KR20190069806A (ko) * 2017-12-12 2019-06-20 에스케이하이닉스 주식회사 메모리 시스템 및 메모리 시스템의 동작 방법
TWI644207B (zh) * 2017-12-29 2018-12-11 國科美國研究實驗室 Method for garbage collection of data storage device
KR20190082513A (ko) * 2018-01-02 2019-07-10 에스케이하이닉스 주식회사 컨트롤러 및 그것의 동작방법
TWI664531B (zh) * 2018-01-25 2019-07-01 矽創電子股份有限公司 快閃記憶體之控制器及控制方法
US10891239B2 (en) 2018-02-07 2021-01-12 Alibaba Group Holding Limited Method and system for operating NAND flash physical space to extend memory capacity
US10496548B2 (en) 2018-02-07 2019-12-03 Alibaba Group Holding Limited Method and system for user-space storage I/O stack with user-space flash translation layer
US10831404B2 (en) 2018-02-08 2020-11-10 Alibaba Group Holding Limited Method and system for facilitating high-capacity shared memory using DIMM from retired servers
US10402112B1 (en) 2018-02-14 2019-09-03 Alibaba Group Holding Limited Method and system for chunk-wide data organization and placement with real-time calculation
KR20190102790A (ko) * 2018-02-27 2019-09-04 에스케이하이닉스 주식회사 컨트롤러 및 그 동작 방법과, 이를 포함하는 메모리 시스템
TWI664527B (zh) 2018-03-20 2019-07-01 慧榮科技股份有限公司 用來於一記憶裝置中進行初始化之方法、記憶裝置及其控制器以及電子裝置
KR102434343B1 (ko) * 2018-04-23 2022-08-22 에스케이하이닉스 주식회사 메모리 컨트롤러 및 이를 포함하는 메모리 시스템
TWI687811B (zh) * 2018-05-14 2020-03-11 慧榮科技股份有限公司 資料儲存裝置及系統資訊的編程方法
WO2019222958A1 (en) 2018-05-24 2019-11-28 Alibaba Group Holding Limited System and method for flash storage management using multiple open page stripes
US10921992B2 (en) 2018-06-25 2021-02-16 Alibaba Group Holding Limited Method and system for data placement in a hard disk drive based on access frequency for improved IOPS and utilization efficiency
WO2020000136A1 (en) 2018-06-25 2020-01-02 Alibaba Group Holding Limited System and method for managing resources of a storage device and quantifying the cost of i/o requests
US10871921B2 (en) 2018-07-30 2020-12-22 Alibaba Group Holding Limited Method and system for facilitating atomicity assurance on metadata and data bundled storage
TWI671631B (zh) 2018-08-01 2019-09-11 大陸商深圳大心電子科技有限公司 記憶體管理方法以及儲存控制器
US10747673B2 (en) 2018-08-02 2020-08-18 Alibaba Group Holding Limited System and method for facilitating cluster-level cache and memory space
US10996886B2 (en) 2018-08-02 2021-05-04 Alibaba Group Holding Limited Method and system for facilitating atomicity and latency assurance on variable sized I/O
TWI676987B (zh) * 2018-08-06 2019-11-11 新唐科技股份有限公司 資料處理系統與資料處理方法
CN110825310B (zh) * 2018-08-09 2023-09-05 深圳大心电子科技有限公司 存储器管理方法以及存储控制器
US10838621B2 (en) * 2018-08-14 2020-11-17 Silicon Motion, Inc. Method and flash memory controller capable of avoiding inefficient memory block swap or inefficient garbage collection
KR102649131B1 (ko) * 2018-08-14 2024-03-19 에스케이하이닉스 주식회사 메모리 시스템 내 대용량 데이터 저장이 가능한 블록에서의 유효 데이터 체크 방법 및 장치
US10628072B2 (en) * 2018-08-21 2020-04-21 Samsung Electronics Co., Ltd. Scalable architecture enabling large memory system for in-memory computations
TWI684130B (zh) * 2018-08-22 2020-02-01 慧榮科技股份有限公司 資料儲存裝置
CN110858127B (zh) 2018-08-22 2023-09-12 慧荣科技股份有限公司 数据存储装置
TWI768346B (zh) * 2018-09-07 2022-06-21 慧榮科技股份有限公司 資料儲存裝置以及非揮發式記憶體控制方法
US11327929B2 (en) 2018-09-17 2022-05-10 Alibaba Group Holding Limited Method and system for reduced data movement compression using in-storage computing and a customized file system
CN110968528A (zh) * 2018-09-30 2020-04-07 北京忆恒创源科技有限公司 应用统一缓存架构为非易失存储介质组装数据
US10852948B2 (en) 2018-10-19 2020-12-01 Alibaba Group Holding System and method for data organization in shingled magnetic recording drive
KR20200046495A (ko) * 2018-10-24 2020-05-07 에스케이하이닉스 주식회사 메모리 시스템 및 그것의 동작방법
CN111124270B (zh) 2018-10-31 2023-10-27 伊姆西Ip控股有限责任公司 缓存管理的方法、设备和计算机程序产品
US10795586B2 (en) 2018-11-19 2020-10-06 Alibaba Group Holding Limited System and method for optimization of global data placement to mitigate wear-out of write cache and NAND flash
JP2020086748A (ja) * 2018-11-21 2020-06-04 Tdk株式会社 メモリコントローラ、及びメモリシステム
US10769018B2 (en) 2018-12-04 2020-09-08 Alibaba Group Holding Limited System and method for handling uncorrectable data errors in high-capacity storage
US10884654B2 (en) 2018-12-31 2021-01-05 Alibaba Group Holding Limited System and method for quality of service assurance of multi-stream scenarios in a hard disk drive
US10977122B2 (en) 2018-12-31 2021-04-13 Alibaba Group Holding Limited System and method for facilitating differentiated error correction in high-density flash devices
US11061735B2 (en) 2019-01-02 2021-07-13 Alibaba Group Holding Limited System and method for offloading computation to storage nodes in distributed system
US11132291B2 (en) 2019-01-04 2021-09-28 Alibaba Group Holding Limited System and method of FPGA-executed flash translation layer in multiple solid state drives
US11455402B2 (en) 2019-01-30 2022-09-27 Seagate Technology Llc Non-volatile memory with precise write-once protection
US11200337B2 (en) 2019-02-11 2021-12-14 Alibaba Group Holding Limited System and method for user data isolation
TWI718635B (zh) * 2019-03-04 2021-02-11 慧榮科技股份有限公司 非對稱型平面管理方法以及資料儲存裝置及其控制器
CN111651371B (zh) 2019-03-04 2023-06-16 慧荣科技股份有限公司 非对称型平面管理方法以及数据存储装置及其控制器
TWI732192B (zh) * 2019-03-20 2021-07-01 點序科技股份有限公司 記憶體管理方法及記憶體儲存裝置
US10944697B2 (en) 2019-03-26 2021-03-09 Microsoft Technology Licensing, Llc Sliding window buffer for minimum local resource requirements
US10922234B2 (en) 2019-04-11 2021-02-16 Alibaba Group Holding Limited Method and system for online recovery of logical-to-physical mapping table affected by noise sources in a solid state drive
US10908960B2 (en) 2019-04-16 2021-02-02 Alibaba Group Holding Limited Resource allocation based on comprehensive I/O monitoring in a distributed storage system
US11288007B2 (en) * 2019-05-16 2022-03-29 Western Digital Technologies, Inc. Virtual physical erase of a memory of a data storage device
US11169873B2 (en) 2019-05-21 2021-11-09 Alibaba Group Holding Limited Method and system for extending lifespan and enhancing throughput in a high-density solid state drive
TWI745695B (zh) * 2019-05-22 2021-11-11 慧榮科技股份有限公司 用來進行無預警斷電復原管理之方法、記憶裝置及其控制器以及電子裝置
US11036411B2 (en) * 2019-06-24 2021-06-15 Western Digital Technologies, Inc. Yield improvement through block budget optimization by using a transient pool of multi-level blocks
CN112130749B (zh) * 2019-06-25 2023-12-22 慧荣科技股份有限公司 数据储存装置以及非挥发式存储器控制方法
US11481119B2 (en) * 2019-07-15 2022-10-25 Micron Technology, Inc. Limiting hot-cold swap wear leveling
US10860223B1 (en) 2019-07-18 2020-12-08 Alibaba Group Holding Limited Method and system for enhancing a distributed storage system by decoupling computation and network tasks
US11126561B2 (en) 2019-10-01 2021-09-21 Alibaba Group Holding Limited Method and system for organizing NAND blocks and placing data to facilitate high-throughput for random writes in a solid state drive
US11188261B2 (en) * 2019-11-18 2021-11-30 International Business Machines Corporation Memory controllers for solid-state storage devices
KR20210083914A (ko) * 2019-12-27 2021-07-07 에스케이하이닉스 주식회사 메모리 시스템에서의 쓰기 레이턴시 관리 방법 및 장치
US11042307B1 (en) 2020-01-13 2021-06-22 Alibaba Group Holding Limited System and method for facilitating improved utilization of NAND flash based on page-wise operation
US11449455B2 (en) 2020-01-15 2022-09-20 Alibaba Group Holding Limited Method and system for facilitating a high-capacity object storage system with configuration agility and mixed deployment flexibility
TWI744049B (zh) * 2020-02-06 2021-10-21 瑞昱半導體股份有限公司 記憶體控制器與資料處理方法
US10923156B1 (en) 2020-02-19 2021-02-16 Alibaba Group Holding Limited Method and system for facilitating low-cost high-throughput storage for accessing large-size I/O blocks in a hard disk drive
US10872622B1 (en) 2020-02-19 2020-12-22 Alibaba Group Holding Limited Method and system for deploying mixed storage products on a uniform storage infrastructure
US11150986B2 (en) 2020-02-26 2021-10-19 Alibaba Group Holding Limited Efficient compaction on log-structured distributed file system using erasure coding for resource consumption reduction
US11144250B2 (en) 2020-03-13 2021-10-12 Alibaba Group Holding Limited Method and system for facilitating a persistent memory-centric system
US11200114B2 (en) 2020-03-17 2021-12-14 Alibaba Group Holding Limited System and method for facilitating elastic error correction code in memory
US11385833B2 (en) 2020-04-20 2022-07-12 Alibaba Group Holding Limited Method and system for facilitating a light-weight garbage collection with a reduced utilization of resources
US11281575B2 (en) 2020-05-11 2022-03-22 Alibaba Group Holding Limited Method and system for facilitating data placement and control of physical addresses with multi-queue I/O blocks
US11461262B2 (en) 2020-05-13 2022-10-04 Alibaba Group Holding Limited Method and system for facilitating a converged computation and storage node in a distributed storage system
US11494115B2 (en) 2020-05-13 2022-11-08 Alibaba Group Holding Limited System method for facilitating memory media as file storage device based on real-time hashing by performing integrity check with a cyclical redundancy check (CRC)
US11218165B2 (en) 2020-05-15 2022-01-04 Alibaba Group Holding Limited Memory-mapped two-dimensional error correction code for multi-bit error tolerance in DRAM
CN111459850B (zh) * 2020-05-18 2023-08-15 北京时代全芯存储技术股份有限公司 记忆体装置以及运作方法
US11556277B2 (en) 2020-05-19 2023-01-17 Alibaba Group Holding Limited System and method for facilitating improved performance in ordering key-value storage with input/output stack simplification
US11507499B2 (en) 2020-05-19 2022-11-22 Alibaba Group Holding Limited System and method for facilitating mitigation of read/write amplification in data compression
US11263132B2 (en) 2020-06-11 2022-03-01 Alibaba Group Holding Limited Method and system for facilitating log-structure data organization
US11354200B2 (en) 2020-06-17 2022-06-07 Alibaba Group Holding Limited Method and system for facilitating data recovery and version rollback in a storage device
US11422931B2 (en) 2020-06-17 2022-08-23 Alibaba Group Holding Limited Method and system for facilitating a physically isolated storage unit for multi-tenancy virtualization
US11354233B2 (en) 2020-07-27 2022-06-07 Alibaba Group Holding Limited Method and system for facilitating fast crash recovery in a storage device
KR20220021772A (ko) * 2020-08-14 2022-02-22 에스케이하이닉스 주식회사 메모리 시스템 및 이에 포함된 메모리 장치의 동작 방법
US11372774B2 (en) 2020-08-24 2022-06-28 Alibaba Group Holding Limited Method and system for a solid state drive with on-chip memory integration
TWI741779B (zh) * 2020-09-04 2021-10-01 群聯電子股份有限公司 資料整併方法、記憶體儲存裝置及記憶體控制電路單元
US11487465B2 (en) 2020-12-11 2022-11-01 Alibaba Group Holding Limited Method and system for a local storage engine collaborating with a solid state drive controller
RU2752782C1 (ru) * 2020-12-18 2021-08-03 Акционерное Общество "Крафтвэй Корпорэйшн Плс" Способ записи секторных данных в кэш-память
US11734115B2 (en) 2020-12-28 2023-08-22 Alibaba Group Holding Limited Method and system for facilitating write latency reduction in a queue depth of one scenario
US11416365B2 (en) 2020-12-30 2022-08-16 Alibaba Group Holding Limited Method and system for open NAND block detection and correction in an open-channel SSD
WO2022165828A1 (en) 2021-02-08 2022-08-11 Yangtze Memory Technologies Co., Ltd. On-die static random-access memory (sram) for caching logical to physical (l2p) tables
TWI811633B (zh) * 2021-02-09 2023-08-11 新唐科技股份有限公司 電子裝置與其操作方法
TWI808384B (zh) * 2021-02-23 2023-07-11 慧榮科技股份有限公司 儲存裝置、快閃記憶體控制器及其控制方法
TWI821152B (zh) * 2021-02-23 2023-11-01 慧榮科技股份有限公司 儲存裝置、快閃記憶體控制器及其控制方法
US11726699B2 (en) 2021-03-30 2023-08-15 Alibaba Singapore Holding Private Limited Method and system for facilitating multi-stream sequential read performance improvement with reduced read amplification
US11567935B2 (en) * 2021-03-30 2023-01-31 Google Llc Conditional response fulfillment cache for locally responding to automated assistant inputs
US11461173B1 (en) 2021-04-21 2022-10-04 Alibaba Singapore Holding Private Limited Method and system for facilitating efficient data compression based on error correction code and reorganization of data placement
US11476874B1 (en) 2021-05-14 2022-10-18 Alibaba Singapore Holding Private Limited Method and system for facilitating a storage server with hybrid memory for journaling and data storage
US11899977B2 (en) 2022-03-10 2024-02-13 Silicon Motion, Inc. Method and apparatus for performing access management of memory device with aid of serial number assignment timing control
CN117348909B (zh) * 2023-12-04 2024-02-27 成都佰维存储科技有限公司 一种eMMC升级方法、芯片、设备及存储介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1930635A (zh) * 2003-12-30 2007-03-14 桑迪士克股份有限公司 对多个区块进行适应性确定群组以成为多个多区块单元

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3328321B2 (ja) * 1992-06-22 2002-09-24 株式会社日立製作所 半導体記憶装置
US5404485A (en) * 1993-03-08 1995-04-04 M-Systems Flash Disk Pioneers Ltd. Flash file system
JP3197815B2 (ja) * 1996-04-15 2001-08-13 インターナショナル・ビジネス・マシーンズ・コーポレ−ション 半導体メモリ装置及びその制御方法
JP4085478B2 (ja) * 1998-07-28 2008-05-14 ソニー株式会社 記憶媒体及び電子機器システム
US6901499B2 (en) * 2002-02-27 2005-05-31 Microsoft Corp. System and method for tracking data stored in a flash memory device
US7386700B2 (en) * 2004-07-30 2008-06-10 Sandisk Il Ltd Virtual-to-physical address translation in a flash file system
US7386655B2 (en) * 2004-12-16 2008-06-10 Sandisk Corporation Non-volatile memory and method with improved indexing for scratch pad and update blocks
TWI312112B (en) * 2005-12-30 2009-07-11 Ind Tech Res Inst Data managing method, method and apparatus to snapshot data for multiple volumes to a single snapshot volume in a data processing system
JP4700562B2 (ja) * 2006-05-18 2011-06-15 株式会社バッファロー データ記憶装置およびデータ記憶方法
JP4682261B2 (ja) * 2006-09-15 2011-05-11 サンディスク コーポレイション 不揮発性メモリおよびクラスベースの更新ブロック置換規則のための方法
KR100817087B1 (ko) * 2007-02-13 2008-03-27 삼성전자주식회사 플래시 메모리를 구비하는 스토리지 장치에서의 버퍼 캐시운용 방법
CN101256535B (zh) * 2007-03-01 2011-03-09 创惟科技股份有限公司 硬盘资料读写快取装置及方法
US7934052B2 (en) * 2007-12-27 2011-04-26 Pliant Technology, Inc. System and method for performing host initiated mass storage commands using a hierarchy of data structures
TWI375953B (en) * 2008-02-21 2012-11-01 Phison Electronics Corp Data reading method for flash memory, controller and system therof
CN101477492B (zh) * 2009-01-21 2010-12-29 华中科技大学 一种用于固态硬盘的循环重写闪存均衡方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1930635A (zh) * 2003-12-30 2007-03-14 桑迪士克股份有限公司 对多个区块进行适应性确定群组以成为多个多区块单元

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI597605B (zh) * 2016-07-11 2017-09-01 慧榮科技股份有限公司 用於資料儲存裝置的損耗平均方法
US9830098B1 (en) 2016-07-11 2017-11-28 Silicon Motion, Inc. Method of wear leveling for data storage device
US10031698B2 (en) 2016-07-11 2018-07-24 Silicon Motion, Inc. Method of wear leveling for data storage device
TWI625626B (zh) * 2016-12-14 2018-06-01 旺宏電子股份有限公司 管理記憶體裝置中記憶體單元的實體資訊的方法及系統

Also Published As

Publication number Publication date
TW201510722A (zh) 2015-03-16
TWI474167B (zh) 2015-02-21
US20110055458A1 (en) 2011-03-03
CN104298610B (zh) 2017-07-11
US8688894B2 (en) 2014-04-01
CN104298610A (zh) 2015-01-21
TW201510723A (zh) 2015-03-16
TWI553475B (zh) 2016-10-11
CN102012867A (zh) 2011-04-13
TW201122812A (en) 2011-07-01
TWI551989B (zh) 2016-10-01

Similar Documents

Publication Publication Date Title
CN102012867B (zh) 资料储存系统
US10430084B2 (en) Multi-tiered memory with different metadata levels
US10838859B2 (en) Recency based victim block selection for garbage collection in a solid state device (SSD)
CN106547703B (zh) 一种基于块组结构的ftl优化方法
CN102646069B (zh) 一种延长固态盘使用寿命的方法
CN102508788B (zh) Ssd及ssd垃圾回收方法和装置
CN106776376B (zh) 缓冲存储器管理方法、存储器控制电路单元及存储装置
CN109710541B (zh) 针对NAND Flash主控芯片Greedy垃圾回收的优化方法
TWI399644B (zh) 非揮發記憶體區塊管理方法
US20110225347A1 (en) Logical block storage in a storage device
CN103631536B (zh) 一种利用ssd的无效数据优化raid5/6写性能的方法
CN106557432B (zh) 缓冲存储器管理方法、存储器控制电路单元及存储装置
CN104598386B (zh) 通过追踪和利用二级映射索引重复利用固态驱动器块
CN109671458A (zh) 管理闪存模块的方法及相关的闪存控制器
CN109240939B (zh) 一种快速处理固态硬盘trim的方法
CN109582593A (zh) 一种基于计算的ftl地址映射方法及数据读、写方法
CN105260325A (zh) 固态硬盘搜集垃圾区块的方法
CN109669889B (zh) 一种轻量型Nor Flash闪存控制方法和装置
CN103136111B (zh) 数据写入方法、存储器控制器与存储器储存装置
CN107797772A (zh) 一种基于闪存介质的垃圾回收系统及方法
CN113010091B (zh) 数据写入固态硬盘的方法、垃圾回收的方法、装置
CN101833519B (zh) 一种减少存储技术设备中地址映射表常驻内存的方法
CN113253926A (zh) 提升新型存储器的查询和存储性能的存储内索引构建方法
KR101191650B1 (ko) 낸드 플래시 메모리에서 데이터의 주소를 사상시키는 장치 및 방법
CN115630001A (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
ASS Succession or assignment of patent right

Owner name: JINGXIANFENG TECHNOLOGY CO., LTD.

Free format text: FORMER OWNER: 248 SOLID STATE INC.

Effective date: 20131230

C41 Transfer of patent application or patent right or utility model
COR Change of bibliographic data

Free format text: CORRECT: ADDRESS; TO: TAIWAN, CHINA

TA01 Transfer of patent application right

Effective date of registration: 20131230

Address after: ZTE in the two street Hsinchu County Taiwan Richwood China jhubei City, a 5 floor No. 158

Applicant after: Pioneer Chip Technology Ltd.

Address before: California Santa Clara Scarlett Road No. 3375 room 128

Applicant before: 248 Solid State, Inc.

C14 Grant of patent or utility model
GR01 Patent grant
CP01 Change in the name or title of a patent holder
CP01 Change in the name or title of a patent holder

Address after: ZTE in the two street Hsinchu County Taiwan Richwood China jhubei City, a 5 floor No. 158

Patentee after: PIONEER CHIP TECHNOLOGY, LTD.

Address before: ZTE in the two street Hsinchu County Taiwan Richwood China jhubei City, a 5 floor No. 158

Patentee before: Pioneer Chip Technology Ltd.

CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20141224

Termination date: 20210903