CN111813703A - 数据储存装置及逻辑至物理地址映射表的更新方法 - Google Patents
数据储存装置及逻辑至物理地址映射表的更新方法 Download PDFInfo
- Publication number
- CN111813703A CN111813703A CN201910402944.4A CN201910402944A CN111813703A CN 111813703 A CN111813703 A CN 111813703A CN 201910402944 A CN201910402944 A CN 201910402944A CN 111813703 A CN111813703 A CN 111813703A
- Authority
- CN
- China
- Prior art keywords
- mapping table
- group mapping
- unit number
- lun
- data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000013507 mapping Methods 0.000 title claims abstract description 151
- 238000013500 data storage Methods 0.000 title claims abstract description 37
- 238000000034 method Methods 0.000 title claims abstract description 22
- 230000004044 response Effects 0.000 claims abstract description 14
- 238000010586 diagram Methods 0.000 description 14
- 101150028119 SPD1 gene Proteins 0.000 description 13
- 230000007246 mechanism Effects 0.000 description 12
- 238000012545 processing Methods 0.000 description 11
- 230000005540 biological transmission Effects 0.000 description 3
- 238000013523 data management Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 101150084884 spd2 gene Proteins 0.000 description 2
- 238000013519 translation Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000002035 prolonged effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Images
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/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/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
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
-
- 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/10—Providing a specific technical effect
- G06F2212/1041—Resource optimization
- G06F2212/1044—Space efficiency improvement
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7201—Logical to physical mapping or translation of blocks or pages
Abstract
本发明涉及一种数据储存装置及逻辑至物理地址映射表的更新方法。该数据储存装置包括:一快闪存储器及一存储器控制器。快闪存储器用以储存一逻辑至物理地址映射表(L2P表),划分为多个群组映射表。快闪存储器包括第一逻辑单元编号(LUN)及第二逻辑单元编号,分别由第一芯片致能信号及第二芯片致能信号所控制。存储器控制器将一写入指令的多笔页面数据组成一超级页面数据,并依序致能第一芯片致能信号及第二芯片致能信号以将超级页面数据分段写入至第一LUN及第二LUN。响应于超级页面数据已写入至第一LUN及第二LUN,存储器控制器是由第一LUN或第二LUN读取至少一群组映射表至动态随机存取存储器。
Description
技术领域
本发明有关于一种数据储存装置,特别是有关于一种数据储存装置及逻辑至物理地址映射表的更新方法。
背景技术
快闪存储器装置通常分为NOR快闪装置与NAND快闪装置。NOR快闪装置为随机存取装置,而可于地址脚位上提供任何的地址,用以存取NOR快闪装置的主装置(host),并及时地由NOR快闪装置的数据脚位上获得储存于该地址上的数据。相反地,NAND快闪装置并非随机存取,而是序列存取。NAND快闪装置无法像NOR快闪装置一样,可以存取任何随机地址,主装置反而需要写入序列的位元组(bytes)的值到NAND快闪装置中,用以定义请求命令(command)的类型(如,读取、写入、抹除等),以及用在此命令上的地址。地址可指向一个页面(在快闪存储器中的一个写入作业的最小数据块)或一个区块(在快闪存储器中的一个抹除作业的最小数据块)。实际上,NAND快闪装置通常从存储器单元(memory cells)上读取或写入完整的数页数据。当一整页的数据从阵列读取到装置中的缓存器(buffer)后,藉由使用提取信号(strobe signal)顺序地敲出(clock out)内容,让主单元可逐位元组或字元组(words)存取数据。
然而,随着NAND快闪存储器的容量增加,若在控制器端的动态随机存取存储器要完整记录NAND快闪存储器的整个逻辑至物理地址映射表,动态随机存取存储器的容量需求也相当大,这会造成成本增加。若采用容量较小的动态随机存取存储器,控制器在执行写入指令时,需要经常置换并更新在动态随机存取存储器中的群组映射表。然而,传统的数据储存装置从快闪存储器读取写入指令所需的群组映射表往往会打断写入指令在写入超级页面时的交错机制,造成写入效能的损失。
因此,需要一种数据储存装置及逻辑至物理地址映射表的更新方法以解决上述问题。
发明内容
本发明提供一种数据储存装置。数据储存装置包括:一快闪存储器、一动态随机存取存储器、及一存储器控制器。快闪存储器用以储存一逻辑至物理地址映射表,其中该逻辑至物理地址映射表划分为多个群组映射表,快闪存储器包括一第一逻辑单元编号及一第二逻辑单元编号分别由一第一芯片致能信号及一第二芯片致能信号所控制。动态随机存取存储器用以储存一部分的这些群组映射表。存储器控制器用以接收来自一主机的一写入指令,并将该写入指令的多笔页面数据组成一超级页面数据。存储器控制器依序致能第一芯片致能信号及第二芯片致能信号以将超级页面数据分段写入至第一逻辑单元编号及第二逻辑单元编号。响应于超级页面数据已写入至第一逻辑单元编号及第二逻辑单元编号,存储器控制器由第一逻辑单元编号或第二逻辑单元编号读取至少一群组映射表至动态随机存取存储器。
在一些实施例中,当致能第一芯片致能信号以将该超级页面数据的一第一区段写入至第一逻辑单元编号且相应于至少一群组映射表的一第一读取指令已储存于一指令伫列中,存储器控制器等待第一逻辑单元编号进入编程阶段后,致能第二芯片致能信号以将超级页面数据的一第二区段写入至第二逻辑单元编号;以及响应于超级页面数据已写入至第一逻辑单元编号及第二逻辑单元编号,存储器控制器是执行第一读取指令由第一逻辑单元编号或该第二逻辑单元编号读取至少一群组映射表至动态随机存取存储器。
在一些实施例中,在执行该第一读取指令由第一逻辑单元编号或第二逻辑单元编号读取至少一群组映射表至动态随机存取存储器后,存储器控制器更依据写入指令的这些页面数据的多个逻辑地址及写入至第一逻辑单元编号及第二逻辑单元编号的多个物理地址以更新至少一群组映射表。其中该预定条件为在该动态随机存取存储器中的已更新的该第一群组映射表的数量达到一预定数量。
本发明还提供一种逻辑至物理地址映射表的更新方法,用于一数据储存装置,其中该数据储存装置包括一快闪存储器及一动态随机存取存储器,该快闪存储器用以储存一逻辑至物理地址映射表,其中该逻辑至物理地址映射表划分为多个群组映射表,其中该快闪存储器包括一第一逻辑单元编号及一第二逻辑单元编号分别由一第一芯片致能信号及一第二芯片致能信号所控制,该方法包括:将来自一主机的一写入指令的多笔页面数据组成一超级页面数据;依序致能该第一芯片致能信号及该第二芯片致能信号以将该超级页面数据分段写入至该第一逻辑单元编号及该第二逻辑单元编号;以及响应于该超级页面数据已写入至该第一逻辑单元编号及该第二逻辑单元编号,由该第一逻辑单元编号或该第二逻辑单元编号读取至少一群组映射表至该动态随机存取存储器。
附图说明
图1是显示依据本发明一实施例中的电子系统的方块图。
图2为依据本发明一实施例的存取接口与储存单元的方块图。
图3为依据本发明一实施例的一个存取子接口与多个LUN的连接示意图。
图4为依据本发明一实施例中的逻辑至物理地址映射表及群组映射表的示意图。
图5A为依据本发明一实施例中的快闪存储器的写入操作的交错机制的示意图。
图5B及5C为依据本发明一实施例中的快闪存储器的写入操作的交错机制加入读取动作的示意图。
图5D及5E为依据本发明另一实施例中的快闪存储器的写入操作的交错机制加入读取动作的示意图。
图6是显示依据本发明一实施例中的逻辑至物理地址映射表的更新方法的流程图。
符号说明
100~电子系统;
120~主机;
140~数据储存装置;
150~存取接口;
160~存储器控制器;
162~处理单元;
163~储存单元;
164~启动程序;
166~静态随机存取存储器;
170~存取接口;
180~快闪存储器;
181~快闪转译层;
190~动态随机存取存储器;
170_0-170_j~存取子接口;
180_0_0-180_j_i~逻辑单元编号;
320_0_0-320_0_i~芯片致能控制信号;
400~逻辑至物理地址映射表;
401~群组映射表;
420~第一预定空间;
430~第二预定空间;
t1~t18~时间;
CE0-CE3~芯片致能信号;
CH0-CH3~通道;
Ts~设定时间;
Tprog~编程时间;
TCMD~载入时间;
TDMA~传输时间;
SPD1_0-SP1_15、SPD2_0-SP2_15~页面数据;
S510-S530、S610-S660~步骤。
具体实施方式
为使本发明的上述目的、特征和优点能更明显易懂,下文特举一较佳实施例,并配合附图,作详细说明如下。
图1是显示依据本发明一实施例中的电子系统的方块图。电子系统100例如可为一个人电脑(personal computer)、一数据伺服器(data server)、一网络附加储存装置(network-attached storage,NAS),一可携式电子装置(portable electronic device)等等,但本发明并不限于此。可携式电子装置例如可为一笔记型电脑、手持行动电话、智慧型手机、平板电脑、个人数位助理(personal digital assistant,PDA)、数位相机(digitalcamera)、数位摄影机(digital video camera)、可携式多媒体播放器(portablemultimedia player)、个人导航装置(personal navigation device)、手持游戏主机(handheld game console)、电子书(e-book)等等,但本发明并不限于此。
电子系统100包括主机(host)120以及数据储存装置140。数据储存装置140包括存储器控制器160、快闪存储器180以及动态随机存取存储器190。存储器控制器160包括处理单元162、储存单元163、静态随机存取存储器(Static Random Access Memory,SRAM)166。处理单元162可使用多种方式实施,例如专用硬件电路或通用硬件实现(例如,单一处理器、具平行处理能力的多处理器或其他具运算能力的处理器)、上述实现方式例如可为通用处理器(general-purpose processor)、或微控制器(microcontroller),但本发明并不限于此。另外,动态随机存取存储器190为非必要元件,并且可被主机存储器缓存(Host MemoryBuffer,HMB)所替代。另外,一般而言,动态随机存取存储器190的数据储存空间大于静态随机存取存储器166。
存储器控制器160中的处理单元162可根据主机120所下达的命令操作,透过存取接口170写入数据到快闪存储器180中的指定地址,或是从快闪存储器180的指定地址(实体地址)读取数据。
处理单元162与快闪存储器180间的数据与命令传递是透过数个电子信号进行协调,上述电子信号包括数据线(data line)、时脉信号(clock signal)与控制信号(controlsignal)。数据线可用以传递命令、地址、读出及写入的数据;控制信号线可用以传递芯片致能(chip enable,CE)、地址提取致能(address latch enable,ALE)、命令提取致能(command latch enable,CLE)、写入致能(write enable,WE)等控制信号。
存取接口170可采用双倍数据率(double data rate,DDR)通讯协定与快闪存储器180沟通,例如,开放NAND快闪(open NAND flash interface,ONFI)、双倍数据率开关(DDRtoggle)或其他接口。处理单元162另可使用存取接口150透过指定通讯协定与主机120进行沟通,例如,通用串行总线(universal serial bus,USB)、先进技术附着(advancedtechnology attachment,ATA)、序列先进技术附着(serial advanced technologyattachment,SATA)、快速周边元件互联(peripheral component interconnect express,PCI-E)、非挥发性存储器的传输规范(Non-Volatile Memory Express,NVMe)或其他接口。
储存单元163可为非挥发性存储器,例如为只读存储器(read-only memory,ROM)、可擦除式可程序化只读存储器(erasable programmable read-only memory,EPROM)、电子可擦除式可程序化只读存储器(electrically erasable programmable read-onlymemory,EEPROM)或电子熔丝(E-Fuse)。储存单元163是储存一启动程序164,其包括启动码(Boot Code)或启动程序(Bootloader),且可由处理单元162执行,存储器控制器160基于启动程序164而完成开机,并开始控制该快闪存储器180的运作,例如,读取线上烧录(InSystem Programming,ISP)码。
快闪存储器180例如为NAND快闪存储器,且快闪存储器180可划分为多个逻辑单元(logic unit),且各逻辑单元具有相应的逻辑单元编号(Logical Unit Number,LUN),且各逻辑单元(LUN)分别使用关联的存取子接口与处理单元162进行沟通。在一些实施例中,各LUN可包括一或多个快闪存储器晶粒或平面(plane),且各平面包括多个物理区块。
图2为依据本发明实施例的存取接口与储存单元的方块图。数据储存装置140可包含j+1个存取子接口170_0至170_j,存取子接口又可称为通道(channel),每一个存取子接口连接i+1个LUN。换句话说,i+1个LUN共享一个存取子接口。例如,当数据储存装置140包含4个通道(j=3)且每一个通道连接4个储存单元(i=3)时,快闪存储器180一共拥有16个LUN180_0_0至180_j_i。处理单元162可驱动存取子接口170_0至170_j中之一者,从指定的LUN读取数据。每个LUN拥有独立的芯片致能(CE)控制信号。
换句话说,当欲对指定的LUN进行数据读取时,需要驱动关联的存取子接口致能此LUN的芯片致能控制信号。图3为依据本发明实施例的一个存取子接口与多个LUN的连接示意图。处理单元162可透过存取子接口170_0使用独立的芯片致能控制信号320_0_0至320_0_i来从连接的LUN180_0_0至180_0_i中选择出其中一者,接着,透过共享的数据线310_0从选择出的LUN的指定位置读取数据。
将数据写入至快闪存储器180的过程又称为数据编程(Programming),数据编程是以页面(Page)为单位,一个页面可写入(储存)一笔页面数据;抺写则是以区块(Block)为单位。页面的大小例如16KB,一个页面可分成4个区段(Sectors),则区段的大小例如4KB。
在一实施例中,为了增进数据储存装置140的效能,存储器控制器160将多个区块虚拟成一个超级区块,并将一个超级区块中位于不同区块的多个页面虚拟成一个超级页面(Super Page,SP),并改以超级页面SP作为数据编程的单位,则一个超级页面SP可写入(储存)一笔超级页面数据SPD。举例来说,若快闪存储器180是采用1路4通道的架构,例如图2的快闪存储器180的架构为i=0及j=3,则一个超级页面SP包括4个页面,此时一个超级页面SP可储存4笔页面数据。若快闪存储器180是采用4路2通道的架构,例如图2的快闪存储器180的架构为i=3及j=1,则一个超级页面SP包括8个页面,此时一个超级页面SP可储存8笔页面数据,依此类推。为了便于说明,下述中快闪存储器180的架构以4路4通道为例,意即在图2的快闪存储器180的架构为i=3及j=3,但不以此为限。
在一实施例中,主机120命令数据储存装置140读取或写入512B或4KB大小的数据(使用者数据),并以逻辑地址作为数据的索引。逻辑地址例如可为逻辑区块地址(logicalblock address,LBA)、全域主机页编号(global host page,GHP)、主机区块(host block)、主机页(host page)等等。数据储存装置140运作时,存储器控制器160较佳以区段大小(4KB)来管理来自于主机120的数据,并建立/更新逻辑至物理地址映射表(L2P表),L2P表是标示逻辑地址至物理空间的映射资讯,以回应来自主机120的指令。
如果动态随机存取存储器190的容量有限,或是数据储存装置140并未配置有动态随机存取存储器190而使用主机存储器缓存,因此,无法将整个L2P表载入动态随机存取存储器190或主机存储器缓存(Host Memory Buffer,HMB)。在此条件下,存储器控制器160仅将部分L2P表载入动态随机存取存储器190或主机存储器缓存。
图4为依据本发明一实施例中的L2P表及群组映射表的示意图。在一实施例中,L2P表400例如可均等划分为多个群组(Group)映射表401,例如:1024个群组映射表401。群组映射表401的大小例如为4K位元组,假设群组映射表401的每一栏位(Entry)大小为4位元组,则群组映射表401可记录1024笔映射资讯。为了方便群组的管理,一个群组映射表的大小较佳等于或小于页面大小或区段大小,与数据管理的单位一致。
存储器控制器160例如可将逻辑至物理地址映射表400中的部分的群组映射表401储存至动态随机存取存储器190中的第一预定空间420,例如,可将16个群组映射表401储存至第一预定空间420,如图4所示。
存储器控制器160是由主机120接收一或多个存取指令以存取储存于快闪存储器180中的数据,上述存取指令例如可为写入指令、读取指令、修剪(Trim)指令等等。举例来说,写入指令带有64个逻辑地址(可由逻辑起始地址加上63个逻辑地址数量来表示)以及64笔数据,则存储器控制器160可以将此64笔数据写入一个超级页面中,并更新此64个逻辑地址在L2P表中的内容。
在一实施例中,假定存储器控制器160所接收来自主机120的存取指令为写入指令,存储器控制器160会先判断上述存取指令的各逻辑地址相应的群组映射表401是否已储存于动态随机存取存储器190中。若上述存取指令的各逻辑地址相应的每一群组映射表401已储存于动态随机存取存储器190中,则存储器控制器160直接存取或更新动态随机存取存储器190中的群组映射表401;如果相应的群组映射表401尚未储存于动态随机存取存储器190中,则控制器160会从快闪存储器180读取相应的群组映射表401至动态随机存取存储器190中,例如采用一预定置换(Swap)机制以将所读取的群组映射表401置换原本储存于动态随机存取存储器190的群组映射表401。其中,上述预定置换机制例如可为最近最少使用(least recently used,LRU)演算法、最近最不常用(least frequently used,LFU)演算法、先进先出(first-in-first-out,FIFO)演算法、二次机会演算法、等等,但本发明并不限于此。
图5A为依据本发明一实施例中的快闪存储器的交错编程(InterleavingProgramming)机制的示意图。数据编程包括设定阶段(setup phase)及编程阶段(programming phase),而交错编程机制为一种加速数据编程的方式,使位于同一通道上的不同区块轮流置于设定阶段以及编程阶段,达到节省设定阶段或编程阶段所需的时间。以芯片致能信号CE0为例,在设定阶段,存储器控制器160是将芯片致能信号CE0设定为低逻辑状态,并输出ALE、CLE、WE等操作指令以选取位于通道CH0~CH3中LUN的4个区块。接着,存储器控制器160将超级页面数据SP1的4笔页面数据分别传输至通道CH0~CH3中LUN的4个区块,其中,设定阶段所花费的时间例如称为设定时间Ts。在设定阶段,存储器控制器160命令上述4个区块将接收的页面数据写入至指定的页面(实体地址),其中,编程阶段所花费的时间例如称为编程时间Tprog。当上述区块置于编程阶段时,存储器控制器160将芯片致能信号CE0设定为高逻辑状态,将芯片致能信号CE1设定为低逻辑状态,使通道CH0~CH3中另外4个区块进入设定阶段。其中,此4个区块与前4个区块较佳置于不同的LUN中。如此一来,位于同一通道上的不同区块可轮流置于设定阶段以及编程阶段。
在一种实施例中,存储器控制器160仅以单一芯片致能信号来控制位于同一通道CH中的LUN,但以实体地址作为LUN的区块的选取的依据。
当存储器控制器160从主机120接收存取指令(例如为写入指令)时,存储器控制器160较佳以超级页面SP作为数据管理的单位。因为快闪存储器180的架构为4路4通道,故一个超级页面数据SPD包括16笔页面数据(64笔区段数据),存储器控制器160分批或依序将16笔页面数据写入至快闪存储器180的16个物理页面中。举例来说,欲将超级页面数据SPD1写入至快闪存储器180,存储器控制器160先致能芯片致能信号CE0,并将超级页面数据SPD1的4笔页面数据分别写入至不同通道的4个物理页面中,再依上述方法,依序致能芯片致能信号CE1~CE3,将剩下的12笔页面数据分别写入另外12个物理页面中。
需注意的是,由同一个芯片致能控制信号CE所控制的4个LUN一旦进入了编程阶段,则这些LUN会处于忙碌(busy)状态,且需等到这些LUN的编程阶段结束后,这些LUN才会离开忙碌状态而进入准备(Ready)状态,此时,存储器控制器160才能再对这些LUN进行其他操作,例如读取或写入操作。
举例来说,当存储器控制器160在执行第一写入指令时,在时间t1、t2、t3、及t4可以分别将芯片致能信号CE0、CE1、CE2、CE3设定为低逻辑状态以进入设定阶段,并分别传输页面数据至各芯片通道CH0~CH3的区块,例如,在时间t1分别传输超级页面数据SPD1的页面数据SPD1_0~3至通道CH0~CH3的4个区块,在时间t2分别传输超级页面数据SPD1的页面数据SPD1_4~7至通道CH0~CH3的4个区块,在时间t3分别传输超级页面数据SPD1的页面数据SPD1_8~11至通道CH0~CH3的4个区块,在时间t4分别传输超级页面数据SPD1的页面数据SPD1_12~15至通道CH0~CH3的4个区块,其中在时间t1、t2、t3、及t4的两两相邻的间隔即为设定时间Ts。
在时间t5,芯片致能信号CE3所控制的通道CH0~CH3的4个区块的设定阶段结束后,存储器控制器160令此4个区块进入编程阶段。当此4个区块完成编程阶段(从忙碌状态进入准备状态),超级页面数据SPD1的编程结束(完成)。
在时间t6,由于芯片致能信号CE0所控制的通道CH0~CH3的4个区块已完成编程阶段(时间t2至t6的编程时间Tprog),存储器控制器160可以开始超级页面数据SPD2的编程。举例来说,在时间t6,存储器控制器160是将芯片致能信号CE0设定为低逻辑状态,并输出ALE、CLE、WE等操作指令以选取位于通道CH0~CH3的4个区块,并将超级页面数据SPD2的4笔页面数据SPD2_0~SPD2_3分别传输至此4个区块,再重复上述的步骤,即可完成超级页面数据SPD2的编程。
然而,由于数据储存装置140中的动态随机存取存储器190的空间仅能储存16个群组映射表401,为了确保群组映射表401内容的正确性,因此,存储器控制器160在写入页面数据后,会立刻更新群组映射表401的内容。然而,这将造成数据写入以及读取的冲突。例如,存储器控制器160由主机120接收写入指令,例如是写入一64笔区段数据。当执行此写入指令时,存储器控制器160将64笔区段数据作为超级页面数据SPD1,再依序将超级页面数据SPD1的16笔页面数据写入快闪存储器180。在写入超级页面数据SPD1的过程中,超级页面数据SPD1的逻辑地址至物理地址映射关系也会依序改变,因此,存储器控制器160需要更新一或多个群组映射表401的内容,再将更新后的群组映射表401写入至快闪存储器180。如果需要更新的群组映射表401不在动态随机存取存储器190中,则存储器控制器160需要先从快闪存储器180读取需要更新的群组映射表401。若愈多需要更新的群组映射表401不在动态随机存取存储器190中,存储器控制器160需要消耗愈多时间从快闪存储器180读取群组映射表401,相同地,需要消耗愈多时间将更新后群组映射表401写入至快闪存储器180。
如上所述,群组映射表401的更新与超级页面数据SPD的写入产生了冲突。另外,一般而言,存储器控制器160会以较高优先权或是利用中断信号来执行读取指令,包括来自主机120或存储器控制器160自主产生的读取指令。当然,存储器控制器160亦可以依序执行在指令伫列中的指令,指令伫列例如可储存于一指令缓冲器(未绘示)。如图5B所示,在时间t2,存储器控制器160从通道CH0相应的LUN读取一个群组映射表401,读取指令包括:指令载入阶段(载入时间TCMD)以及数据传输阶段(传输时间TDMA)。需注意的是,为了执行读取指令,超级页面数据SPD1的交错写入操作被迫中断,必需等到时间t8,存储器控制器160才能继续致能芯片致能信号CE1、CE2、或CE3以进行剩余页面数据SPD1_4~SPD1_15的写入。这会导致芯片致能信号CE1、CE2、或CE3的通道CH0~CH3的LUN的编程阶段无法与芯片致能信号CE0的通道CH0~CH3的LUN的编程阶段充分重迭,增加超级页面数据SP1完全写入至快闪存储器180的时间,造成写入效能下降(单位时间写入数据储存装置140的数据量下降),另外,也增加数据管理以及指令执行的复杂度。
另外,在最差情况(worse case)下,存储器控制器160所要读取的群组映射表401刚好会位于目前芯片致能信号CE相应的LUN之中,如图5C所示,存储器控制器160直到时间t11才完成芯片致能信号CE0的通道CH0~CH3的操作,才能继续芯片致能信号CE1~CE3的通道CH0~CH3相应的LUN的操作。由图中可知,从时间t1至t11之间,存储器控制器160无法对芯片致能信号CE1~CE3的通道CH0~CH3执行任何操作,超级页面数据SPD1完全写入至快闪存储器180的时间大幅拉长,进而造成数据储存装置140的写入效能严重降低。这情况在随机数据写入的环境下容易发生,这使得数据储存装置140在随机数据写入的环境下写入效能严重降低。
图5D及5E为依据本发明实施例中的快闪存储器的写入操作的交错机制加入读取动作的示意图。
在本发明中,存储器控制器160优先完成执行中的写入指令(例如为目前写入指令),当目前写入指令执行完成之后,再判断是否有指令伫列中的读取指令,如果有,再执行读取指令。举例来说,存储器控制器160接收来自主机120的二笔存取指令,例如,分别写入64笔区段数据的二笔写入指令;之后,又收来读取LBA#1000的数据的第一笔读取指令。假设,存储器控制器160已开始执行第一笔写入指令,则存储器控制器160继续执行第一笔写入指令。在完成第一笔写入指令的执行后,存储器控制器160才判断是否执行指令伫列中的读取指令。由于有第一笔读取指令在指令伫列中,所以存储器控制器160接着执行读取LBA#1000的数据的第一笔读取指令。另外,由于第一笔写入指令的执行,存储器控制器160判断第一笔写入指令所对应的(一个或多个)群组映射表401是否已全部暂存在动态随机存取存储器190,针对尚未暂存至动态随机存取存储器190的群组映射表401,存储器控制器160会产生读取群组映射表401的第二笔读取指令。在执行第一笔读取指令时,存储器控制器160可同时、接着或之后再执行第二笔读取指令以读取对应至第一笔写入指令的群组映射表401。在取得群组映射表401之后,存储器控制器160依据第一笔写入指令的区段数据的物理地址以更新群组映射表401的内容。
之后,存储器控制器160再执行写入64笔区段数据的第二笔写入指令。之后,存储器控制器160产生第三笔读取指令以读取对应至第二笔写入指令的一个或多个群组映射表401。如果第二笔读取指令仍在指令伫列中,存储器控制器160执行第二笔读取指令。存储器控制器160接着执行第三笔读取指令以取得对应至第二笔写入指令的一个或多个群组映射表401,并依据第二笔写入指令的区段数据的物理地址以更新群组映射表401的内容。之后,存储器控制器160产生并执行第三笔写入指令,以写入更新后的群组映射表401至快闪存储器180。如果仍有更新后的群组映射表401尚未写入至快闪存储器180,存储器控制器160产生并执行第四笔写入指令,将剩余更新后的群组映射表401写入至快闪存储器180。
另外,存储器控制器160较佳记录动态随机存取存储器190暂存的群组映射表401的更新状态。例如,待动态随机存取存储器190更新后的群组映射表401的数量大于等于预设值,例如16,再产生并执行第三笔写入指令。
举例来说,如图5D所示,在时间t13,存储器控制器160完成第一笔写入指令的执行后,即各芯片致能信号CE0~CE3的LUN的编程阶段均执行完毕后,假定记录LBA#1000的群组映射表401已在动态随机存取存储器190中,存储器控制器160查询群组映射表401而得知LBA#1000的数据乃储存在位于芯片致能信号CE3的通道CH0的LUN中,则存储器控制器160致能芯片致能信号CE3并从通道CH0的LUN读取LBA#1000的数据。另外,第二笔读取指令为读取位于芯片致能信号CE0的通道CH1的LUN中的一个群组映射表401,存储器控制器160可同时致能芯片致能信号CE0并从通道CH1的LUN读取群组映射表401,并将群组映射表401上传至动态随机存取存储器190的第二预定空间430。在取得群组映射表401之后,存储器控制器160可以更新群组映射表401的内容。在时间t14,此二笔读取指令皆已执行完成。假设目前没有指令伫列中的读取指令,存储器控制器160开始执行第二笔写入指令,例如同样使用交错机制以将64笔区段数据分别写入芯片致能信号CE0~CE3的通道CH0~CH3相应的LUN,其细节可参考前述实施例。
需注意的是,动态随机存取存储器190的第一预定空间420较佳是储存执行读取指令所需的群组映射表401;动态随机存取存储器190的第二预定空间430较佳是储存执行写入指令所需的群组映射表401。存储器控制器160较佳会分别计数第一预定空间420以及第二预定空间430中的群组映射表401的数量,并动态地调整第一预定空间420或第二预定空间430的大小。
接着,在时间t15,超级页面数据SPD2的写入动作结束后,存储器控制器160也已完成群组映射表401更新,此时,存储器控制器160可将更新后的群组映射表401写入至快闪存储器180,或者,在满足一预定条件下,存储器控制器160才会将第一预定空间420中已更新的群组映射表401写回快闪存储器180。举例来说,已更新的群组映射表401的数量大于等于64,如此一来,存储器控制器160可将64个已更新的群组映射表401组成超级页面数据SPD,再将此超级页面数据SPD写入快闪存储器180。
另外,存储器控制器160无需等待超级页面数据SPD1完成写入后再执行其他的读取指令,只要LUN已从忙碌状态进入准备状态,存储器控制器160即可对LUN进行操作。例如,最后一个芯片致能信号(例如CE3)的通道CH0~CH3相应的LUN已进入编程阶段时,而芯片致能信号CE0的通道CH0~CH3相应的LUN的编程阶段结束后(时间t6),存储器控制器160可读取芯片致能信号CE0的通道CH0~CH3中的群组映射表401,如图5E所示。或者,如果没有指令伫列中的读取指令,则开始超级页面数据SPD2的写入。
相较于图5B及5C,在图5D及5E的实施例中,读取指令的执行不会影响超级页面数据SPD的写入,使得数据储存装置140可在单位时间内写入较多的数据至快闪存储器180,进而达到较佳的写入效能。
图6是显示依据本发明一实施例中的逻辑至物理地址映射表的更新方法的流程图。
请同时参考图1及图6,在一实施例中,在步骤S610,存储器控制器160将快闪存储器180划分为一第一LUN及一第二LUN,其中该第一LUN及该第二LUN分别由第一芯片致能信号及第二芯片致能信号所控制。
在步骤S620,存储器控制器160将多笔页面数据组成超级页面数据SPD。举例来说,存储器控制器160可由主机120接收一写入指令,并将该写入指令中的多个页面数据组成超级页面数据。
在步骤S630,存储器控制器160依序致能第一芯片致能信号及第二芯片致能信号,以将超级页面数据SPD分段写入至该第一LUN及该第二LUN。举例来说,存储器控制器160可使用交错机制以将超级页面数据的第一部分及第二部分分别写入第一LUN及第二LUN,其中交错机制的时序图可参考图5D~5E。
在步骤S640,存储器控制器160自该第一LUN或该第二LUN中读取至少一群组映射表。举例来说,存储器控制器160所读取的上述至少一群组映射表可以是来自主机120r读取指令中的逻辑地址所相应的群组映射表,也可以是写入指令中的逻辑地址所相应的群组映射表,但尚未储存于动态随机存取存储器190。在一实施例中,若存储器控制器160欲使用的群组映射表尚未储存于动态随机存取存储器190,则存储器控制器160会将欲使用的群组映射表的读取指令加入指令伫列。此外,存储器控制器160会优先完成执行中的写入指令(例如为目前写入指令),当目前写入指令执行完成之后,再判断是否有指令伫列中的读取指令,如果有,再执行读取指令。
在步骤S650,存储器控制器160依据这些页面数据的多个逻辑地址及写入至该第一LUN及该第二LUN的物理地址来更新至少一群组映射表。因为写入超级页面数据至第一LUN及第二LUN后,在超级页面数据中的各页面数据的逻辑至物理地址映射关系亦会改变。因此,存储器控制器160可依据在写入指令中的这些页面数据所对应的多个逻辑地址以及写入至第一LUN及第二LUN中的物理地址以更新所读取的该至少一群组映射表。
在步骤S660,存储器控制器160将更新后的至少一群组映射表写入至该第一LUN及该第二LUN的其中之一。因为存储器控制器160所更新的至少一群组映射表亦属于快闪转译层181中的逻辑至物理地址映射表(L2P表)的其中一部分,故存储器控制器160会在适当时间(例如满足一预定条件)将更新后的至少一群组映射表写入至第一LUN及第二LUN的其中一者。其中,上述预定条件例如为动态随机存取存储器190中的已更新的群组映射表的数量达到一预定数量,例如可为一超级页面的页面数量,但本发明并不限于此。
综上所述,本发明是提供一种数据储存装置及更新逻辑至物理地址映射表的更新方法,其可在数据储存装置的控制器的动态随机存取存储器的空间不足以存放整张逻辑至物理地址映射表的情况下,在执行写入指令时可提供群组映射表的更新机制,使得存储器控制器可在执行超级页面的写入指令时,不必中断在不同芯片致能信号的LUN的写入操作的交错机制且可在一预定时间将写入指令所需的群组映射表从快闪存储器读取至动态随机存取存储器,并在适当时间更新群组映射表并将更新后的群组映射表写回快闪存储器,藉以提升数据储存装置的写入效能。
本发明虽以较佳实施例揭示如上,然其并非用以限定本发明的范围,任何所属技术领域中具有通常知识者,在不脱离本发明的精神和范围内,当可做些许的更动与润饰,因此本发明的保护范围当由权利要求书界定为准。
Claims (12)
1.一种数据储存装置,包括:
一快闪存储器,用以储存一逻辑至物理地址映射表,其中该逻辑至物理地址映射表划分为多个群组映射表,其中该快闪存储器包括一第一逻辑单元编号及一第二逻辑单元编号分别由一第一芯片致能信号及一第二芯片致能信号所控制;
一动态随机存取存储器,用以储存一部分的这些群组映射表;以及
一存储器控制器,用以接收来自一主机的一写入指令,并将该写入指令的多笔页面数据组成一超级页面数据;
其中,该存储器控制器依序致能该第一芯片致能信号及该第二芯片致能信号以将该超级页面数据分段写入至该第一逻辑单元编号及该第二逻辑单元编号,
其中,响应于该超级页面数据已写入至该第一逻辑单元编号及该第二逻辑单元编号,该存储器控制器由该第一逻辑单元编号或该第二逻辑单元编号读取至少一群组映射表至该动态随机存取存储器。
2.如权利要求1所述的数据储存装置,其特征在于:
当致能该第一芯片致能信号以将该超级页面数据的一第一区段写入至该第一逻辑单元编号且相应于该至少一群组映射表的一第一读取指令已储存于一指令伫列中,该存储器控制器等待该第一逻辑单元编号进入编程阶段后,致能该第二芯片致能信号以将该超级页面数据的一第二区段写入至该第二逻辑单元编号;以及
响应于该超级页面数据已写入至该第一逻辑单元编号及该第二逻辑单元编号,该存储器控制器执行该第一读取指令由该第一逻辑单元编号或该第二逻辑单元编号读取该至少一群组映射表至该动态随机存取存储器。
3.如权利要求2所述的数据储存装置,其特征在于,当致能该第一芯片致能信号以将该超级页面数据的一第一区段写入至该第一逻辑单元编号且相应于该至少一群组映射表的一第一读取指令已储存于一指令伫列中:
响应于该至少一群组映射表位于该第一逻辑单元编号,在该第一逻辑单元编号的编程阶段结束后,该存储器控制器执行该第一读取指令由该第一逻辑单元编号读取该至少一群组映射表至该动态随机存取存储器;以及
响应于该至少一群组映射表位于该第二逻辑单元编号,在该第一逻辑单元编号及该第二逻辑单元编号的编程阶段结束后,该存储器控制器执行该第一读取指令由该第二逻辑单元编号读取该至少一群组映射表至该动态随机存取存储器。
4.如权利要求3所述的数据储存装置,其特征在于,在执行该第一读取指令由该第一逻辑单元编号或该第二逻辑单元编号读取该至少一群组映射表至该动态随机存取存储器后,该存储器控制器更依据该写入指令的这些页面数据的多个逻辑地址及写入至该第一逻辑单元编号及该第二逻辑单元编号的多个物理地址以更新该至少一群组映射表。
5.如权利要求4所述的数据储存装置,其特征在于,在更新该至少一群组映射表后,响应于一预定条件已满足时,该存储器控制器是将储存于该动态随机存取存储器中的更新后的该群组映射表写入该快闪存储器。
6.如权利要求5所述的数据储存装置,其特征在于,该预定条件为在该动态随机存取存储器中的已更新的该群组映射表的数量达到一预定数量。
7.一种逻辑至物理地址映射表的更新方法,用于一数据储存装置,其中该数据储存装置包括一快闪存储器及一动态随机存取存储器,该快闪存储器用以储存一逻辑至物理地址映射表,其中该逻辑至物理地址映射表划分为多个群组映射表,其中该快闪存储器包括一第一逻辑单元编号及一第二逻辑单元编号分别由一第一芯片致能信号及一第二芯片致能信号所控制,该方法包括:
将来自一主机的一写入指令的多笔页面数据组成一超级页面数据;
依序致能该第一芯片致能信号及该第二芯片致能信号以将该超级页面数据分段写入至该第一逻辑单元编号及该第二逻辑单元编号;以及
响应于该超级页面数据已写入至该第一逻辑单元编号及该第二逻辑单元编号,由该第一逻辑单元编号或该第二逻辑单元编号读取至少一群组映射表至该动态随机存取存储器。
8.如权利要求7所述的逻辑至物理地址映射表的更新方法,其特征在于,由该第一逻辑单元编号或该第二逻辑单元编号读取至少一群组映射表至该动态随机存取存储器的步骤包括:
当致能该第一芯片致能信号以将该超级页面数据的一第一区段写入至该第一逻辑单元编号且相应于该至少一群组映射表的一第一读取指令已储存于一指令伫列中,等待该第一逻辑单元编号进入编程阶段后,致能该第二芯片致能信号以将该超级页面数据的一第二区段写入至该第二逻辑单元编号;以及
响应于该超级页面数据已写入至该第一逻辑单元编号及该第二逻辑单元编号,执行该第一读取指令由该第一逻辑单元编号或该第二逻辑单元编号读取该至少一群组映射表至该动态随机存取存储器。
9.如权利要求7所述的逻辑至物理地址映射表的更新方法,其特征在于,由该第一逻辑单元编号或该第二逻辑单元编号读取至少一群组映射表至该动态随机存取存储器的步骤包括:
当致能该第一芯片致能信号以将该超级页面数据的一第一区段写入至该第一逻辑单元编号且相应于该至少一群组映射表的一第一读取指令已储存于一指令伫列中:
响应于该至少一群组映射表位于该第一逻辑单元编号,在该第一逻辑单元编号的编程阶段结束后,执行该第一读取指令由该第一逻辑单元编号读取该至少一群组映射表至该动态随机存取存储器;以及
响应于该至少一群组映射表位于该第二逻辑单元编号,在该第一逻辑单元编号及该第二逻辑单元编号的编程阶段结束后,执行该第一读取指令由该第二逻辑单元编号读取该至少一群组映射表至该动态随机存取存储器。
10.如权利要求9所述的逻辑至物理地址映射表的更新方法,其特征在于,在执行该第一读取指令由该第一逻辑单元编号或该第二逻辑单元编号读取该至少一群组映射表至该动态随机存取存储器后,该方法还包括:
依据该写入指令的这些页面数据的多个逻辑地址及写入至该第一逻辑单元编号及该第二逻辑单元编号的多个物理地址以更新该至少一群组映射表。
11.如权利要求10所述的逻辑至物理地址映射表的更新方法,其特征在于,在更新该至少一群组映射表后,该方法还包括:
响应于一预定条件已满足时,将储存于该动态随机存取存储器中的更新后的该群组映射表写入该快闪存储器。
12.如权利要求11所述的逻辑至物理地址映射表的更新方法,其特征在于,该预定条件为在该动态随机存取存储器中的已更新的该群组映射表的数量达到一预定数量。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW108112529A TWI698744B (zh) | 2019-04-10 | 2019-04-10 | 資料儲存裝置及邏輯至物理位址映射表之更新方法 |
TW108112529 | 2019-04-10 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111813703A true CN111813703A (zh) | 2020-10-23 |
Family
ID=72425762
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910402944.4A Pending CN111813703A (zh) | 2019-04-10 | 2019-05-15 | 数据储存装置及逻辑至物理地址映射表的更新方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US10776280B1 (zh) |
CN (1) | CN111813703A (zh) |
TW (1) | TWI698744B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110515559A (zh) * | 2019-08-27 | 2019-11-29 | 江苏华存电子科技有限公司 | 基于同步通道运作架构闪存主控之高效能指令序列控制器 |
CN114036079A (zh) * | 2021-09-07 | 2022-02-11 | 联芸科技(杭州)有限公司 | 映射表压缩方法、系统、存储器控制器、固态硬盘及数据读取方法 |
TWI823792B (zh) * | 2023-02-24 | 2023-11-21 | 大陸商合肥兆芯電子有限公司 | 映射表更新方法、記憶體儲存裝置及記憶體控制電路單元 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090193184A1 (en) * | 2003-12-02 | 2009-07-30 | Super Talent Electronics Inc. | Hybrid 2-Level Mapping Tables for Hybrid Block- and Page-Mode Flash-Memory System |
CN104969196A (zh) * | 2012-11-15 | 2015-10-07 | 西部数据技术公司 | 用于在固态驱动器中重建的碎片化的固件表格的方法、数据存储装置和系统 |
CN105027090A (zh) * | 2012-10-05 | 2015-11-04 | 西部数据技术公司 | 用于固态驱动器中的物理到逻辑映射的方法、设备和系统 |
US20180196747A1 (en) * | 2017-01-06 | 2018-07-12 | Silicon Motion, Inc. | Data storage device and flash memory control method |
CN108733510A (zh) * | 2017-04-25 | 2018-11-02 | 慧荣科技股份有限公司 | 数据储存装置及映射表重建方法 |
CN109032968A (zh) * | 2017-06-09 | 2018-12-18 | 三星电子株式会社 | 包括逻辑到物理地址映射存储设备及其操作方法 |
CN109144886A (zh) * | 2017-06-27 | 2019-01-04 | 慧荣科技股份有限公司 | 数据储存装置 |
CN109521944A (zh) * | 2017-09-18 | 2019-03-26 | 慧荣科技股份有限公司 | 数据储存装置以及数据储存方法 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100843133B1 (ko) * | 2006-09-20 | 2008-07-02 | 삼성전자주식회사 | 플래시 메모리에서 매핑 정보 재구성을 위한 장치 및 방법 |
KR100885181B1 (ko) * | 2007-02-06 | 2009-02-23 | 삼성전자주식회사 | 그룹 맵핑 동작을 수행하는 메모리 시스템 및 그것의어드레스 맵핑 방법 |
TWI563510B (en) * | 2015-07-24 | 2016-12-21 | Phison Electronics Corp | Mapping table accessing method, memory control circuit unit and memory storage device |
KR20180087925A (ko) * | 2017-01-25 | 2018-08-03 | 삼성전자주식회사 | 논리 어드레스와 물리 어드레스 사이에서 해싱 기반 변환을 수행하는 스토리지 장치 |
-
2019
- 2019-04-10 TW TW108112529A patent/TWI698744B/zh active
- 2019-05-15 CN CN201910402944.4A patent/CN111813703A/zh active Pending
- 2019-06-03 US US16/429,415 patent/US10776280B1/en active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090193184A1 (en) * | 2003-12-02 | 2009-07-30 | Super Talent Electronics Inc. | Hybrid 2-Level Mapping Tables for Hybrid Block- and Page-Mode Flash-Memory System |
CN105027090A (zh) * | 2012-10-05 | 2015-11-04 | 西部数据技术公司 | 用于固态驱动器中的物理到逻辑映射的方法、设备和系统 |
CN104969196A (zh) * | 2012-11-15 | 2015-10-07 | 西部数据技术公司 | 用于在固态驱动器中重建的碎片化的固件表格的方法、数据存储装置和系统 |
US20180196747A1 (en) * | 2017-01-06 | 2018-07-12 | Silicon Motion, Inc. | Data storage device and flash memory control method |
CN108280032A (zh) * | 2017-01-06 | 2018-07-13 | 慧荣科技股份有限公司 | 数据储存装置以及快闪存储器控制方法 |
CN108733510A (zh) * | 2017-04-25 | 2018-11-02 | 慧荣科技股份有限公司 | 数据储存装置及映射表重建方法 |
CN109032968A (zh) * | 2017-06-09 | 2018-12-18 | 三星电子株式会社 | 包括逻辑到物理地址映射存储设备及其操作方法 |
CN109144886A (zh) * | 2017-06-27 | 2019-01-04 | 慧荣科技股份有限公司 | 数据储存装置 |
CN109521944A (zh) * | 2017-09-18 | 2019-03-26 | 慧荣科技股份有限公司 | 数据储存装置以及数据储存方法 |
Non-Patent Citations (1)
Title |
---|
薛镭等: ""基于NAND Flash存储器的页映射Chiang算法优化 "", 《舰船电子工程》, vol. 38, no. 12, 23 January 2019 (2019-01-23), pages 141 - 145 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110515559A (zh) * | 2019-08-27 | 2019-11-29 | 江苏华存电子科技有限公司 | 基于同步通道运作架构闪存主控之高效能指令序列控制器 |
CN110515559B (zh) * | 2019-08-27 | 2022-08-30 | 江苏华存电子科技有限公司 | 基于同步通道运作架构闪存主控之高效能指令序列控制器 |
CN114036079A (zh) * | 2021-09-07 | 2022-02-11 | 联芸科技(杭州)有限公司 | 映射表压缩方法、系统、存储器控制器、固态硬盘及数据读取方法 |
TWI823792B (zh) * | 2023-02-24 | 2023-11-21 | 大陸商合肥兆芯電子有限公司 | 映射表更新方法、記憶體儲存裝置及記憶體控制電路單元 |
Also Published As
Publication number | Publication date |
---|---|
US10776280B1 (en) | 2020-09-15 |
TWI698744B (zh) | 2020-07-11 |
TW202038096A (zh) | 2020-10-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102549545B1 (ko) | 스토리지 장치 및 스토리지 장치의 동작 방법 | |
US9122611B2 (en) | Method for giving read commands and reading data, and controller and storage system using the same | |
CN111459844B (zh) | 数据储存装置及用于存取逻辑至物理地址映射表的方法 | |
US8443144B2 (en) | Storage device reducing a memory management load and computing system using the storage device | |
US9053019B2 (en) | Non-volatile memory device, a data processing device using the same, and a swapping method used by the data processing and non-volatile memory devices | |
US20110185225A1 (en) | Memory system with nonvolatile semiconductor memory | |
US11307992B2 (en) | Method and apparatus for performing operations to namespaces of a flash memory device | |
US9176865B2 (en) | Data writing method, memory controller, and memory storage device | |
CN111796759B (zh) | 多平面上的片段数据读取的计算机可读取存储介质及方法 | |
US8433847B2 (en) | Memory drive that can be operated like optical disk drive and method for virtualizing memory drive as optical disk drive | |
CN110908927A (zh) | 数据储存装置及其删除命名空间的方法 | |
US11210226B2 (en) | Data storage device and method for first processing core to determine that second processing core has completed loading portion of logical-to-physical mapping table thereof | |
TWI698744B (zh) | 資料儲存裝置及邏輯至物理位址映射表之更新方法 | |
US11573891B2 (en) | Memory controller for scheduling commands based on response for receiving write command, storage device including the memory controller, and operating method of the memory controller and the storage device | |
CN114063893A (zh) | 数据储存装置与数据处理方法 | |
TWI626540B (zh) | 一般及垃圾回收的資料存取方法以及使用該方法的裝置 | |
CN109542336B (zh) | 存储设备及其操作方法 | |
US20240012564A1 (en) | Memory controller and storage device including the same | |
WO2012143944A2 (en) | Multi-host nand flash controller | |
KR20240003648A (ko) | 메모리 시스템 및 그에 포함된 메모리 컨트롤러의 동작 방법 | |
CN116149540A (zh) | 更新主机与闪存地址对照表的方法和计算机可读取存储介质和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |