CN105528299A - 读取命令排程方法以及使用该方法的装置 - Google Patents
读取命令排程方法以及使用该方法的装置 Download PDFInfo
- Publication number
- CN105528299A CN105528299A CN201410514010.7A CN201410514010A CN105528299A CN 105528299 A CN105528299 A CN 105528299A CN 201410514010 A CN201410514010 A CN 201410514010A CN 105528299 A CN105528299 A CN 105528299A
- Authority
- CN
- China
- Prior art keywords
- mentioned
- comparisons
- access interface
- reading order
- physical holding
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 32
- 238000003860 storage Methods 0.000 claims abstract description 67
- 239000000872 buffer Substances 0.000 claims description 25
- 238000010586 diagram Methods 0.000 description 20
- 101000648827 Homo sapiens TPR and ankyrin repeat-containing protein 1 Proteins 0.000 description 4
- 102100028173 TPR and ankyrin repeat-containing protein 1 Human genes 0.000 description 4
- 230000004913 activation Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 241001269238 Data Species 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- CXOXHMZGEKVPMT-UHFFFAOYSA-N clobazam Chemical compound O=C1CC(=O)N(C)C2=CC=C(Cl)C=C2N1C1=CC=CC=C1 CXOXHMZGEKVPMT-UHFFFAOYSA-N 0.000 description 1
- 239000013078 crystal Substances 0.000 description 1
- 239000006185 dispersion Substances 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 239000010410 layer Substances 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000004242 micellar liquid chromatography Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 229940044442 onfi Drugs 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 239000002356 single layer Substances 0.000 description 1
- 238000004809 thin layer chromatography Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- 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/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
- 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
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/65—Details of virtual memory and virtual address translation
-
- 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/68—Details of translation look-aside buffer [TLB]
-
- 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)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提出一种读取命令排程方法,由处理单元执行,包含下列步骤。通过第一存取介面从主装置接收多个逻辑读取命令,而每一个逻辑读取命令请求读取一个逻辑地址的数据。从高阶对照表取得关联于逻辑地址的多个对照表区块的第一实际储存位置,并驱动第二存取介面从第一实际储存位置读取对照表区块。从对照表区块取得关联于逻辑地址的多个第二实际储存位置,并驱动第二存取介面依据第二实际储存位置从储存单元读取数据。驱动第一存取介面将关联于逻辑地址的数据敲出给主装置。
Description
技术领域
本发明有关于一种快闪存储器装置,特别是一种读取命令排程方法以及使用该方法的装置。
背景技术
快闪存储器装置通常分为NOR快闪装置与NAND快闪装置。NOR快闪装置为随机存取装置,而可于地址脚位上提供任何的地址,用以存取NOR快闪装置的主装置(host),并及时地由NOR快闪装置的数据脚位上获得储存于该地址上的数据。相反地,NAND快闪装置并非随机存取,而是串行存取。NAND快闪装置无法像NOR快闪装置一样,可以存取任何随机地址,主装置反而需要写入串行的比特字节(bytes)的值到NAND快闪装置中,用以定义请求命令(command)的类型(如,读取、写入、抹除等),以及用在此命令上的地址。地址可指向一个页面(在快闪存储器中的一个写入作业的最小数据块)或一个区块(在快闪存储器中的一个抹除作业的最小数据块)。实际上,NAND快闪装置通常从存储器单元(memorycells)上读取或写入完整的数页数据。当一整页的数据从阵列读取到装置中的缓存器(buffer)后,藉由使用提取信号(strobesignal)顺序地敲出(clockout)内容,让主单元可逐比特字节或字元组(words)存取数据。降低快闪存储器装置的制造成本一直是被关注的议题,其中包含如何节省动态随机存取存储器的空间。本发明于不使用动态随机存取存储器来储存对照表的硬件架构上,提出一种读取命令排程方法以及使用该方法的装置。
发明内容
本发明的实施例提出一种读取命令排程方法,由处理单元执行,包含下列步骤。通过第一存取介面从主装置接收多个逻辑读取命令,而每一个逻辑读取命令请求读取一个逻辑地址的数据。从高阶对照表取得关联于逻辑地址的多个对照表区块的第一实际储存位置,并驱动第二存取介面从第一实际储存位置读取对照表区块。从对照表区块取得关联于逻辑地址的多个第二实际储存位置,并驱动第二存取介面依据第二实际储存位置从储存单元读取数据。驱动第一存取介面将关联于逻辑地址的数据敲出给主装置。
本发明的实施例另提出一种读取命令排程装置,至少包含两个存取介面以及处理单元。第一存取介面耦接于主装置,而第二存取介面耦接于储存单元。处理单元通过第一存取介面从主装置接收多个逻辑读取命令,而每一个逻辑读取命令请求读取一个逻辑地址的数据。处理单元从高阶对照表取得关联于逻辑地址的多个对照表区块的第一实际储存位置,以及驱动第二存取介面从储存单元中的第一实际储存位置读取对照表区块。处理单元从对照表区块取得关联于逻辑地址的多个第二实际储存位置,以及驱动第二存取介面依据第二实际储存位置从储存单元读取数据。最后,处理单元驱动第一存取介面将关联于逻辑地址的数据敲出给主装置。
附图说明
图1是依据本发明实施例的快闪存储器的系统架构示意图。
图2是依据本发明实施例的快闪存储器中的储存单元示意图。
图3是依据本发明实施例的存取介面与储存单元的方块图。
图4是依据本发明实施例的一个存取子介面与多个储存子单元的连接示意图。
图5是依据本发明实施例的执行于处理单元中的逻辑读取命令排程方法流程图。
图6是依据本发明实施例的逻辑读取命令示意图。
图7是依据本发明实施例的高阶对照表示意图。
图8A是依据本发明实施例的对照表区块的实际储存示意图。
图8B是依据本发明实施例的对照表区块及数据的实际储存示意图。
图9A和9B是依据本发明实施例的先进先出队列示意图。
符号说明
10系统;110处理单元;
120数据缓存器;130对照表缓存器;
140先进先出队列;150存取介面;
160主装置;170存取介面;
170_0~170_j存取子介面;
180储存单元;
180_0_0~180_j_i储存子单元;
210存储器单元阵列;
220行解码单元;230列编码单元;
240地址单元;250数据缓存器;
410_0数据线;
420_0_0~420_0_i芯片致能控制信号;
S511~S531方法步骤;
600_0~600_7逻辑读取命令;
700高阶对照表;
700_0~700_k记录;
T0~Tk对照表区块;
901~904、911~914、921~924实际读取命令。
具体实施方式
以下说明是为完成发明的较佳实现方式,其目的在于描述本发明的基本精神,但并不用以限定本发明。实际的发明内容必须参考之后的权利要求范围。
必须了解的是,使用于本说明书中的”包含”、”包括”等词,用以表示存在特定的技术特征、数值、方法步骤、作业处理、元件以及/或组件,但并不排除可加上更多的技术特征、数值、方法步骤、作业处理、元件、组件,或以上的任意组合。
于权利要求中使用如”第一”、"第二"、"第三"等词是用来修饰权利要求中的元件,并非用来表示之间具有优先权顺序,先行关系,或者是一个元件先于另一个元件,或者是执行方法步骤时的时间先后顺序,仅用来区别具有相同名字的元件。
图1是依据本发明实施例的快闪存储器的系统架构示意图。快闪存储器的系统架构10中包含处理单元110,用以写入数据到储存单元180中的指定地址,以及从储存单元180中的指定地址读取数据。详细来说,处理单元110通过存取介面170写入数据到储存单元180中的指定地址,以及从储存单元180中的指定地址读取数据。系统架构10使用数个电子信号来协调处理单元110与储存单元180间的数据与命令传递,包含数据线(dataline)、时脉信号(clocksignal)与控制信号(controlsignal)。数据线可用以传递命令、地址、读出及写入的数据;控制信号线可用以传递芯片致能(chipenable,CE)、地址提取致能(addresslatchenable,ALE)、命令提取致能(commandlatchenable,CLE)、写入致能(writeenable,WE)等控制信号。存取介面170可采用双倍数据率(doubledatarate,DDR)通信协定与储存单元180沟通,例如,开放NAND快闪(openNANDflashinterface,ONFI)、双倍数据率开关(DDRtoggle)或其他介面。处理单元110另可使用存取介面150通过指定通信协定与主装置160进行沟通,例如,通用串行总线(universalserialbus,USB)、先进技术附着(advancedtechnologyattachment,ATA)、串行先进技术附着(serialadvancedtechnologyattachment,SATA)、快速周边元件互联(peripheralcomponentinterconnectexpress,PCI-E)或其他介面。
图2是依据本发明实施例的快闪存储器中的储存单元示意图。储存单元180可包含由MxN个存储器单元(memorycells)组成的阵列(array)210,而每一个存储器单元储存至少一个比特(bit)的资讯。快闪存储器可以是NAND型快闪存储器,或其他种类的快闪存储器。为了正确存取资讯,行解码单元220用以选择存储器单元阵列210中指定的行,而列编码单元230用以选择指定行中一定数量的比特字节的数据作为输出。地址单元240提供行资讯给行解码器220,其中定义了选择存储器单元阵列210中的那些行。相似地,列解码器230则根据地址单元240提供的列资讯,选择存储器单元阵列210的指定行中一定数量的列进行读取或写入操作。行可称为为字元线(wordline),列可称为比特线(bitline)。数据缓存器(databuffer)250可储存从存储器单元阵列210读取出的数据,或欲写入存储器单元阵列210中的数据。存储器单元可为单层式单元(single-levelcells,SLCs)、多层式单元(multi-levelcells,MLCs)或三层式单元(triple-levelcells,TLCs)。
储存单元180可包含多个储存子单元,每一个储存子单元实施于一个晶粒(die)上,各自使用关联的存取子介面与处理单元110进行沟通。图3是依据本发明实施例的存取介面与储存单元的方块图。快闪存储器10可包含j+1个存取子介面170_0至170_j,存取子介面又可称为通道(channel),每一个存取子介面连接i+1个储存子单元。换句话说,i+1个储存子单元共享一个存取子介面。例如,当快闪存储器10包含4个通道(j=3)且每一个通道连接4个储存单元(i=3)时,快闪存储器10一共拥有16个储存单元180_0_0至180_j_i。处理单元110可驱动存取子介面170_0至170_j中之一,从指定的储存子单元读取数据。每个储存子单元拥有独立的芯片致能(CE)控制信号。换句话说,当欲对指定的储存子单元进行数据读取时,需要驱动关联的存取子介面致能此储存子单元的芯片致能控制信号。图4是依据本发明实施例的一个存取子介面与多个储存子单元的连接示意图。处理单元110可通过存取子介面170_0使用独立的芯片致能控制信号420_0_0至420_0_i来从连接的储存子单元180_0_0至180_0_i中选择出其中一者,接着,通过共享的数据线410_0从选择出的储存子单元的指定位置读取数据。
主装置160可通过存取介面150提供逻辑区块地址(LBA,LogicalBlockAddress)给处理单元110,用以指示写入或读取特定区域的数据。存取介面170为最佳化数据写入的效率,可将一段具有连续逻辑区块地址的数据分散地摆放在不同储存子单元中的不同区域。因此,需要一个对照表(又称为H2F表),用以指出每个逻辑区块地址的数据实际上存放在哪个储存子单元中的哪个位置。在一种实施方式中,可于动态随机存取存储器中配置足够大的空间来储存此对照表。然而,这将会占用一部分动态随机存取存储器的资源,并且需要一段前置时间将整个对照表载入到动态随机存取存储器中。在另一种实施方式中,可将对照表切割成指定数量的对照表区块(H2Fsegments),例如,32个对照表区块,并分散储存于储存子单元180_0_0至180_j_i。每一个对照表区块记录对应于一段逻辑区块地址的数据实际储存于哪个储存子单元中的哪个位置的资讯,而此资讯可以区块编号(blocknumber)加上页面编号(pagenumber)表示。快闪存储器的系统架构10中另包含对照表缓存器130,用以储存高阶对照表(high-levelmappingtable),包含多笔记录,用以储存每一个对照表区块实际储存于哪个储存子单元中的哪个位置的资讯,而此资讯同样可以区块编号加上页面编号表示。对照表缓存器130为非挥发性储存空间(non-volatilestoragespace),其中储存的高阶对照表并不会因断电而遗失。而于每次接收到主装置160发出的读取命令及读取逻辑区块地址时,处理单元110先从对照表缓存器130中的高阶对照表取得关联于读取逻辑区块地址的对照表区块的实际储存位置,并将读取此实际储存位置的命令储存至先进先出队列(FIFOqueue)140,使得存取介面170可依据先进先出队列140的命令从指定储存子单元中的指定位置上读取处理单元110需要的对照表区块,并搬到数据缓存器120。接着,处理单元110从对照表区块取得关联于读取逻辑区块地址的实际储存位置,并将读取此实际储存位置的命令储存至先进先出队列140,使得存取介面170可依据先进先出队列140的命令从指定储存子单元中的指定位置上读取主装置160所请求的数据,并搬到数据缓存器120。熟悉本技术领域者了解一个先进先出子队列可对应于一个储存子单元,用以储存相应于此储存子单元的读取命令。当主装置160所请求的数据成功地被搬到数据缓存器120后,处理单元110驱动存取介面150将数据缓存器120中的数据敲出给主装置160。于此须注意的是,从主装置160发出的读取命令与逻辑区块地址可分别称为逻辑读取命令与逻辑读取地址,储存至先进先出队列140的读取命令与实际储存位置可分别称为实际读取命令与实际读取地址。此外,当一个实际读取命令被执行完后,此命令将被移出先进先出队列140。
为了实现如图1所示的快闪存储器的系统架构10,需要一种方法来针对多笔的逻辑读取命令进行排程。图5是依据本发明实施例的执行于处理单元中的逻辑读取命令排程方法流程图。处理单元110经由存取介面150接收主装置160所发出的多笔逻辑读取命令及逻辑读取地址后(步骤S511),从对照表缓存器130中的高阶对照表取得关联于逻辑读取地址的对照表区块的实际储存位置(步骤S513)。图6是依据本发明实施例的逻辑读取命令示意图。在一个例子中,处理单元110经由存取介面150接收主装置160所发出的八笔逻辑读取命令(LR,LogicalRead)600_0至600_7,分别请求读取LBA0、LBA1、LBA100、LBA101、LBA200、LBA201、LBA300及LBA301的数据。图7是依据本发明实施例的高阶对照表示意图。高阶对照表700可包含k笔记录700_0至700_k,每一笔记录储存一个对照表区块的实际储存位置的资讯Addr(Tl),其中l为0到k的任意整数,此资讯可以区块编号(blocknumber)加上页面编号(pagenumber)表示。例如,记录700_0记录第0个对照表区块T0的实际储存位置资讯Addr(T0);记录700_1记录第1个对照表区块T1的实际储存位置资讯Addr(T1),依此类推。每一个对照表区块储存一段连续逻辑区块地址的实际储存位置资讯。例如,对照表区块T0记录LBA0~99的实际储存位置资讯;对照表区块T1记录LBA100~199的实际储存位置资讯,依此类推。图8A是依据本发明实施例的对照表区块的实际储存示意图。于一个例子中,存取子介面170_0连接四个储存子单元180_0_0至180_0_3。于步骤S513中,例如,处理单元110使用一个数学公式n=m/100,其中,m代表逻辑区块地址,n为一个代表对照表区块编号的整数,得知关联于逻辑读取地址LBA0~1、LBA100~101、LBA200~201、LBA300~301的对照表区块分别为T0、T1、T2及T3。接着,从对照表缓存器130中的高阶对照表700取得关联于逻辑读取地址600_0至600_7的对照表区块T0至T3的实际储存位置Addr(T0)至Addr(T3)。范例的对照表区块T0至T3的实际储存位置可参考图8A。处理单元110接着储存读取实际储存位置的实际读取命令至先进先出队列140(步骤S515)。图9A是依据本发明实施例的先进先出队列示意图。范例的先进先出队列140包含四个子队列140_0至140_3,分别关联于储存子单元180_0_0至180_0_3并储存用以读取对照表区块T0至T3的实际读取命令(PR,PhysicalRead)901至904。接着,处理单元110驱动存取介面170依据先进先出队列140中的实际读取命令读取所需的对照表区块并储存至数据缓存器120(步骤S517)。参考第9A图的范例,详细来说,处理单元110驱动存取子介面170_0依据子队列140_0中的实际读取命令901从储存子单元180_0_0的实际储存位置Addr(T0)读取对照表区块T0,依据子队列140_1中的实际读取命令902从储存子单元180_0_1的实际储存位置Addr(T1)读取对照表区块T1,依据子队列140_2中的实际读取命令903从储存子单元180_0_2的实际储存位置Addr(T2)读取对照表区块T2,并且,依据子队列140_3中的实际读取命令904从储存子单元180_0_3的实际储存位置Addr(T3)读取对照表区块T3,并且将对照表区块T0至T3储存至数据缓存器120。
于所有需要的对照表区块准备完成后,处理单元110反复执行一个回圈,用以依据主装置160请求的逻辑读取命令从对照表区块取得实际读取位置并且将读取这些位置的实际读取命令储存至先进先出队列140,直到所有的逻辑读取命令都处理完毕。于每一次的回圈中,详细来说,处理单元110从数据缓存器120中的对照表区块取得关联于一个逻辑读取地址的实际储存位置(步骤S521),并且储存读取此实际储存位置的实际读取命令至先进先出队列140(步骤S523)。接着,判断是否处理完所有的逻辑数据读取命令(步骤S531),是则回到步骤S511继续下一批次的多笔逻辑数据读取命令的处理,否则回到步骤S521继续处理下一个逻辑数据读取命令。图8B是依据本发明实施例的对照表区块及数据的实际储存示意图。于步骤S521执行时,处理单元110从对照表区块T0知道LBA0及LBA1的数据分别被实际储存于储存子单元180_0_0及180_0_1中;从对照表区块T1知道LBA100及LBA101的数据分别被储存于储存子单元180_0_0及180_0_2中;从对照表区块T2知道LBA200及LBA201的数据分别被储存于储存子单元180_0_1及180_0_3中;以及从对照表区块T3知道LBA300及LBA301的数据分别被储存于储存子单元180_0_2及180_0_3中。图9B是依据本发明实施例的先进先出队列示意图。于步骤S523执行时,处理单元110分别将LBA0及LBA1的实际读取命令911及912分别储存至子队列140_0及140_1;将LBA100及LBA101的实际读取命令921及913分别储存至子队列140_0及140_2;将LBA200及LBA201的实际读取命令922及914分别储存至子队列140_1及140_3;以及将LBA300及LBA301的实际读取命令923及924分别储存至子队列140_2及140_3。于此须注意的是,处理单元110可于实际读取命令储存完成后的适当时间点,驱动存取子介面170_0依据子队列140_0至140_3中的任一的实际读取命令从关联的储存子单元的实际储存位置Addr(LBAx)读取主装置160所请求的数据并储存至数据缓存器120,以及驱动存取介面150从数据缓存器120读取数据并敲出给主装置160。于一个例子中,处理单元110可于每次储存一笔实际读取命令至关联的子队列后,驱动存取子介面170_0以及存取介面150来完成如上的操作。于另一个例子中,处理单元110可于每次侦测到每一个子队列140_0至140_3皆储存至少一笔实际读取命令后,驱动存取子介面170_0依序从储存子单元180_0_0至180_0_3读取数据,如读取实际储存位置Addr(LBA0)、Addr(LBA1)、Addr(LBA101)及Addr(LBA201)的数据。之后,处理单元110依据逻辑读取命令的顺序驱动存取介面150逐一从数据缓存器120读取数据并敲出给主装置160。
虽然图1至4中包含了以上描述的元件,但不排除在不违反发明的精神下,使用更多其他的附加元件,已达成更佳的技术效果。此外,虽然图5的流程图采用指定的顺序来执行,但是在不违法发明精神的情况下,熟悉本技术领域者可以在达到相同效果的前提下,修改这些步骤间的顺序,所以,本发明并不局限于仅使用如上所述的顺序。此外,熟悉本技术领域者亦可以将若干步骤整合为一个步骤,或者是除了这些步骤外,循序或平行地执行更多步骤,本发明亦不因此而局限。
虽然本发明使用以上实施例进行说明,但需要注意的是,这些描述并非用以限缩本发明。相反地,此发明涵盖了熟悉本技术领域者显而易见的修改与相似设置。所以,申请权利要求范围须以最宽广的方式解释来包含所有显而易见的修改与相似设置。
Claims (16)
1.一种读取命令排程方法,由一处理单元执行,包含:
通过一第一存取介面从一主装置接收多个逻辑读取命令,每一上述逻辑读取命令请求读取一逻辑地址的数据;
从一高阶对照表取得关联于上述逻辑地址的多个对照表区块的一第一实际储存位置;
驱动一第二存取介面从一储存单元中的上述第一实际储存位置读取上述对照表区块;
从上述对照表区块取得关联于上述逻辑地址的多个第二实际储存位置;
驱动上述第二存取介面依据上述第二实际储存位置从上述储存单元读取数据;以及
驱动上述第一存取介面将关联于上述逻辑地址的数据敲出给上述主装置。
2.如权利要求1所述的读取命令排程方法,其特征在于,上述储存单元包含多个储存子单元,以及每一上述储存子单元关联一子队列。
3.如权利要求2所述的读取命令排程方法,其特征在于,于驱动一第二存取介面从一储存单元中的上述第一实际储存位置读取上述对照表区块的步骤中,还包含:
将读取上述第一实际储存位置的多个实际读取命令储存至上述子队列;以及
驱动上述第二存取介面依据上述子队列中的每一上述实际读取命令从上述储存子单元中之一的上述第一实际储存位置读取上述对照表区块,以及储存至一数据缓存器。
4.如权利要求2所述的读取命令排程方法,其特征在于,于驱动上述第二存取介面依据上述第二实际储存位置从上述储存单元读取关联于上述逻辑地址的数据的步骤中,还包含:
将读取上述第二实际储存位置的多个实际读取命令储存至上述子队列;以及
驱动上述第二存取介面依据上述子队列中的每一上述实际读取命令从上述储存子单元中之一的上述第二实际储存位置读取数据,以及储存至一数据缓存器。
5.如权利要求2所述的读取命令排程方法,其特征在于,上述储存子单元被独立的芯片致能控制信号控制,以及共享一数据线。
6.如权利要求1所述的读取命令排程方法,其特征在于,上述高阶对照表包含多笔记录,每一上述记录储存关联于一段逻辑地址区间的上述对照表区块的上述第一实际储存位置。
7.如权利要求1所述的读取命令排程方法,其特征在于,上述逻辑地址以逻辑区块地址表示。
8.如权利要求1所述的读取命令排程方法,其特征在于,上述第一实际储存位置或上述第二实际储存位置以一区块编号加上一页面编号表示。
9.一种读取命令排程装置,包含:
一第一存取介面,耦接于一主装置;
一第二存取介面,耦接于一储存单元;以及
一处理单元,耦接于上述第一存取介面及上述第二存取介面,通过上述第一存取介面从上述主装置接收多个逻辑读取命令,每一上述逻辑读取命令请求读取一逻辑地址的数据;从一高阶对照表取得关联于上述逻辑地址的多个对照表区块的一第一实际储存位置;驱动上述第二存取介面从上述储存单元中的上述第一实际储存位置读取上述对照表区块;从上述对照表区块取得关联于上述逻辑地址的多个第二实际储存位置;驱动上述第二存取介面依据上述第二实际储存位置从上述储存单元读取数据;以及驱动上述第一存取介面将关联于上述逻辑地址的数据敲出给上述主装置。
10.如权利要求11所述的读取命令排程装置,其特征在于,上述储存单元包含多个储存子单元,以及每一上述储存子单元关联一子队列。
11.如权利要求10所述的读取命令排程装置,其特征在于,上述处理单元还将读取上述第一实际储存位置的多个实际读取命令储存至上述子队列;以及驱动上述第二存取介面依据上述子队列中的每一上述实际读取命令从上述储存子单元中之一的上述第一实际储存位置读取上述对照表区块,以及储存上述对照表区块至一数据缓存器。
12.如权利要求10所述的读取命令排程装置,其特征在于,上述处理单元还驱动上述第二存取介面依据上述子队列中的每一上述实际读取命令从上述储存子单元中之一的上述第二实际储存位置读取数据,以及储存上述数据至一数据缓存器。。
13.如权利要求10所述的读取命令排程装置,其特征在于,上述储存子单元被独立的芯片致能控制信号控制,以及共享一数据线。
14.如权利要求9所述的读取命令排程装置,其特征在于,上述高阶对照表包含多笔记录,每一上述记录储存关联于一段逻辑地址区间的上述对照表区块的上述第一实际储存位置。
15.如权利要求9所述的读取命令排程装置,其特征在于,上述逻辑地址以逻辑区块地址表示。
16.如权利要求9所述的读取命令排程装置,其特征在于,上述第一实际储存位置或上述第二实际储存位置以一区块编号加上一页面编号表示。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810530348.XA CN108733580A (zh) | 2014-09-05 | 2014-09-29 | 读取命令排程方法 |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW103130718A TWI512609B (zh) | 2014-09-05 | 2014-09-05 | 讀取命令排程方法以及使用該方法的裝置 |
TW103130718 | 2014-09-05 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810530348.XA Division CN108733580A (zh) | 2014-09-05 | 2014-09-29 | 读取命令排程方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105528299A true CN105528299A (zh) | 2016-04-27 |
CN105528299B CN105528299B (zh) | 2018-06-29 |
Family
ID=55407820
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810530348.XA Pending CN108733580A (zh) | 2014-09-05 | 2014-09-29 | 读取命令排程方法 |
CN201410514010.7A Active CN105528299B (zh) | 2014-09-05 | 2014-09-29 | 读取命令排程方法以及使用该方法的装置 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810530348.XA Pending CN108733580A (zh) | 2014-09-05 | 2014-09-29 | 读取命令排程方法 |
Country Status (3)
Country | Link |
---|---|
US (3) | US9785546B2 (zh) |
CN (2) | CN108733580A (zh) |
TW (1) | TWI512609B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107918571A (zh) * | 2016-10-08 | 2018-04-17 | 上海宝存信息科技有限公司 | 测试储存单元的方法以及使用该方法的装置 |
CN108959108A (zh) * | 2017-05-26 | 2018-12-07 | 上海宝存信息科技有限公司 | 固态硬盘访问方法以及使用该方法的装置 |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10222990B2 (en) * | 2015-07-24 | 2019-03-05 | Sandisk Technologies Llc | Optimistic read operation |
US10623523B2 (en) * | 2018-05-18 | 2020-04-14 | Oracle International Corporation | Distributed communication and task handling to facilitate operations of application system |
CN112214158B (zh) * | 2019-07-10 | 2024-03-22 | 慧荣科技股份有限公司 | 主机输出输入命令的执行装置及方法及计算机可读取存储介质 |
CN110428858B (zh) * | 2019-07-11 | 2021-09-24 | 清华大学 | 基于具有滞回特性器件的静态存储器 |
CN111176566B (zh) * | 2019-12-25 | 2023-09-19 | 山东方寸微电子科技有限公司 | 一种支持queue命令的eMMC读写控制方法及存储介质 |
CN113849867B (zh) * | 2021-08-31 | 2024-02-23 | 浪潮电子信息产业股份有限公司 | 一种加密芯片 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1389790A (zh) * | 2001-06-04 | 2003-01-08 | 三星电子株式会社 | 闪速存储器管理方法 |
US20030065899A1 (en) * | 2001-09-28 | 2003-04-03 | Gorobets Sergey Anatolievich | Memory system sectors |
CN1648879A (zh) * | 2004-01-28 | 2005-08-03 | 三星电子株式会社 | 自适应垃圾收集方法及设备 |
US20080098195A1 (en) * | 2006-10-19 | 2008-04-24 | Cheon Won-Moon | Memory system including flash memory and mapping table management method |
US7594062B2 (en) * | 2002-07-26 | 2009-09-22 | Samsung Electronics., Ltd. | Method for changing data of a data block in a flash memory having a mapping area, a data area and an alternative area |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6785793B2 (en) * | 2001-09-27 | 2004-08-31 | Intel Corporation | Method and apparatus for memory access scheduling to reduce memory access latency |
TWI240863B (en) * | 2003-09-05 | 2005-10-01 | Megawin Technology Co Ltd | Method for efficiently controlling flash memory read/write |
US7433931B2 (en) * | 2004-11-17 | 2008-10-07 | Raytheon Company | Scheduling in a high-performance computing (HPC) system |
US7337293B2 (en) * | 2005-02-09 | 2008-02-26 | International Business Machines Corporation | Streaming reads for early processing in a cascaded memory subsystem with buffered memory devices |
US7711923B2 (en) * | 2006-06-23 | 2010-05-04 | Microsoft Corporation | Persistent flash memory mapping table |
TWI335517B (en) * | 2006-08-25 | 2011-01-01 | Via Tech Inc | Method of requests access and scheduling and related apparatus thereof |
US7917702B2 (en) * | 2007-07-10 | 2011-03-29 | Qualcomm Incorporated | Data prefetch throttle |
US20090165008A1 (en) * | 2007-12-19 | 2009-06-25 | Aten International Co., Ltd. | Apparatus and method for scheduling commands from host systems |
CN101533663B (zh) * | 2008-03-11 | 2014-07-16 | 深圳市朗科科技股份有限公司 | 提高闪存介质数据存取速度的方法 |
US8055816B2 (en) * | 2009-04-09 | 2011-11-08 | Micron Technology, Inc. | Memory controllers, memory systems, solid state drives and methods for processing a number of commands |
US8984247B1 (en) * | 2012-05-10 | 2015-03-17 | Western Digital Technologies, Inc. | Storing and reconstructing mapping table data in a data storage system |
US9170932B1 (en) * | 2012-05-22 | 2015-10-27 | Western Digital Technologies, Inc. | System data storage mechanism providing coherency and segmented data loading |
TWI544334B (zh) * | 2012-05-30 | 2016-08-01 | 慧榮科技股份有限公司 | 資料儲存裝置與資料儲存裝置操作方法 |
US20160011790A1 (en) * | 2014-07-14 | 2016-01-14 | Sandisk Technologies Inc. | Systems and methods to enable access to a host memory associated with a unified memory architecture (uma) |
-
2014
- 2014-09-05 TW TW103130718A patent/TWI512609B/zh active
- 2014-09-29 CN CN201810530348.XA patent/CN108733580A/zh active Pending
- 2014-09-29 CN CN201410514010.7A patent/CN105528299B/zh active Active
-
2015
- 2015-06-12 US US14/738,481 patent/US9785546B2/en active Active
-
2017
- 2017-05-08 US US15/589,483 patent/US10042756B2/en active Active
-
2018
- 2018-07-10 US US16/031,598 patent/US10725902B2/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1389790A (zh) * | 2001-06-04 | 2003-01-08 | 三星电子株式会社 | 闪速存储器管理方法 |
US20030065899A1 (en) * | 2001-09-28 | 2003-04-03 | Gorobets Sergey Anatolievich | Memory system sectors |
US7594062B2 (en) * | 2002-07-26 | 2009-09-22 | Samsung Electronics., Ltd. | Method for changing data of a data block in a flash memory having a mapping area, a data area and an alternative area |
CN1648879A (zh) * | 2004-01-28 | 2005-08-03 | 三星电子株式会社 | 自适应垃圾收集方法及设备 |
US20080098195A1 (en) * | 2006-10-19 | 2008-04-24 | Cheon Won-Moon | Memory system including flash memory and mapping table management method |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107918571A (zh) * | 2016-10-08 | 2018-04-17 | 上海宝存信息科技有限公司 | 测试储存单元的方法以及使用该方法的装置 |
CN107918571B (zh) * | 2016-10-08 | 2021-04-30 | 上海宝存信息科技有限公司 | 测试储存单元的方法以及使用该方法的装置 |
CN108959108A (zh) * | 2017-05-26 | 2018-12-07 | 上海宝存信息科技有限公司 | 固态硬盘访问方法以及使用该方法的装置 |
US10936482B2 (en) | 2017-05-26 | 2021-03-02 | Shannon Systems Ltd. | Methods for controlling SSD (solid state disk) and apparatuses using the same |
CN108959108B (zh) * | 2017-05-26 | 2021-08-24 | 上海宝存信息科技有限公司 | 固态硬盘访问方法以及使用该方法的装置 |
Also Published As
Publication number | Publication date |
---|---|
TWI512609B (zh) | 2015-12-11 |
CN105528299B (zh) | 2018-06-29 |
US20180322044A1 (en) | 2018-11-08 |
CN108733580A (zh) | 2018-11-02 |
TW201610834A (zh) | 2016-03-16 |
US9785546B2 (en) | 2017-10-10 |
US20170242787A1 (en) | 2017-08-24 |
US20160070653A1 (en) | 2016-03-10 |
US10725902B2 (en) | 2020-07-28 |
US10042756B2 (en) | 2018-08-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10628319B2 (en) | Methods for caching and reading data to be programmed into a storage unit and apparatuses using the same | |
CN105528299A (zh) | 读取命令排程方法以及使用该方法的装置 | |
US10466908B2 (en) | Memory system that buffers data before writing to nonvolatile memory | |
TWI473116B (zh) | 多通道記憶體儲存裝置及其控制方法 | |
US11086568B2 (en) | Memory system for writing fractional data into nonvolatile memory | |
KR101431205B1 (ko) | 캐시 메모리 장치 및 캐시 메모리 장치의 데이터 처리 방법 | |
US10168951B2 (en) | Methods for accessing data in a circular block mode and apparatuses using the same | |
CN111796759B (zh) | 多平面上的片段数据读取的计算机可读取存储介质及方法 | |
US9971546B2 (en) | Methods for scheduling read and write commands and apparatuses using the same | |
CN107797755B (zh) | 固态硬盘系统的原子写入方法以及使用该方法的装置 | |
CN111158579A (zh) | 固态硬盘及其数据存取的方法 | |
CN101515221A (zh) | 一种读数据的方法、装置和系统 | |
US9990280B2 (en) | Methods for reading data from a storage unit of a flash memory and apparatuses using the same | |
US20180275915A1 (en) | Methods for regular and garbage-collection data access and apparatuses using the same | |
CN107797756A (zh) | 固态硬盘系统的优先写入方法以及使用该方法的装置 | |
CN106155914A (zh) | 实体储存对照表维护方法以及使用该方法的装置 | |
CN104714892B (zh) | 数据存取命令执行方法以及使用该方法的快闪存储器装置 | |
TWI631565B (zh) | 快閃記憶體之廢料收集方法以及使用該方法的裝置 | |
CN106855789B (zh) | 快闪存储器的废料收集方法以及使用该方法的装置 | |
CN108536475B (zh) | 完整编程命令处理方法与装置 | |
US10387076B2 (en) | Methods for scheduling data-programming tasks and apparatuses using the same | |
US11194514B2 (en) | Just in time data placement in NAND flash | |
US20240201900A1 (en) | Memory device and storage device including the same | |
US20110302355A1 (en) | Mapping and writting method in memory device with multiple memory chips |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |