CN106681654A - 映射表载入方法与存储器存储装置 - Google Patents
映射表载入方法与存储器存储装置 Download PDFInfo
- Publication number
- CN106681654A CN106681654A CN201610864949.5A CN201610864949A CN106681654A CN 106681654 A CN106681654 A CN 106681654A CN 201610864949 A CN201610864949 A CN 201610864949A CN 106681654 A CN106681654 A CN 106681654A
- Authority
- CN
- China
- Prior art keywords
- instruction
- logical block
- entity
- logic
- read
- 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
Classifications
-
- 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/0608—Saving storage space on storage systems
-
- 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/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
-
- 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/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/0652—Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket
-
- 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/0656—Data buffering arrangements
-
- 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
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Read Only Memory (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供一种映射表载入方法与存储器存储装置。本方法包括:接收包括多个第一逻辑单元的多个第一读取指令;当所述第一逻辑单元不为连续的逻辑地址时,执行第一逻辑‑实体映射表预载操作,以根据所述第一读取指令的第一执行顺序,从可重写式非易失性存储器模块非同步地预载入逻辑‑实体映射表之中对应第一逻辑单元的映射信息至缓冲存储器的第一缓冲区中;以及根据第一逻辑单元的映射信息从实体抹除单元中读取属于第一逻辑单元的数据至第一缓冲区,并以属于第一逻辑单元的数据取代第一缓冲区中所述第一逻辑单元的映射信息。本发明能够有效地缩短执行读取指令的时间,提升存储器存储装置进行数据读取时的速度与效能。
Description
技术领域
本发明涉及一种映射表载入方法,尤其涉及一种用于可重写式非易失性存储器模块的映射表载入方法与存储器存储装置。
背景技术
数码相机、手机与MP3在这几年来的成长十分迅速,使得消费者对储存媒体的需求也急速增加。由于可重写式非易失性存储器(rewritable non-volatile memory)具有数据非易失性、省电、体积小、无机械结构、读写速度快等特性,最适于可携式电子产品,例如笔记型电脑。固态硬盘就是一种以快闪存储器模块作为存储媒体的存储器存储装置。因此,近年快闪存储器产业成为电子产业中相当热门的一环。
为了使主机系统可顺利存取可重写式非易失性存储器模块的数据,使用可重写式非易失性存储器模块作为储存媒体的存储器存储装置会记录逻辑地址与实体抹除单元之间的映射关系。具体来说,存储器存储装置中的存储器管理电路会在可重写式非易失性存储器模块中储存一个或多个逻辑-实体映射表来记录逻辑地址与实体抹除单元或逻辑地址与实体程序程序化单元之间的映射信息。当欲存取数据时,存储器管理电路会载入对应的逻辑-实体映射表至缓冲存储器中,并且依据逻辑-实体映射表来写入或读取数据。
一般而言,缓冲存储器中会配置有用以暂存逻辑-实体映射表的缓冲区与用以暂存来自于主机系统的数据与指令或来自于可重写式非易失性存储器模块的数据的缓冲区。特别是,在主机系统执行随机读取(random read)操作的情况下,存储器管理电路需要对应地载入逻辑-实体映射表中多个部分的映射信息至缓冲存储器中。然而,由于缓冲存储器的容量有限,因此,受限于配置来暂存逻辑-实体映射表的此些部分映射信息的缓冲区的容量无法同时暂存多个部分的映射信息,存储器管理电路必须在其完成将对应目前缓冲区中映射信息的数据从可重写式非易失性存储器模块中读取至缓冲区,以及将此些数据从缓冲区传输至存储器存储装置后,存储器管理电路才能再对可重写式非易失性存储器模块下达指令阵列中的下一个随机读取指令,并载入其他的部分映射信息至缓冲区中。此情形会导致执行读取指令的时间效率低落,进而造成存储器存储装置的效能恶化。
发明内容
本发明提供一种映射表载入方法与存储器存储装置,其能够有效地缩短执行读取指令的时间,进而提升存储器存储装置进行数据读取时的速度与效能。
本发明的一范例实施例提供一种映射表载入方法,其用于可重写式非易失性存储器模块,所述可重写式非易失性存储器模块具有多个实体抹除单元,每一实体抹除单元具有多个实体程序程序化单元,且一逻辑-实体映射表储存于所述可重写式非易失性存储器模块,所述映射表载入方法包括:配置多个逻辑单元,且每一个逻辑单元对应至至少一个实体程序程序化单元;由具有缓冲存储器的存储器控制电路单元接收多个第一读取指令,其中此些第一读取指令包括多个第一逻辑单元;当所述第一逻辑单元非为连续的逻辑地址时,执行第一逻辑-实体映射表预载操作,其中所述第一逻辑-实体映射表预载操作包括根据所述第一读取指令的第一执行顺序,从所述可重写式非易失性存储器模块读取所述逻辑-实体映射表之中对应所述第一逻辑单元的映射信息至所述缓冲存储器的第一缓冲区中;以及发送对应所述第一读取指令的第一读取指令序列,根据所述第一逻辑单元的映射信息从所述实体抹除单元中读取属于所述第一逻辑单元的数据至所述第一缓冲区,并以属于所述第一逻辑单元的数据取代所述第一缓冲区中所述第一逻辑单元的映射信息。
在本发明的一范例实施例中,所述第一读取指令还包括至少一第二逻辑单元,且映射表载入方法还包括:在从所述实体抹除单元中读取属于所述至少一第二逻辑单元的数据至所述第一缓冲区的期间,执行所述第一逻辑-实体映射表预载操作,其中对应所述至少一第二逻辑单元的第一读取指令的第二执行顺序在对应所述第一逻辑单元的第一读取指令的所述第一执行顺序之前。
在本发明的一范例实施例中,所述映射表载入方法还包括:当所述第一逻辑单元为连续的逻辑地址时,执行第二逻辑-实体映射表预载操作,其中所述第二逻辑-实体映射表预载操作包括从所述可重写式非易失性存储器模块读取所述逻辑-实体映射表之中对应所述第一逻辑单元的映射信息至所述缓冲存储器的第二缓冲区中,其中所述第二缓冲区不同于所述第一缓冲区;以及发送对应所述第一读取指令的第一读取指令序列,根据具有一逻辑范围的所述第一逻辑单元的映射信息从所述实体抹除单元中读取属于所述第一逻辑单元中的数据至所述第一缓冲区。
在本发明的一范例实施例中,所述由具有所述缓冲存储器的所述存储器控制电路单元接收所述第一读取指令的步骤还包括:将于所述第一读取指令放入一指令阵列中;根据于所述指令阵列的于所述第一读取指令的第一执行顺序,从所述指令阵列中读取所述第一读取指令的其中之一,并从所述逻辑-实体映射表之中读取对应于所述第一读取指令的其中之一的第一映射信息至于所述缓冲存储器的于所述第二缓冲区中;根据所述指令阵列中所述第一读取指令的第一执行顺序,从所述指令阵列中读取另一个所述第一读取指令;以及根据所述第一读取指令的其中之一的逻辑单元与所述另一个第一读取指令的逻辑单元,判断所述第一逻辑单元是否为连续的逻辑地址,其中所述第一读取指令的其中之一的执行顺序在另一个所述第一读取指令的执行顺序之前。
在本发明的一范例实施例中,所述缓冲存储器具有多个缓存单元,且一个缓存单元的容量为一第一单位容量,其中所述第一缓冲区包括的缓存单元的数量大于所述第二缓冲区包括的缓存单元的数量,执行所述第一逻辑-实体映射表预载操作的步骤还包括:依序地将所述逻辑-实体映射表之中对应每一个第一逻辑单元的映射信息暂存至属于所述第一缓冲区的缓存单元,其中所述缓存单元记录的映射信息所映射的数据量是所述第一单位容量。
在本发明的一范例实施例中,上述以属于所述第一逻辑单元的数据取代所述第一缓冲区中所述第一逻辑单元的映射信息的步骤包括:将属于所述第一逻辑单元且数据量是所述第一单位容量的数据暂存至记录有其映射信息的缓存单元中,其中所述第一单位容量小于一个实体抹除单元的容量。
本发明的一范例实施例提供一种映射表载入方法,其用于可重写式非易失性存储器模块,所述可重写式非易失性存储器模块具有多个实体抹除单元,每一实体抹除单元具有多个实体程序程序化单元,且一逻辑-实体映射表储存于所述可重写式非易失性存储器模块,所述映射表载入方法包括:配置多个逻辑单元,其中每一个逻辑单元对应至至少一个实体程序程序化单元;由具有一缓冲存储器的存储器控制电路单元接收多个第一读取指令,其中所述第一读取指令包括多个第一逻辑单元;根据一指令阵列中所述第一读取指令的一第一执行顺序,从所述指令阵列中读取所述第一读取指令的其中之一,并从所述逻辑-实体映射表之中读取对应所述第一逻辑单元的其中之一的一第一映射信息至所述缓冲存储器的一第二缓冲区中;根据所述第一读取指令的所述第一执行顺序,从所述指令阵列中读取另一个所述第一读取指令;根据所述第一读取指令的其中之一的逻辑单元与另一个所述第一读取指令的逻辑单元,判断所述第一逻辑单元是否为连续的逻辑地址;以及当判断所述第一逻辑单元不为连续的逻辑地址时,执行第一逻辑-实体映射表预载操作,其中所述第一逻辑-实体映射表预载操作包括根据所述第一读取指令的所述第一执行顺序,从所述可重写式非易失性存储器模块读取所述逻辑-实体映射表之中对应所述第一逻辑单元的映射信息至所述缓冲存储器的第一缓冲区中,其中所述第二缓冲区不同于所述第一缓冲区。
在本发明的一范例实施例中,所述由具有所述缓冲存储器的所述存储器控制电路单元接收所述第一读取指令的步骤还包括:将所述第一读取指令储存于所述指令阵列中,其中所述第一读取指令的其中之一的执行顺序在另一个所述第一读取指令的执行顺序之前。
在本发明的一范例实施例中,所述执行第一逻辑-实体映射表预载操作之后的步骤,包括:发送对应所述第一读取指令的一第一读取指令序列,根据所述第一逻辑单元的映射信息从所述实体抹除单元中读取属于所述第一逻辑单元的数据至所述第一缓冲区,并以属于所述第一逻辑单元的数据取代所述第一缓冲区中所述第一逻辑单元的映射信息。
在本发明的一范例实施例中,所述第一读取指令还包括至少一第二逻辑单元,且所述映射表载入方法还包括:在从所述实体抹除单元中读取属于所述至少一第二逻辑单元的数据至所述第一缓冲区的期间,执行所述第一逻辑-实体映射表预载操作,其中对应所述至少一第二逻辑单元的第一读取指令的第二执行顺序在对应所述第一逻辑单元的第一读取指令的所述第一执行顺序之前。
在本发明的一范例实施例中,所述映射表载入方法,还包括:当所述第一逻辑单元为连续的逻辑地址时,执行第二逻辑-实体映射表预载操作,其中所述第二逻辑-实体映射表预载操作包括从所述可重写式非易失性存储器模块读取所述逻辑-实体映射表之中对应所述第一逻辑单元的映射信息至所述缓冲存储器的所述第二缓冲区中;以及发送对应所述第一读取指令的所述第一读取指令序列,根据具有一逻辑范围的所述第一逻辑单元的映射信息从所述实体抹除单元中读取属于所述第一逻辑单元中的数据至所述第一缓冲区。
本发明的一范例实施例提出一种存储器存储装置,其包括连接接口单元、可重写式非易失性存储器模块及上述的存储器控制电路单元。连接接口单元耦接至主机系统,存储器控制电路单元耦接至连接接口单元与可重写式非易失性存储器模块,且包括一缓冲存储器。存储器控制电路单元用以配置多个逻辑单元,其中每一个逻辑单元对应至至少一个实体程序程序化单元。所述存储器控制电路单元更用以从所述主机系统中接收多个第一读取指令,其中所述第一读取指令包括多个第一逻辑单元,当所述第一逻辑单元非为连续的逻辑地址时,所述存储器控制电路单元还用以执行第一逻辑-实体映射表预载操作,其中所述第一逻辑-实体映射表预载操作包括根据所述第一读取指令的一第一执行顺序,从所述可重写式非易失性存储器模块非同步地预载入所述逻辑-实体映射表之中对应所述第一逻辑单元的映射信息至所述缓冲存储器的第一缓冲区中。所述存储器控制电路单元还用以发送对应所述第一读取指令的第一读取指令序列,根据所述第一逻辑单元的映射信息从所述实体抹除单元中读取属于所述第一逻辑单元的数据至所述第一缓冲区,并以属于所述第一逻辑单元的数据取代所述第一缓冲区中所述第一逻辑单元的映射信息。
在本发明的一范例实施例中,所述第一读取指令还包括至少一第二逻辑单元。所述存储器控制电路单元更用以在从所述实体抹除单元中读取属于所述至少一第二逻辑单元的数据至所述第一缓冲区的期间,执行所述第一逻辑-实体映射表预载操作,其中对应所述至少一第二逻辑单元的第一读取指令的第二执行顺序在对应所述第一逻辑单元的第一读取指令的所述第一执行顺序之前。
在本发明的一范例实施例中,当所述第一逻辑单元为连续的逻辑地址时,所述存储器控制电路单元还用以执行第二逻辑-实体映射表预载操作,其中所述第二逻辑-实体映射表预载操作包括从所述可重写式非易失性存储器模块预载入所述逻辑-实体映射表之中对应所述第一逻辑单元的映射信息至所述缓冲存储器的第二缓冲区中,所述第二缓冲区不同于所述第一缓冲区。所述存储器控制电路单元还用以发送对应所述第一读取指令的所述第一读取指令序列,根据具有一逻辑范围的所述第一逻辑单元的映射信息从所述实体抹除单元中读取属于所述第一逻辑单元中的数据至所述第一缓冲区。
在本发明的一范例实施例中,在接收所述第一读取指令的操作中,所述存储器控制电路单元更用以将所述第一读取指令放入一指令阵列中,以及根据所述指令阵列中所述第一读取指令的第一执行顺序,从所述指令阵列中读取所述第一读取指令的其中之一,并从所述逻辑-实体映射表之中读取对应所述第一读取指令的其中之一的第一映射信息至所述缓冲存储器的第二缓冲区中。存储器控制电路单元还用以根据所述指令阵列中所述第一读取指令的所述第一执行顺序,从所述指令阵列中读取另一个所述第一读取指令;以及根据所述第一读取指令的其中之一的逻辑单元与另一个所述第一读取指令的逻辑单元,判断所述第一逻辑单元是否为连续的逻辑地址,其中所述第一读取指令的其中之一的执行顺序在另一个所述第一读取指令的执行顺序之前。
在本发明的一范例实施例中,所述缓冲存储器具有多个缓存单元,且一个缓存单元的容量为第一单位容量,其中所述第一缓冲区包括的缓存单元的数量大于所述第二缓冲区包括的缓存单元的数量。在所述第一逻辑-实体映射表预载操作中,所述存储器控制电路单元还用以依序地将所述逻辑-实体映射表之中对应每一个第一逻辑单元的映射信息暂存至属于所述第一缓冲区的缓存单元,其中所述缓存单元记录的映射信息的数据量是所述第一单位容量。
在本发明的一范例实施例中,在以属于所述第一逻辑单元的数据取代所述第一缓冲区中所述第一逻辑单元的映射信息的操作中,所述存储器控制电路单元还用以将属于所述第一逻辑单元且数据量是所述第一单位容量的数据暂存至记录有其映射信息的缓存单元中,其中所述第一单位容量小于一个实体抹除单元的容量。
本发明的一范例实施例提出一种存储器存储装置,其包括连接接口单元、可重写式非易失性存储器模块及上述的存储器控制电路单元。连接接口单元耦接至主机系统,存储器控制电路单元耦接至连接接口单元与可重写式非易失性存储器模块,且包括缓冲存储器。存储器控制电路单元用以配置多个逻辑单元,其中每一个逻辑单元对应至至少一个实体程序程序化单元。所述存储器控制电路单元还用以从所述主机系统中接收多个第一读取指令,其中所述第一读取指令包括多个第一逻辑单元。所述存储器控制电路单元还用以根据一指令阵列中所述第一读取指令的第一执行顺序,从所述指令阵列中读取所述第一读取指令的其中之一,并从所述逻辑-实体映射表之中读取对应所述第一读取指令的其中之一的第一映射信息至所述缓冲存储器的第二缓冲区中。所述存储器控制电路单元还用以根据所述指令阵列中所述第一读取指令的所述第一执行顺序,从所述指令阵列中读取另一个所述第一读取指令。所述存储器控制电路单元还用以根据所述第一读取指令的其中之一的逻辑单元与另一个所述第一读取指令的逻辑单元,判断所述第一逻辑单元是否为连续的逻辑地址。当判断所述第一逻辑单元不为连续的逻辑地址时,所述存储器控制电路单元还用以执行第一逻辑-实体映射表预载操作,其中所述第一逻辑-实体映射表预载操作包括根据所述第一读取指令的第一执行顺序,从所述可重写式非易失性存储器模块读取所述逻辑-实体映射表之中对应所述第一逻辑单元的映射信息至所述缓冲存储器的第一缓冲区中。
在本发明的一范例实施例中,所述由具有缓冲存储器的所述存储器控制电路单元接收所述第一读取指令的操作中,所述存储器控制电路单元还用以将所述第一读取指令储存于所述指令阵列中,其中所述第一读取指令的其中之一的执行顺序在另一个所述第一读取指令的执行顺序之前。
在本发明的一范例实施例中,在执行所述第一逻辑-实体映射表预载操作之后,所述存储器控制电路单元还用以发送对应所述第一读取指令的一第一读取指令序列,根据所述第一逻辑单元的映射信息从所述实体抹除单元中读取属于所述第一逻辑单元的数据至所述第一缓冲区,并以属于所述第一逻辑单元的数据取代所述第一缓冲区中所述第一逻辑单元的映射信息。
在本发明的一范例实施例中,所述第一读取指令还包括至少一第二逻辑单元。所述存储器控制电路单元还用以在从所述实体抹除单元中读取属于所述至少一第二逻辑单元的数据至所述第一缓冲区的期间,执行所述第一逻辑-实体映射表预载操作,其中对应所述至少一第二逻辑单元的第一读取指令的第二执行顺序在对应所述第一逻辑单元的第一读取指令的所述第一执行顺序之前。
在本发明的一范例实施例中,当所述第一逻辑单元为连续的逻辑地址时,存储器控制电路单元还用以执行第二逻辑-实体映射表预载操作,其中所述第二逻辑-实体映射表预载操作包括从所述可重写式非易失性存储器模块读取所述逻辑-实体映射表之中对应所述第一逻辑单元的映射信息至所述缓冲存储器的所述第二缓冲区中。所述存储器控制电路单元还用以发送对应所述第一读取指令的所述第一读取指令序列,根据具有一逻辑范围的所述第一逻辑单元的映射信息从所述实体抹除单元中读取属于所述第一逻辑单元中的数据至所述第一缓冲区。
基于上述,本发明范例实施例是藉由在可重写式非易失性存储器模块处于忙碌状态的期间将主机系统执行随机读取操作所产生的多个非连续的映射信息依序地预载入空间较大的第一缓冲区(即,用以暂存来自于主机系统的数据与指令或来自于可重写式非易失性存储器模块的数据的缓冲区),由此可充分地利用原本忙碌状态中所需的等待时间,并有效地缩短执行读取指令的时间。另一方面,本发明范例实施例会以从可重写式非易失性存储器模块中所读取的数据取代第一缓冲区中关于此些数据的映射信息。如此一来,本发明范例实施例可在可重写式非易失性存储器模块处于忙碌状态的期间且主机系统执行随机读取操作时,使得所读取的映射信息不再受限于配置来暂存逻辑-实体映射表的第二缓冲区的容量,由此有效地节省缓冲存储器的空间配置,并提升存储器存储装置进行数据读取时的速度与效能。
为让本发明的上述特征和优点能更明显易懂,下文特举实施例,并配合附图作详细说明如下。
附图说明
图1是根据本发明的一范例实施例所示出的主机系统、存储器存储装置及输入/输出(I/O)装置的示意图;
图2是根据本发明的另一范例实施例所示出的主机系统、存储器存储装置及I/O装置的示意图;
图3是根据本发明的另一范例实施例所示出的主机系统与存储器存储装置的示意图;
图4是根据本发明的一范例实施例所示出的存储器存储装置的概要方框图;
图5是根据本发明的一范例实施例所示出的存储器控制电路单元的概要方框图;
图6是根据一范例实施例所示出的缓冲存储器的示意图;
图7是根据本发明的一范例实施例所示出的管理可重写式非易失性存储器模块的示意图;
图8是根据本发明的一范例实施例所示出的判断主机系统是否正在执行随机读取操作的流程图;
图9A~9B是根据本发明的一范例实施例所示出的判断主机系统是否正在执行随机读取操作的示意图;
图9C是根据本发明的一范例实施例所示出的逻辑-实体映射表及其逻辑单元与实体程序程序化单元的映射关系的示意图;
图9D是根据本发明的一范例实施例所示出的执行第一逻辑-实体映射表预载操作的示意图;
图9E是根据本发明的一范例实施例所示出的以属于第一逻辑单元的数据取代第一缓冲区中第一逻辑单元的映射信息的示意图;
图10是根据本发明的一范例实施例所示出的映射表载入方法的流程图。
附图标记:
10、30:存储器存储装置;
11、31:主机系统;
110:系统总线;
111:处理器;
112:随机存取存储器;
113:只读存储器;
114:数据传输接口;
12:输入/输出(I/O)装置;
20:主机板;
201:随身盘;
202:存储卡;
203:固态硬盘;
204:无线存储器存储装置;
205:全球定位系统模块;
206:网络接口卡;
207:无线传输装置;
208:键盘;
209:屏幕;
210:喇叭;
32:SD卡;
33:CF卡;
34:嵌入式存储装置;
341:嵌入式多媒体卡;
342:嵌入式多芯片封装存储装置;
402:连接接口单元;
404:存储器控制电路单元;
406:可重写式非易失性存储器模块;
410(0)~410(B):实体抹除单元;
502:存储器管理电路;
504:主机接口;
506:存储器接口;
508:错误检查与校正电路;
510:缓冲存储器;
512:电源管理电路;
612:第一缓冲区;
614:第二缓冲区;
610(0)~610(511):缓存单元;
701:储存区;
702:闲置区;
710(0)~710(B):实体单元;
712(0)~712(C):逻辑单元;
RCmd1、RCmd2、RCmd3、RCmd4、RCmd5:第一读取指令;
800:指令阵列;
810:逻辑-实体映射表;
811、812、813、814、815:映射信息;
80、86、84、88、82:数据;
S801:步骤(根据指令阵列中第一读取指令的第一执行顺序,从指令阵列中读取第一读取指令的其中之一,并从逻辑-实体映射表之中读取对应所述第一读取指令的其中之一的第一映射信息至缓冲存储器的第二缓冲区中);
S803:步骤(根据指令阵列中第一读取指令的第一执行顺序,从指令阵列中读取另一个第一读取指令);
S805:步骤(根据第一读取指令的其中之一的逻辑单元与另一个第一读取指令的逻辑单元,判断所述第一逻辑单元是否为连续的逻辑地址);
S807:步骤(执行第一逻辑-实体映射表预载操作);
S809:步骤(执行第二逻辑-实体映射表预载操作);
S1001:步骤(配置多个逻辑单元,其中每一个逻辑单元对应至至少一个实体程序程序化单元);
S1003:步骤(由具有一缓冲存储器的存储器控制电路单元从主机系统中接收多个第一读取指令,其中此些第一读取指令包括多个第一逻辑单元);
S1005:步骤(当所述第一逻辑单元不为连续的逻辑地址时,执行第一逻辑-实体映射表预载操作,以根据所述第一读取指令的第一执行顺序,从可重写式非易失性存储器模块非同步地预载入逻辑-实体映射表之中对所述第一逻辑单元的映射信息至缓冲存储器的第一缓冲区中);
S1007:步骤(发送对应所述第一主机读取指令的第一读取指令序列,根据所述第一逻辑单元的映射信息从所述实体抹除单元中读取属于所述第一逻辑单元的数据至第一缓冲区,并以属于所述第一逻辑单元的数据取代第一缓冲区中所述第一逻辑单元的映射信息)。
具体实施方式
一般而言,存储器存储装置(也称,存储器储存系统)包括可重写式非易失性存储器模块与控制器(也称,控制电路)。通常存储器存储装置是与主机系统一起使用,以使主机系统可将数据写入至存储器存储装置或从存储器存储装置中读取数据。
图1是根据本发明的一范例实施例所示出的主机系统、存储器存储装置及输入/输出(I/O)装置的示意图。图2是根据本发明的另一范例实施例所示出的主机系统、存储器存储装置及I/O装置的示意图。
请参照图1与图2,主机系统11一般包括处理器111、随机存取存储器(randomaccess memory,RAM)112、只读存储器(read only memory,ROM)113及数据传输接口114。处理器111、随机存取存储器112、只读存储器113及数据传输接口114皆耦接至系统总线(system bus)110。
在本范例实施例中,主机系统11是通过数据传输接口114与存储器存储装置10耦接。例如,主机系统11可通过数据传输接口114将数据写入至存储器存储装置10或从存储器存储装置10中读取数据。此外,主机系统11是通过系统总线110与I/O装置12耦接。例如,主机系统11可通过系统总线110将输出信号传送至I/O装置12或从I/O装置12接收输入信号。
在本范例实施例中,处理器111、随机存取存储器112、只读存储器113及数据传输接口114是可设置在主机系统11的主机板20上。数据传输接口114的数目可以是一个或多个。通过数据传输接口114,主机板20可以通过有线或无线的方式耦接至存储器存储装置10。耦接或无线传输至存储器存储装置10,其中存储器存储装置10可例如是随身盘201、存储卡202、固态硬盘(Solid State Drive,SSD)203或无线存储器存储装置204。其中,无线存储器存储装置204可例如是近距离无线通信(Near Field Communication,NFC)存储器存储装置、无线传真(WiFi)存储器存储装置、蓝牙(Bluetooth)存储器存储装置或低功耗蓝牙存储器存储装置(例如,iBeacon)等以各式无线通信技术为基础的各种类型存储器存储装置。此外,主机板20也可以通过系统总线110耦接至全球定位系统(Global PositioningSystem,GPS)模块205、网络接口卡206、无线传输装置207、键盘208、屏幕209、喇叭210等各种类型的式I/O装置。例如,在一范例实施例中,主机板20可通过无线传输装置207存取无线存储器存储装置204。
在一范例实施例中,所提及的主机系统为可实质地与存储器存储装置配合以储存数据的任意系统。虽然在上述范例实施例中,主机系统是以电脑系统来作说明,然而,图3是根据本发明的另一范例实施例所示出的主机系统与存储器存储装置的示意图。请参照图3,在另一范例实施例中,主机系统31也可以是数码相机、摄影机、通信装置、音频播放器、视频播放器或平板电脑等系统,而存储器存储装置30可为其所使用的SD卡32、CF卡33或嵌入式存储装置34等各式非易失性存储器存储装置。嵌入式存储装置34包括嵌入式多媒体卡(embedded MMC,eMMC)341和/或嵌入式多芯片封装存储装置(embedded Multi ChipPackage,eMCP)342等各类型将存储器模块直接耦接于主机系统的基板上的嵌入式存储装置。
图4是根据本发明的一范例实施例所示出的存储器存储装置的概要方框图。
请参照图4,存储器存储装置10包括连接接口单元402、存储器控制电路单元404与可重写式非易失性存储器模块406。
在本范例实施例中,连接接口单元402是相容于序列先进附件(Serial AdvancedTechnology Attachment,SATA)标准。然而,必须了解的是,本发明不限于此,连接接口单元402也可以是符合并列先进附件(Parallel Advanced Technology Attachment,PATA)标准、电气和电子工程师协会(Institute of Electrical and Electronic Engineers,IEEE)1394标准、高速周边零件连接接口(Peripheral Component Interconnect Express,PCI Express)标准、通用序列总线(Universal Serial Bus,USB)标准、安全数字(SecureDigital,SD)接口标准、超高速一代(Ultra High Speed-I,UHS-I)接口标准、超高速二代(Ultra High Speed-II,UHS-II)接口标准、存储棒(Memory Stick,MS)接口标准、多芯片封装(Multi-Chip Package)接口标准、多媒体存储卡(Multi Media Card,MMC)接口标准、嵌入式多媒体存储卡(Embedded Multimedia Card,eMMC)接口标准、通用快闪存储器(Universal Flash Storage,UFS)接口标准、嵌入式多芯片封装(embedded Multi ChipPackage,eMCP)接口标准、小型快闪(Compact Flash,CF)接口标准、整合式驱动电子接口(Integrated Device Electronics,IDE)标准或其他适合的标准。连接接口单元402可与存储器控制电路单元404封装在一个芯片中,或者连接接口单元402是布设于一包含存储器控制电路单元404之芯片外。
存储器控制电路单元404用以执行以硬件型式或固件型式实作的多个逻辑门或控制指令,并且根据主机系统11的指令在可重写式非易失性存储器模块406中进行数据的写入、读取与抹除等运作。
可重写式非易失性存储器模块406是耦接至存储器控制电路单元404并且用以储存主机系统11所写入的数据。可重写式非易失性存储器模块406可以是单阶存储单元(Single Level Cell,SLC)NAND型快闪存储器模块(即,一个存储单元中可储存1个比特的快闪存储器模块)、多阶存储单元(Multi Level Cell,MLC)NAND型快闪存储器模块(即,一个存储单元中可储存2个比特的快闪存储器模块)、三阶存储单元(Triple Level Cell,TLC)NAND型快闪存储器模块(即,一个存储单元中可储存3个比特的快闪存储器模块)、其他快闪存储器模块或其他具有相同特性的存储器模块。
可重写式非易失性存储器模块406是耦接至存储器控制电路单元404,并且用以储存主机系统11所写入的数据。可重写式非易失性存储器模块406具有实体抹除单元410(0)~410(B)。例如,实体抹除单元410(0)~410(B)可属于同一个存储器晶粒(die)或者属于不同的存储器晶粒。每一实体抹除单元分别具有多个实体程序程序化单元,其中属于同一个实体抹除单元之实体程序程序化单元可被独立地写入且被同时地抹除。然而,必须了解的是,本发明不限于此,每一实体抹除单元是可由64个实体程序程序化单元、256个实体程序程序化单元或其他任意个实体程序程序化单元所组成。
图5是根据本发明的一范例实施例所示出的存储器控制电路单元的概要方框图。
请参照图5,存储器控制电路单元404包括存储器管理电路502、主机接口504及存储器接口506。
存储器管理电路502用以控制存储器控制电路单元404的整体运作。具体来说,存储器管理电路502具有多个控制指令,并且在存储器存储装置10运作时,此些控制指令会被执行以进行数据的写入、读取与抹除等运作。以下说明存储器管理电路502的操作时,等同于说明存储器控制电路单元404的操作。
在本范例实施例中,存储器管理电路502的控制指令是以固件型式来实作。例如,存储器管理电路502具有微处理器单元(未示出)与只读存储器(未示出),并且此些控制指令是被刻录至此只读存储器中。当存储器存储装置10运作时,此些控制指令会由微处理器单元来执行以进行数据的写入、读取与抹除等运作。
在另一范例实施例中,存储器管理电路502的控制指令也可以程序码型式储存于可重写式非易失性存储器模块406的特定区域(例如,存储器模块中专用于存放系统数据的系统区)中。此外,存储器管理电路502具有微处理器单元(未示出)、只读存储器(未示出)及随机存取存储器(未示出)。特别是,此只读存储器具有开机码(boot code),并且当存储器控制电路单元404被致能时,微处理器单元会先执行此开机码来将储存于可重写式非易失性存储器模块406中的控制指令载入至存储器管理电路502的随机存取存储器中。之后,微处理器单元会运转此些控制指令以进行数据的写入、读取与抹除等运作。
此外,在另一范例实施例中,存储器管理电路502的控制指令也可以一硬件型式来实作。例如,存储器管理电路502包括微控制器、存储单元管理电路、存储器写入电路、存储器读取电路、存储器抹除电路与数据处理电路。存储单元管理电路、存储器写入电路、存储器读取电路、存储器抹除电路与数据处理电路是耦接至微控制器。存储单元管理电路用以管理可重写式非易失性存储器模块406的存储单元或其群组。存储器写入电路用以对可重写式非易失性存储器模块406下达写入指令序列以将数据写入至可重写式非易失性存储器模块406中。存储器读取电路用以对可重写式非易失性存储器模块406下达读取指令序列以从可重写式非易失性存储器模块406中读取数据。存储器抹除电路用以对可重写式非易失性存储器模块406下达抹除指令序列以将数据从可重写式非易失性存储器模块406中抹除。数据处理电路用以处理欲写入至可重写式非易失性存储器模块406的数据以及从可重写式非易失性存储器模块406中读取的数据。写入指令序列、读取指令序列及抹除指令序列可各别包括一个或多个程序码或指令码并且用以指示可重写式非易失性存储器模块406执行相对应的写入、读取及抹除等操作。在一范例实施例中,存储器管理电路502还可以下达其他类型的指令序列给可重写式非易失性存储器模块406以指示执行相对应的操作。
主机接口504是耦接至存储器管理电路502并且用以接收与识别主机系统11所传送的指令与数据。也就是说,主机系统11所传送的指令与数据会通过主机接口504来传送至存储器管理电路502。在本范例实施例中,主机接口504是相容于SATA标准。然而,必须了解的是本发明不限于此,主机接口504也可以是相容于PATA标准、IEEE 1394标准、PCIExpress标准、USB标准、SD标准、UHS-I标准、UHS-II标准、MS标准、MMC标准、eMMC标准、UFS标准、CF标准、IDE标准或其他适合的数据传输标准。
存储器接口506是耦接至存储器管理电路502并且用以存取可重写式非易失性存储器模块406。也就是说,欲写入至可重写式非易失性存储器模块406的数据会通过存储器接口506转换为可重写式非易失性存储器模块406所能接受的格式。具体来说,若存储器管理电路502要存取可重写式非易失性存储器模块406,存储器接口506会传送对应的指令序列。例如,这些指令序列可包括指示写入数据的写入指令序列、指示读取数据的读取指令序列、指示抹除数据的抹除指令序列、以及用以指示各种存储器操作(例如,改变读取电压电平或执行垃圾回收程序等等)的相对应的指令序列。这些指令序列例如是由存储器管理电路502产生并且通过存储器接口506传送至可重写式非易失性存储器模块406。这些指令序列可包括一个或多个信号,或是在总线上的数据。这些信号或数据可包括指令码或程序码。例如,在读取指令序列中,会包括读取的辨识码、存储器地址等信息。
在一范例实施例中,存储器控制电路单元404还包括错误检查与校正电路508、缓冲存储器510与电源管理电路512。
错误检查与校正电路508是耦接至存储器管理电路502并且用以执行错误检查与校正程序以确保数据的正确性。具体来说,当存储器管理电路502从主机系统11中接收到写入指令时,错误检查与校正电路508会为对应此写入指令的数据产生对应的错误更正码(error correcting code,ECC)和/或错误检查码(error detecting code,EDC),并且存储器管理电路502会将对应此写入指令的数据与对应的错误更正码和/或错误检查码写入至可重写式非易失性存储器模块406中。之后,当存储器管理电路502从可重写式非易失性存储器模块406中读取数据时会同时读取此数据对应的错误更正码和/或错误检查码,并且错误检查与校正电路508会依据此错误更正码和/或错误检查码对所读取的数据执行错误检查与校正程序。
缓冲存储器510是耦接至存储器管理电路502并且用以暂存来自于主机系统11的数据与指令或来自于可重写式非易失性存储器模块406的数据。电源管理电路512是耦接至存储器管理电路502并且用以控制存储器存储装置10的电源。
图6是根据一范例实施例所示出的缓冲存储器的示意图。
请参照图6,缓冲存储器510具有512个缓存单元(即,缓存单元610(0)~610(511)),且每一个缓存单元的容量为4KB(也称为第一单位容量)。具体而言,四个缓存单元的容量为对应可重写式非易失性存储器的一个实体程序程序化单元的容量。然而,必须了解的是,本范例实施例不限定配置在缓冲存储器510中的缓存单元的个数、缓存单元的容量以及主机系统11所传送的数据的大小。例如,在其他范例实施例中,缓冲存储器510中缓存单元的个数可以多于或少于512个缓存单元的容量。此外,主机系统11例如是以4KB为单位来传送或存取数据。或者,在另一范例实施例中,主机系统11每次所传送或存取的数据的容量也可以大于或小于4KB。
在本范例实施例中,可重写式非易失性存储器模块406的存储单元会构成多个实体程序程序化单元,并且此些实体程序程序化单元会构成多个实体抹除单元。例如,同一条字元线上的存储单元会组成一个或多个实体程序程序化单元。若每一个存储单元可储存2个以上的比特,则同一条字元线上的实体程序程序化单元至少可被分类为下实体程序程序化单元与上实体程序程序化单元。例如,一存储单元的最低有效比特(Least SignificantBit,LSB)是属于下实体程序程序化单元,并且一存储单元的最高有效比特(MostSignificant Bit,MSB)是属于上实体程序程序化单元。一般来说,在MLC NAND型快闪存储器中,下实体程序程序化单元的写入速度会大于上实体程序程序化单元的写入速度,和/或下实体程序程序化单元的可靠度是高于上实体程序程序化单元的可靠度。
在本范例实施例中,实体程序程序化单元为程序程序化的最小单元。即,实体程序程序化单元为写入数据的最小单元。例如,实体程序程序化单元为实体页面(page)或是实体扇(sector)。若实体程序程序化单元为实体页面,则此些实体程序程序化单元通常包括数据比特区与冗余(redundancy)比特区。数据比特区包含多个实体扇,用以储存使用者数据,而冗余比特区用以储存系统数据(例如,错误更正码)。
在本范例实施例中,数据比特区包含32个实体扇,且一个实体扇的大小为512比特组(byte,B)。然而,在其他范例实施例中,数据比特区中也可包含8个、16个或数目更多或更少的实体扇,并且每一个实体扇的大小也可以是更大或更小。另一方面,实体抹除单元为抹除之最小单位。即,每一实体抹除单元含有最小数目之一并被抹除之存储单元。例如,实体抹除单元为实体区块(block)。
图7是根据本发明的一范例实施例所示出的管理可重写式非易失性存储器模块的示意图。必须了解的是,在此描述可重写式非易失性存储器模块406的实体单元的运作时,以“选择”与“分组”等词来操作实体单元是逻辑上的概念。也就是说,可重写式非易失性存储器模块406的实体单元的实际位置并未更动,而是逻辑上对可重写式非易失性存储器模块406的实体单元进行操作。
请参照图7,存储器管理电路502会将可重写式非易失性存储器模块406的存储单元逻辑地分组为实体单元710(0)~710(B)。在本范例实施例中,实体单元710(0)~710(B)中的每一个实体单元是指一个或多个实体程序程序化单元。然而,在另一范例实施例中,实体单元710(0)~710(B)中的每一个实体单元则是指一个或多个实体抹除单元,例如,实体单元710(0)~710(B)中的每一个实体单元为实体抹除单元410(0)~410(B)。
在本范例实施例中,存储器管理电路502会将实体单元710(0)~710(B)逻辑地分组为储存区701与闲置(spare)区702。储存区701中的实体单元710(0)~710(A)储存有数据,而闲置区702中的实体单元710(A+1)~710(B)尚未被用来储存数据。例如,属于储存区701的每一个实体单元可能储存有有效数据和/或无效数据,而属于储存区701的某一个实体单元被抹除之后就会被关联至闲置区702。当属于储存区701的某一个实体单元被写满之后,某一个实体单元会被从闲置区702选择并且被关联至储存区701,以储存其他数据。
在本范例实施例中,存储器管理电路502会配置逻辑单元712(0)~712(C)以映射储存区701中的实体单元710(0)~710(A)。在本范例实施例中,主机系统11是通过逻辑地址(logical address,LA)来存取储存于储存区701中的数据,因此,逻辑单元712(0)~712(C)中的每一者是指一个逻辑地址,并且在本范例实施例中,逻辑单元612(0)~612(C)中的每一个逻辑单元会被映射至至少一个实体程序程序化单元。然而,在另一范例实施例中,逻辑单元712(0)~712(C)中的每一者也可以是指一个逻辑程序程序化单元、一个逻辑抹除单元或者由多个连续或不连续的逻辑地址组成。
一般而言,存储器管理电路502会将逻辑单元与实体单元之间的映射关系(也称为逻辑-实体映射关系)记录于至少一逻辑-实体映射表。当主机系统11欲从存储器存储装置10读取数据或写入数据至存储器存储装置10时,存储器管理电路502可根据此逻辑-实体映射表来执行对于存储器存储装置10的数据存取。例如,存储器管理电路502会在可重写式非易失性存储器模块406中储存一个或多个逻辑-实体映射表来记录逻辑地址与实体抹除单元或逻辑地址与实体程序程序化单元之间的映射信息。当主机系统11下达多个读取指令(也称为第一读取指令)给存储器管理电路502,并且这些第一读取指令是例如是指示读取逻辑地址712(0)~712(C)中的一个或多个逻辑地址。存储器管理电路502会将这些第一读取指令放入一个指令阵列(command queue)当中,并且存储器管理电路502会决定执行这些第一读取指令的执行顺序。若存储器管理电路502要执行一个第一读取指令,则存储器管理电路502会取得此第一读取指令所要读取的逻辑地址,并取得此逻辑地址所映射的一个实体抹除单元或实体程序程序化单元,并从此实体抹除单元或实体程序程序化单元中读取数据,以将这些数据传送给主机系统11。
值得注意的是,在存储器管理电路502下达对应指令阵列中的至少一第一读取指令的读取指令序列(也称为第一读取指令序列)后,存储器管理电路502即会将对应目前缓冲区中映射信息的数据从可重写式非易失性存储器模块406中读取至用以暂存来自于主机系统11的数据与指令或来自于可重写式非易失性存储器模块406的数据的缓冲区(也称为数据上载操作),并从缓冲区接收此些数据(也称为内部数据传输),此时,可重写式非易失性存储器模块406会处于忙碌(busy)状态,且在此忙碌状态下存储器管理电路502无法对其再下达任何指令序列。
此外,由于存储器管理电路502下达对应第一读取指令的第一读取指令序列之前,存储器管理电路502会载入此读取指令所对应的逻辑-实体映射表至缓冲存储器510中,以在存储器管理电路502下达对应第一读取指令的第一读取指令序列之后,即可依据缓冲存储器510中的逻辑-实体映射表来写入或读取数据。因此,请再参照图6,缓冲存储器510中通常会配置有用以暂存来自于主机系统11的数据与指令或来自于可重写式非易失性存储器模块406的数据的缓冲区612(也称为第一缓冲区612)与用以暂存逻辑-实体映射表的缓冲区614(也称为第二缓冲区614)。一般而言,第一缓冲区612的容量通常会大于第二缓冲区614的容量,即,配置给第一缓冲区612的缓存单元的数量大于配置给第二缓冲区614的缓存单元的数量。应注意的是,本发明并不欲加以限制配置给第一缓冲区612的缓存单元的数量与配置给第二缓冲区614的缓存单元的数量,例如,在另一范例实施例中,可依据存储器存储装置10的性能与设计需求将第一缓冲区612的缓存单元的数量配置为大于两个缓存单元或小于两个缓存单元。
特别是,在主机系统11是执行随机读取操作的情况下,随机读取指令所对应的逻辑地址会分散地被记录在逻辑-实体映射表中,因此,存储器管理电路502需要载入逻辑-实体映射表中多个部分的映射信息至缓冲存储器510中的第二缓冲区614。再者,由于缓冲存储器510的容量有限,因此,存储器管理电路502需多次地将多个部分的映射信息载入缓冲存储器510的第二缓冲区614,即,受限于配置来暂存逻辑-实体映射表的第二缓冲区的容量(例如,两个缓存单元的大小)无法同时暂存多个部分的映射信息,则存储器管理电路502必须在其完成将对应目前第二缓冲区614中映射信息的数据从可重写式非易失性存储器模块406中读取至第一缓冲区612(即,数据上载操作),以及将此些数据从第一缓冲区612传输至其本身(即,内部数据传输)后,存储器管理电路502才能再载入其他部分的映射信息至第二缓冲区中,并对可重写式非易失性存储器模块406下达指令阵列中的下一个随机读取指令。也就是说,当主机系统11执行随机读取操作且可重写式非易失性存储器模块406处于忙碌状态时,存储器管理电路502执行读取指令的效率低落,进而导致存储器存储装置10的整体效能降低。
有鉴于此,在本范例实施例中,当存储器管理电路502从主机系统11接收包括多个逻辑单元(也称为第一逻辑单元)的多个第一读取指令时,存储器管理电路502会将这些读取指令放入指令阵列中,并根据指令阵列中的第一读取指令判断主机系统11是否正在执行随机读取操作。例如,存储器管理电路502会判断第一读取指令所包括的多个第一逻辑单元是否为连续的逻辑地址。倘若第一逻辑单元为非连续的逻辑地址则代表第一读取指令为随机读取指令,由此存储器管理电路502会判断主机系统11正在执行随机读取操作;反之,倘若第一逻辑单元为连续的逻辑地址即代表第一读取指令为连续读取指令,则存储器管理电路502会判断主机系统11正在执行连续读取操作。之后,存储器管理电路502会根据前述的判断结果来执行逻辑-实体映射表预载操作,例如,当存储器管理电路502判断多个第一逻辑单元非为连续的逻辑地址时,其会执行第一逻辑-实体映射表预载操作;反之,当存储器管理电路502判断多个第一逻辑单元为连续的逻辑地址时,其会执行第二逻辑-实体映射表预载操作。值得注意的是,第一逻辑-实体映射表预载操作不同于第二逻辑-实体映射表预载操作。
应注意的是,在本范例实施例中,第一读取指令还包括至少一第二逻辑单元,并且对应上述第一逻辑单元的第一读取指令的执行顺序为第一执行顺序,而对应第二逻辑单元之第一读取指令的执行顺序为第二执行顺序,举例而言,对应至少一第二逻辑单元的第一读取指令的第二执行顺序在对应多个第一逻辑单元的第一读取指令的第一执行顺序之前。更详细地说,当存储器管理电路502判断主机系统11正在执行随机读取操作时(例如,判断多个第一逻辑单元非为连续的逻辑地址时),存储器管理电路502会在从实体抹除单元中读取属于至少一第二逻辑单元的数据至第一缓冲区612的期间(即,对应于忙碌状态的期间),执行第一逻辑-实体映射表预载操作。
在本范例实施例中,存储器管理电路502所执行的第一逻辑-实体映射表预载操作是根据第一读取指令的第一执行顺序,从可重写式非易失性存储器模块406非同步地预载入多个逻辑-实体映射表之中对应第一逻辑单元的映射信息至缓冲存储器510的第一缓冲区612(即,用以暂存来自于主机系统11的数据与指令或来自于可重写式非易失性存储器模块406的数据的缓冲区612)中,而非将对应第一逻辑单元的映射信息载入用以暂存逻辑-实体映射表的第二缓冲区614。特别是,藉由在可重写式非易失性存储器模块406处于忙碌状态的期间将主机系统11执行随机读取操作所产生的多个非连续的映射信息依序地预载入空间较大的第一缓冲区,可充分地利用原本忙碌状态中所需的等待时间,且有效地缩短存储器管理电路502执行读取指令的时间。
在存储器管理电路502执行第一逻辑-实体映射表预载操作之后,存储器管理电路502会发送对应第一读取指令的第一读取指令序列,并根据第一缓冲区612中的第一逻辑单元的映射信息从实体抹除单元中读取属于第一逻辑单元的数据至第一缓冲区612中。在此,存储器管理电路502是以属于第一逻辑单元的数据取代第一缓冲区中第一逻辑单元的映射信息,例如,存储器管理电路502是将所读取的属于第一逻辑单元的数据暂存至第一缓冲区中原先暂存第一逻辑单元的映射信息的缓存单元,由此可有效地节省缓冲存储器510的使用空间。为了更清楚地描述本发明的映射表载入方法与存储器管理电路502的运作,以下将参照图8与图9A~图9E以一范例来进行说明。
图8是根据本发明的一范例实施例所示出的判断主机系统是否正在执行随机读取操作的流程图。图9A~9B是根据本发明的一范例实施例所示出的判断主机系统是否正在执行随机读取操作的示意图。
请先参照图9A,存储器管理电路502从主机系统11依序接收包括多个第一逻辑单元(即,第一逻辑单元712(0)、第一逻辑单元712(21)、第一逻辑单元712(55)、第一逻辑单元712(56)、第一逻辑单元712(C-1))的多个第一读取指令(即,第一读取指令RCmd1、第一读取指令RCmd2、第一读取指令RCmd3、第一读取指令RCmd4、第一读取指令RCmd5)时,存储器管理电路502会将这些读取指令放入指令阵列800中,并决定此些第一读取指令的顺序。例如,在本范例实施例中,存储器管理电路502所决定的第一读取指令的第一执行顺序依序为RCmd1、RCmd2、RCmd4、RCmd5、RCmd3,然而,本发明并不加以限制第一读取指令的第一执行顺序,例如,在另一范例实施例中,存储器管理电路502所决定之第一读取指令的第一执行顺序相同于从主机系统11接收第一读取指令的接收顺序。在本范例实施例中,存储器管理电路502会根据指令阵列800中的第一读取指令判断主机系统11是否正在执行随机读取操作。
请参照图8与图9A~图9B,在步骤S801中,存储器管理电路502会根据指令阵列800的第一读取指令RCmd1、第一读取指令RCmd2、第一读取指令RCmd4、第一读取指令RCmd5、第一读取指令RCmd3的第一执行顺序(如图9A所示),从指令阵列800读取第一读取指令的其中之一,并从逻辑-实体映射表810之中读取对应此第一读取指令的其中之一的映射信息(也称为第一映射信息)至缓冲存储器510的第二缓冲区614中。例如,存储器管理电路502根据所述第一执行顺序读取指令阵列800中第一个第一读取指令RCmd1,并从逻辑-实体映射表810中读取对应此第一读取指令RCmd1的第一映射信息811至缓冲存储器510中第二缓冲区614的缓存单元610(0)中(如图9B所示)。
接着,在步骤S803中,存储器管理电路502会根据指令阵列800中第一读取指令的第一执行顺序(如图9A所示),从指令阵列800中读取第一读取指令的其中之另一。例如,存储器管理电路502是依序地从指令阵列800中读取第二个第一读取指令RCmd2。
在步骤S805中,存储器管理电路502会根据第一读取指令的其中之一(即,第一读取指令RCmd1)的逻辑单元与第一读取指令的其中之另一(即,第一读取指令RCmd2)的逻辑单元,判断第一逻辑单元是否为连续的逻辑地址。具体而言,存储器管理电路502会识别第一读取指令RCmd1的逻辑单元712(0)与第一读取指令RCmd2的逻辑单元712(21)为两个不连续的逻辑地址,而判断多个第一逻辑单元非为连续的逻辑地址。即,存储器管理电路502会判断主机系统11正在执行随机读取操作。因此,存储器管理电路502会执行第一逻辑-实体映射表预载操作(如步骤S807所示)。反之,在另一范例实施例中,若第一读取指令RCmd1的逻辑单元与第一读取指令RCmd2的逻辑单元为连续的逻辑地址,则存储器管理电路502会执行第二逻辑-实体映射表预载操作(如步骤S809所示)。以下将参照图9C~图9E来说明存储器管理电路502判断主机系统11正在执行随机读取操作后所执行的第一逻辑-实体映射表预载操作。
图9C是根据本发明的一范例实施例所示出的逻辑-实体映射表及其逻辑单元与实体程序程序化单元的映射关系的示意图。图9D是根据本发明的一范例实施例所示出的执行第一逻辑-实体映射表预载操作的示意图。
为了方便说明,图9C以一个实体抹除单元包括4个实体程序程序化单元为例进行说明,然而,本领域普通技术人员应可理解一个实体抹除单元不只具有4个实体程序程序化单元,且可具有其他任意个实体程序程序化单元,在此并不赘述。请参照图9C与图9D,存储器管理电路502根据逻辑-实体映射表810中的映射信息811、映射信息812、映射信息813、映射信息814与映射信息815可得知第一逻辑单元712(0)映射至实体程序程序化单元710(1),第一逻辑单元712(21)映射至实体程序程序化单元710(9),第一逻辑单元712(56)映射至实体程序程序化单元710(7),第一逻辑单元712(C-1)映射至实体程序程序化单元710(A-3),而第一逻辑单元712(55)映射至实体程序程序化单元710(5)(如图9C所示)。在本发明范例实施例中,在存储器管理电路502判断主机系统11正在执行随机读取操作的情况下,存储器管理电路502会根据指令阵列800中第一读取指令的第一执行顺序,依序地将逻辑-实体映射表810之中对应每一个第一逻辑单元712(0)、第一逻辑单元712(21)、第一逻辑单元712(56)、第一逻辑单元712(C-1)与第一逻辑单元712(55)的映射信息(即,映射信息811、映射信息812、映射信息814、映射信息815、映射信息813)分别暂存至属于第一缓冲区612的缓存单元610(2)~610(6)中(如图9D所示)。在本范例实施例中是假设一个实体程序程序化单元的容量所储存的数据即为4KB且一个缓存单元的容量为4KB,换言之,一个缓存单元记录的映射信息所映射的数据量是4KB。
值得注意的是,在本范例实施例中,是以存储器管理电路502从主机系统11依序接收五个第一读取指令(即,第一读取指令RCmd1、第一读取指令RCmd2、第一读取指令RCmd3、第一读取指令RCmd4、第一读取指令RCmd5)进行说明,并且在存储器管理电路502执行第一逻辑-实体映射表预载操作时,存储器管理电路502是于可重写式非易失性存储器模块406处于忙碌状态时将对应此五个读取指令的映射信息皆载入第一缓冲区612中。但本发明并不限于此。例如,在另一范例实施例中,存储器管理电路502是从主机系统11依序接收大于或小于五个的第一读取指令。举例而言,倘若在另一范例实施例中,存储器管理电路502从主机系统11依序接收十个第一读取指令,则在存储器管理电路502执行第一逻辑-实体映射表预载操作时,存储器管理电路502会根据可重写式非易失性存储器模块406的忙碌状态所对应的忙碌时间来决定是否同时将对应此十个读取指令的映射信息非同步地载入第一缓冲区612中。例如,存储器管理电路502可在此忙碌时间中将对应此十个读取指令的映射信息皆载入第一缓冲区612中,或者在此忙碌时间中仅先将其中五个读取指令的映射信息载入第一缓冲区612中。
之后,当可重写式非易失性存储器模块406非处于忙碌状态时,例如,当存储器管理电路502执行完对应至少一第二逻辑单元的数据上载操作与内部数据传输后,存储器管理电路502会根据第一缓冲区612中的第一逻辑单元的映射信息811、映射信息812、映射信息814、映射信息815与映射信息813依序地从实体程序程序化单元710(1)、实体程序程序化单元710(9)、实体程序程序化单元710(7)、实体程序程序化单元710(A-3)与实体程序程序化单元710(5)中读取数据至第一缓冲区612中。
图9E是根据本发明的一范例实施例所示出的以属于第一逻辑单元的数据取代第一缓冲区中第一逻辑单元的映射信息的示意图。
请同时参照图9C至图9E,在本范例实施例中,存储器管理电路502是将属于第一逻辑单元且数据量是4KB的数据暂存至记录有其映射信息的缓存单元中。举例而言,存储器管理电路502可根据第一缓冲区612的缓存单元610(2)中的映射信息811,而从实体程序程序化单元710(1)读取数据80,并将此数据80暂存至记录有其映射信息811的缓存单元610(2),即,以数据80取代缓存单元610(2)中的映射信息811。并且,以此类推,存储器管理电路502会依序地将从实体程序程序化单元710(9)读取的数据86,从实体程序程序化单元710(7)读取的数据84,从实体程序程序化单元710(A-3)读取的数据88,以及从实体程序程序化单元710(5)读取的数据82分别地取代缓存单元610(3)中的映射信息812,缓存单元610(4)中的映射信息814,缓存单元610(5)中的映射信息815与缓存单元610(6)中的映射信息813。之后,存储器管理电路502会传输此些数据80、数据86、数据84、数据88与数据82以从第一缓冲区612接收此些数据,并将所接收的数据80、数据86、数据84、数据88与数据82通过数据传输接口114传送至主机系统11。
值得注意是,在一个缓存单元的容量为4KB的例子中,本发明是假设一个实体程序程序化单元的容量所储存的数据即为4KB,因此,在执行第一逻辑-实体映射表预载操作时,一个缓存单元会被配置来记录容量为4KB的数据,即,一个缓存单元仅记录一个实体程序程序化单元及其逻辑单元的映射信息。然而,本发明并不欲加以限制实体程序程序化单元所储存的数据容量,例如,在另一范例实施例中,若一个实体程序程序化单元所储存的数据容量小于4KB,则一个缓存单元会记录多个实体程序程序化单元及其逻辑单元的映射信息,并且属于此一个缓存单元的映射信息所对应的多个实体程序程序化单元中的数据容量的总和为4KB。
另一方面,倘若存储器管理电路502判断主机系统11正在执行连续读取操作时(即,判断多个第一逻辑单元为连续的逻辑地址时),存储器管理电路502会执行第二逻辑-实体映射表预载操作。在此,由于连续的逻辑地址会以连续的映射信息被记录在逻辑-实体映射表中,也就是说,存储器管理电路502不需多次地载入逻辑-实体映射表中的映射信息。因此,存储器管理电路502可从可重写式非易失性存储器模块406一次性地预载入逻辑-实体映射表之中第一逻辑单元的映射信息至缓冲存储器510的第二缓冲区614中。例如,在上述图9B的状态下,若存储器管理电路502判断第一读取指令RCmd1的逻辑单元与第二个第一读取指令RCmd2的逻辑单元为连续的逻辑地址,则存储器管理电路502会将对应指令阵列800中多个第一读取指令所对应的第一逻辑单元的所有映射信息一次性地读取至第二缓冲区614的缓存单元610(0)中。接着,存储器管理电路502会根据第二缓冲区614中所记录之第一逻辑单元的映射信息从实体抹除单元中读取属于第一逻辑单元中的数据至第一缓冲区612。
图10是根据本发明的一范例实施例所示出的映射表载入方法的流程图。
请参照图10,在步骤S1001中,存储器管理电路502会配置多个逻辑单元,其中每一个逻辑单元对应至至少一个实体程序程序化单元。
在步骤S1003中,存储器管理电路502会从主机系统中接收多个第一读取指令,其中此些第一读取指令包括多个第一逻辑单元。
在步骤S1005中,当所述第一逻辑单元非为连续的逻辑地址时,存储器管理电路502会执行第一逻辑-实体映射表预载操作,以根据所述第一读取指令的第一执行顺序,从可重写式非易失性存储器模块非同步地预载入逻辑-实体映射表之中对所述第一逻辑单元的映射信息至缓冲存储器的第一缓冲区中。
在步骤S1007中,存储器管理电路502发送对应所述第一读取指令的第一读取指令序列,根据所述第一逻辑单元的映射信息从所述实体抹除单元中读取属于所述第一逻辑单元的数据至第一缓冲区,并以属于所述第一逻辑单元的数据取代第一缓冲区中所述第一逻辑单元的映射信息。
然而,图10中各步骤已详细说明如上,在此便不再赘述。值得注意的是,图10中各步骤可以作为多个程序码或是电路,本发明不加以限制。此外,图10的方法可以搭配以上范例实施例使用,也可以单独使用,本发明不加以限制。
综上所述,本发明范例实施例提出的映射表载入方法、存储器存储装置与存储器控制电路单元,可在可重写式非易失性存储器模块处于忙碌状态的期间将主机系统执行随机读取操作所产生的多个非连续的映射信息依序地预载入空间较大的第一缓冲区(即,用以暂存来自于主机系统的数据与指令或来自于可重写式非易失性存储器模块的数据的缓冲区),由此可充分地利用原本忙碌状态中所需的等待时间,进而有效地缩短执行读取指令的时间。另一方面,本发明会以从可重写式非易失性存储器模块中所读取的数据取代第一缓冲区中关于此些数据的映射信息。如此一来,可在可重写式非易失性存储器模块处于忙碌状态的期间且主机系统执行随机读取操作时,使得所读取的映射信息不再受限于配置来暂存逻辑-实体映射表的第二缓冲区的容量,并且有效地节省缓冲存储器的空间配置,更提升了存储器存储装置进行数据读取时的速度与效能。
虽然本发明已以实施例揭示如上,然其并非用以限定本发明,任何所属技术领域中普通技术人员,在不脱离本发明的精神和范围内,当可作些许的更改与润饰,均在本发明范围内。
Claims (22)
1.一种映射表载入方法,用于可重写式非易失性存储器模块,其特征在于,所述可重写式非易失性存储器模块具有多个实体抹除单元,每一个实体抹除单元具有多个实体程序程序化单元,其中逻辑-实体映射表储存于所述可重写式非易失性存储器模块中,所述映射表载入方法包括:
配置多个逻辑单元,其中每一个逻辑单元对应至至少一个实体程序程序化单元;
由具有缓冲存储器的存储器控制电路单元接收多个第一读取指令,其中所述多个第一读取指令包括多个第一逻辑单元;
当所述多个第一逻辑单元不为连续的逻辑地址时,执行第一逻辑-实体映射表预载操作,其中所述第一逻辑-实体映射表预载操作包括根据所述多个第一读取指令的第一执行顺序,从所述可重写式非易失性存储器模块读取所述逻辑-实体映射表之中对应所述多个第一逻辑单元的映射信息至所述缓冲存储器的第一缓冲区中;以及
发送对应所述多个第一读取指令的第一读取指令序列,根据所述多个第一逻辑单元的映射信息从所述多个实体抹除单元中读取属于所述多个第一逻辑单元的数据至所述第一缓冲区,并以属于所述多个第一逻辑单元的数据取代所述第一缓冲区中所述多个第一逻辑单元的映射信息。
2.根据权利要求1所述的映射表载入方法,其特征在于,所述多个第一读取指令还包括至少一第二逻辑单元,所述映射表载入方法还包括:
在从所述多个实体抹除单元中读取属于所述至少一第二逻辑单元的数据至所述第一缓冲区的期间,执行所述第一逻辑-实体映射表预载操作,其中对应所述至少一第二逻辑单元的所述多个第一读取指令的第二执行顺序在对应所述多个第一逻辑单元的所述多个第一读取指令的所述第一执行顺序之前。
3.根据权利要求1所述的映射表载入方法,其特征在于,还包括:
当所述多个第一逻辑单元为连续的逻辑地址时,执行第二逻辑-实体映射表预载操作,其中所述第二逻辑-实体映射表预载操作包括从所述可重写式非易失性存储器模块读取所述逻辑-实体映射表之中对应所述多个第一逻辑单元的映射信息至所述缓冲存储器的第二缓冲区中,其中所述第二缓冲区不同于所述第一缓冲区;以及
发送对应所述第一读取指令的所述第一读取指令序列,根据所述多个第一逻辑单元的映射信息从所述多个实体抹除单元中读取属于所述多个第一逻辑单元中的数据至所述第一缓冲区。
4.根据权利要求3所述的映射表载入方法,其特征在于,由具有所述缓冲存储器的所述存储器控制电路单元接收所述多个第一读取指令的步骤还包括:
将所述多个第一读取指令放入指令阵列中;
根据所述指令阵列中所述多个第一读取指令的所述第一执行顺序,从所述指令阵列中读取所述多个第一读取指令的其中之一,并从所述逻辑-实体映射表之中读取对应所述多个第一读取指令的其中之一的第一映射信息至所述缓冲存储器的所述第二缓冲区中;
根据所述指令阵列中所述多个第一读取指令的所述第一执行顺序,从所述指令阵列中读取所述多个第一读取指令中的另一个;以及
根据所述多个第一读取指令的其中之一的逻辑单元与所述多个第一读取指令中的另一个的逻辑单元,判断所述多个第一逻辑单元是否为连续的逻辑地址,其中所述多个第一读取指令的其中之一的执行顺序在所述多个第一读取指令中的另一个的执行顺序之前。
5.根据权利要求1所述的映射表载入方法,其特征在于,所述缓冲存储器具有多个缓存单元,且个缓存单元的容量为第一单位容量,其中所述第一缓冲区包括的缓存单元的数量大于所述第二缓冲区包括的缓存单元的数量,执行所述第一逻辑-实体映射表预载操作的步骤还包括:
依序地将所述逻辑-实体映射表之中对应每一个第一逻辑单元的映射信息暂存至属于所述第一缓冲区的所述多个缓存单元,
其中,所述多个缓存单元记录的映射信息所映射的数据量是所述第一单位容量。
6.根据权利要求5所述的映射表载入方法,其特征在于,以属于所述多个第一逻辑单元的数据取代所述第一缓冲区中所述多个第一逻辑单元的映射信息的步骤包括:
将属于所述多个第一逻辑单元且数据量是所述第一单位容量的数据暂存至记录有其映射信息的缓存单元中,其中所述第一单位容量小于一个实体抹除单元的容量。
7.一种映射表载入方法,用于可重写式非易失性存储器模块,其特征在于,所述可重写式非易失性存储器模块具有多个实体抹除单元,每一个实体抹除单元具有多个实体程序程序化单元,其中逻辑-实体映射表储存于所述可重写式非易失性存储器模块中,所述映射表载入方法包括:
配置多个逻辑单元,其中每一个逻辑单元对应至至少一个实体程序程序化单元;
由具有缓冲存储器的存储器控制电路单元接收多个第一读取指令,其中所述多个第一读取指令包括多个第一逻辑单元;
根据指令阵列中所述多个第一读取指令的第一执行顺序,从所述指令阵列中读取所述多个第一读取指令的其中之一,并从所述逻辑-实体映射表之中读取对应所述多个第一读取指令的其中之一的第一映射信息至所述缓冲存储器的第二缓冲区中;
根据所述指令阵列中所述多个第一读取指令的所述第一执行顺序,从所述指令阵列中读取所述多个第一读取指令中的另一个;
根据所述多个第一读取指令的其中之一的逻辑单元与所述多个第一读取指令中另一个的逻辑单元,判断所述多个第一逻辑单元是否为连续的逻辑地址;以及
当判断所述多个第一逻辑单元不为连续的逻辑地址时,执行第一逻辑-实体映射表预载操作,其中所述第一逻辑-实体映射表预载操作包括根据所述多个第一读取指令的所述第一执行顺序,从所述可重写式非易失性存储器模块读取所述逻辑-实体映射表之中对应所述多个第一逻辑单元的映射信息至所述缓冲存储器的第一缓冲区中,其中所述第二缓冲区不同于所述第一缓冲区。
8.根据权利要求7所述的映射表载入方法,其特征在于,由具有所述缓冲存储器的所述存储器控制电路单元接收所述多个第一读取指令的步骤还包括:
将所述多个第一读取指令储存于所述指令阵列中,其中所述多个第一读取指令的其中之一的执行顺序在所述多个第一读取指令中的另一个的执行顺序之前。
9.根据权利要求7所述的映射表载入方法,其特征在于,执行所述第一逻辑-实体映射表预载操作之后的步骤,包括:
发送对应所述多个第一读取指令的第一读取指令序列,根据所述多个第一逻辑单元的映射信息从所述多个实体抹除单元中读取属于所述多个第一逻辑单元的数据至所述第一缓冲区,并以属于所述多个第一逻辑单元的数据取代所述第一缓冲区中所述多个第一逻辑单元的映射信息。
10.根据权利要求7所述的映射表载入方法,其特征在于,所述多个第一读取指令还包括至少一第二逻辑单元,所述映射表载入方法还包括:
在从所述多个实体抹除单元中读取属于所述至少一第二逻辑单元的数据至所述第一缓冲区的期间,执行所述第一逻辑-实体映射表预载操作,其中对应所述至少一第二逻辑单元的第一读取指令的第二执行顺序在对应所述多个第一逻辑单元的第一读取指令的所述第一执行顺序之前。
11.根据权利要求7所述的映射表载入方法,其特征在于,还包括:
当所述多个第一逻辑单元为连续的逻辑地址时,执行第二逻辑-实体映射表预载操作,其中所述第二逻辑-实体映射表预载操作包括从所述可重写式非易失性存储器模块读取所述逻辑-实体映射表之中对应所述多个第一逻辑单元的映射信息至所述缓冲存储器的所述第二缓冲区中;以及
发送对应所述第一读取指令的所述第一读取指令序列,根据所述多个第一逻辑单元的映射信息从所述多个实体抹除单元中读取属于所述多个第一逻辑单元中的数据至所述第一缓冲区。
12.一种存储器存储装置,其特征在于,包括:
连接接口单元,用以耦接至主机系统;
可重写式非易失性存储器模块;以及
存储器控制电路单元,耦接至所述连接接口单元与所述可重写式非易失性存储器模块,其中所述存储器控制电路单元包括缓冲存储器,并且用以配置多个逻辑单元,其中每一个逻辑单元对应至至少一个实体程序程序化单元,
其中所述存储器控制电路单元还用以从所述主机系统中接收多个第一读取指令,其中所述多个第一读取指令包括多个第一逻辑单元,
其中当所述多个第一逻辑单元不为连续的逻辑地址时,所述存储器控制电路单元还用以执行第一逻辑-实体映射表预载操作,其中所述第一逻辑-实体映射表预载操作包括根据所述多个第一读取指令的第一执行顺序,从所述可重写式非易失性存储器模块读取所述逻辑-实体映射表之中对应所述多个第一逻辑单元的映射信息至所述缓冲存储器的第一缓冲区中,
其中所述存储器控制电路单元还用以发送对应所述多个第一读取指令的第一读取指令序列,根据所述多个第一逻辑单元的映射信息从所述多个实体抹除单元中读取属于所述多个第一逻辑单元的数据至所述第一缓冲区,并以属于所述多个第一逻辑单元的数据取代所述第一缓冲区中所述多个第一逻辑单元的映射信息。
13.根据权利要求12所述的存储器存储装置,其特征在于,所述多个第一读取指令还包括至少一第二逻辑单元,
其中所述存储器控制电路单元还用以在从所述多个实体抹除单元中读取属于所述至少一第二逻辑单元的数据至所述第一缓冲区的期间,执行所述第一逻辑-实体映射表预载操作,其中对应所述至少一第二逻辑单元的所述多个第一读取指令的第二执行顺序在对应所述多个第一逻辑单元的所述多个第一读取指令的所述第一执行顺序之前。
14.根据权利要求12所述的存储器存储装置,其特征在于,当所述多个第一逻辑单元为连续的逻辑地址时,所述存储器控制电路单元还用以执行第二逻辑-实体映射表预载操作,其中所述第二逻辑-实体映射表预载操作包括从所述可重写式非易失性存储器模块读取所述逻辑-实体映射表之中对应所述多个第一逻辑单元的映射信息至所述缓冲存储器的第二缓冲区中,其中所述第二缓冲区不同于所述第一缓冲区,
其中所述存储器控制电路单元还用以发送对应所述第一读取指令的所述第一读取指令序列,根据所述多个第一逻辑单元的映射信息从所述多个实体抹除单元中读取属于所述多个第一逻辑单元中的数据至所述第一缓冲区。
15.根据权利要求14所述的存储器存储装置,其特征在于,在接收所述多个第一读取指令的操作中,
所述存储器控制电路单元还用以将所述多个第一读取指令放入一指令阵列中,根据所述指令阵列中所述多个第一读取指令的所述第一执行顺序,从所述指令阵列中读取所述多个第一读取指令的其中之一,并从所述逻辑-实体映射表之中读取对应所述多个第一读取指令中的另一个的第一映射信息至所述缓冲存储器的所述第二缓冲区中;
所述存储器控制电路单元还用以根据所述指令阵列中所述多个第一读取指令的所述第一执行顺序,从所述指令阵列中读取所述多个第一读取指令中的另一个;以及
所述存储器控制电路单元还用以根据所述多个第一读取指令的其中之一的逻辑单元与所述多个第一读取指令中的另一个的逻辑单元,判断所述多个第一逻辑单元是否为连续的逻辑地址,其中所述多个第一读取指令的其中之一的执行顺序在所述多个第一读取指令中的另一个的执行顺序之前。
16.根据权利要求12所述的存储器存储装置,其特征在于,所述缓冲存储器具有多个缓存单元,且一个缓存单元的容量为第一单位容量,其中所述第一缓冲区包括的缓存单元的数量大于所述第二缓冲区包括的缓存单元的数量,
其中在所述第一逻辑-实体映射表预载操作中,所述存储器控制电路单元还用以依序地将所述逻辑-实体映射表之中对应每一个第一逻辑单元的映射信息暂存至属于所述第一缓冲区的缓存单元,其中所述多个缓存单元记录的映射信息的数据量是所述第一单位容量。
17.根据权利要求16所述的存储器存储装置,其特征在于,在以属于所述多个第一逻辑单元的数据取代所述第一缓冲区中所述多个第一逻辑单元的映射信息的操作中,所述存储器控制电路单元还用以将属于所述多个第一逻辑单元且数据量是所述第一单位容量的数据暂存至记录有其映射信息的缓存单元中,其中所述第一单位容量小于一个实体抹除单元的容量。
18.一种存储器存储装置,其特征在于,包括:
连接接口单元,用以耦接至主机系统;
可重写式非易失性存储器模块;以及
存储器控制电路单元,耦接至所述连接接口单元与所述可重写式非易失性存储器模块,其中所述存储器控制电路单元包括缓冲存储器,并且用以配置多个逻辑单元,其中每一个逻辑单元对应至至少一个实体程序程序化单元,
其中所述存储器控制电路单元还用以从所述主机系统中接收多个第一读取指令,其中所述多个第一读取指令包括多个第一逻辑单元,
其中所述存储器控制电路单元还用以根据指令阵列中所述多个第一读取指令的第一执行顺序,从所述指令阵列中读取所述多个第一读取指令的其中之一,并从所述逻辑-实体映射表之中读取对应所述多个第一读取指令的其中之一的第一映射信息至所述缓冲存储器的第二缓冲区中,
其中所述存储器控制电路单元还用以根据所述指令阵列中所述多个第一读取指令的所述第一执行顺序,从所述指令阵列中读取所述多个第一读取指令中的另一个,
其中所述存储器控制电路单元还用以根据所述多个第一读取指令的其中之一的逻辑单元与所述多个第一读取指令中的另一个的逻辑单元,判断所述多个第一逻辑单元是否为连续的逻辑地址,
其中当判断所述多个第一逻辑单元不为连续的逻辑地址时,所述存储器控制电路单元还用以执行第一逻辑-实体映射表预载操作,其中所述第一逻辑-实体映射表预载操作包括根据所述多个第一读取指令的所述第一执行顺序,从所述可重写式非易失性存储器模块读取所述逻辑-实体映射表之中对应所述多个第一逻辑单元的映射信息至所述缓冲存储器的第一缓冲区中,其中所述第二缓冲区不同于所述第一缓冲区。
19.根据权利要求18所述的存储器存储装置,其特征在于,在由具有所述缓冲存储器的所述存储器控制电路单元接收所述多个第一读取指令的操作中,所述存储器控制电路单元还用以将所述多个第一读取指令储存于所述指令阵列中,其中所述多个第一读取指令的其中之一的执行顺序在所述多个第一读取指令中的另一个的执行顺序之前。
20.根据权利要求18所述的存储器存储装置,其特征在于,在执行所述第一逻辑-实体映射表预载操作之后,所述存储器控制电路单元还用以发送对应所述多个第一读取指令的第一读取指令序列,根据所述多个第一逻辑单元的映射信息从所述多个实体抹除单元中读取属于所述多个第一逻辑单元的数据至所述第一缓冲区,并以属于所述多个第一逻辑单元的数据取代所述第一缓冲区中所述多个第一逻辑单元的映射信息。
21.根据权利要求18所述的存储器存储装置,其特征在于,所述多个第一读取指令还包括至少一第二逻辑单元,
其中所述存储器控制电路单元还用以在从所述多个实体抹除单元中读取属于所述至少一第二逻辑单元的数据至所述第一缓冲区的期间,执行所述第一逻辑-实体映射表预载操作,其中对应所述至少一第二逻辑单元的所述多个第一读取指令的第二执行顺序在对应所述多个第一逻辑单元的所述多个第一读取指令的所述第一执行顺序之前。
22.根据权利要求18所述的存储器存储装置,其特征在于,当所述多个第一逻辑单元为连续的逻辑地址时,所述存储器控制电路单元还用以执行第二逻辑-实体映射表预载操作,其中所述第二逻辑-实体映射表预载操作包括从所述可重写式非易失性存储器模块读取所述逻辑-实体映射表之中对应所述多个第一逻辑单元的映射信息至所述缓冲存储器的所述第二缓冲区中,
其中所述存储器控制电路单元还用以发送对应所述第一读取指令的所述第一读取指令序列,根据所述多个第一逻辑单元的映射信息从所述多个实体抹除单元中读取属于所述多个第一逻辑单元中的数据至所述第一缓冲区。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610864949.5A CN106681654B (zh) | 2016-09-29 | 2016-09-29 | 映射表载入方法与存储器存储装置 |
US15/352,589 US9952806B2 (en) | 2016-09-29 | 2016-11-16 | Mapping table loading method and memory storage apparatus |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610864949.5A CN106681654B (zh) | 2016-09-29 | 2016-09-29 | 映射表载入方法与存储器存储装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106681654A true CN106681654A (zh) | 2017-05-17 |
CN106681654B CN106681654B (zh) | 2019-08-27 |
Family
ID=58840136
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610864949.5A Active CN106681654B (zh) | 2016-09-29 | 2016-09-29 | 映射表载入方法与存储器存储装置 |
Country Status (2)
Country | Link |
---|---|
US (1) | US9952806B2 (zh) |
CN (1) | CN106681654B (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109656837A (zh) * | 2017-10-11 | 2019-04-19 | 爱思开海力士有限公司 | 存储器系统及其操作方法 |
CN110347330A (zh) * | 2018-04-02 | 2019-10-18 | 爱思开海力士有限公司 | 存储器系统及其操作方法 |
CN111124314A (zh) * | 2019-12-25 | 2020-05-08 | 深圳忆联信息系统有限公司 | 映射表动态加载的ssd性能提升方法、装置、计算机设备及存储介质 |
CN112506814A (zh) * | 2020-11-17 | 2021-03-16 | 合肥康芯威存储技术有限公司 | 一种存储器及其控制方法与存储系统 |
CN113504880A (zh) * | 2021-07-27 | 2021-10-15 | 群联电子股份有限公司 | 存储器缓冲区管理方法、存储器控制电路单元与存储装置 |
CN114416147A (zh) * | 2022-01-21 | 2022-04-29 | 深圳宏芯宇电子股份有限公司 | 固件载入方法、存储器及计算机可读存储介质 |
CN114707478A (zh) * | 2022-06-06 | 2022-07-05 | 飞腾信息技术有限公司 | 映射表生成方法、装置、设备及存储介质 |
CN116661684A (zh) * | 2023-05-10 | 2023-08-29 | 珠海妙存科技有限公司 | 一种闪存数据的读取方法、系统、设备及介质 |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6693547B2 (ja) * | 2018-09-28 | 2020-05-13 | ダイキン工業株式会社 | 情報送信装置および機器管理システム |
CN111208932B (zh) * | 2018-11-21 | 2023-03-24 | 群联电子股份有限公司 | 映射表更新方法、存储器控制电路单元与存储器存储装置 |
KR20200072854A (ko) * | 2018-12-13 | 2020-06-23 | 에스케이하이닉스 주식회사 | 데이터 처리 시스템 및 그것의 동작방법 |
WO2021184141A1 (en) * | 2020-03-15 | 2021-09-23 | Micron Technology, Inc. | Pre-load techniques for improved sequential read |
CN114327274B (zh) * | 2021-12-29 | 2023-07-04 | 深圳忆联信息系统有限公司 | 基于固态硬盘的映射表加载检查方法、装置及计算机设备 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101539842A (zh) * | 2009-04-27 | 2009-09-23 | 杭州华三通信技术有限公司 | 磁盘阵列系统的数据写入方法及磁盘阵列系统 |
US20140289451A1 (en) * | 2013-03-20 | 2014-09-25 | Phison Electronics Corp. | Method of recording mapping information, and memory controller and memory storage apparatus using the same |
CN104102585A (zh) * | 2013-04-03 | 2014-10-15 | 群联电子股份有限公司 | 映射信息记录方法、存储器控制器与存储器储存装置 |
CN104423888A (zh) * | 2013-08-23 | 2015-03-18 | 群联电子股份有限公司 | 数据写入方法、存储器控制电路单元与存储器存储装置 |
CN104657083A (zh) * | 2013-11-19 | 2015-05-27 | 群联电子股份有限公司 | 数据写入方法、存储器储存装置、存储器控制电路单元 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2009131498A1 (en) * | 2008-04-21 | 2009-10-29 | Telefonaktiebolaget L M Ericsson (Publ) | Qci mapping at roaming and handover |
KR20150006614A (ko) * | 2013-07-09 | 2015-01-19 | 에스케이하이닉스 주식회사 | 데이터 저장 장치 및 그것의 동작 방법 |
US9858008B2 (en) * | 2014-10-30 | 2018-01-02 | ScaleFlux | Method to reduce flash memory IOs with host maintained address mapping table |
-
2016
- 2016-09-29 CN CN201610864949.5A patent/CN106681654B/zh active Active
- 2016-11-16 US US15/352,589 patent/US9952806B2/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101539842A (zh) * | 2009-04-27 | 2009-09-23 | 杭州华三通信技术有限公司 | 磁盘阵列系统的数据写入方法及磁盘阵列系统 |
US20140289451A1 (en) * | 2013-03-20 | 2014-09-25 | Phison Electronics Corp. | Method of recording mapping information, and memory controller and memory storage apparatus using the same |
CN104102585A (zh) * | 2013-04-03 | 2014-10-15 | 群联电子股份有限公司 | 映射信息记录方法、存储器控制器与存储器储存装置 |
CN104423888A (zh) * | 2013-08-23 | 2015-03-18 | 群联电子股份有限公司 | 数据写入方法、存储器控制电路单元与存储器存储装置 |
CN104657083A (zh) * | 2013-11-19 | 2015-05-27 | 群联电子股份有限公司 | 数据写入方法、存储器储存装置、存储器控制电路单元 |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109656837A (zh) * | 2017-10-11 | 2019-04-19 | 爱思开海力士有限公司 | 存储器系统及其操作方法 |
CN110347330A (zh) * | 2018-04-02 | 2019-10-18 | 爱思开海力士有限公司 | 存储器系统及其操作方法 |
CN110347330B (zh) * | 2018-04-02 | 2023-08-01 | 爱思开海力士有限公司 | 存储器系统及其操作方法 |
CN111124314A (zh) * | 2019-12-25 | 2020-05-08 | 深圳忆联信息系统有限公司 | 映射表动态加载的ssd性能提升方法、装置、计算机设备及存储介质 |
CN112506814A (zh) * | 2020-11-17 | 2021-03-16 | 合肥康芯威存储技术有限公司 | 一种存储器及其控制方法与存储系统 |
CN112506814B (zh) * | 2020-11-17 | 2024-03-22 | 合肥康芯威存储技术有限公司 | 一种存储器及其控制方法与存储系统 |
CN113504880B (zh) * | 2021-07-27 | 2024-02-23 | 群联电子股份有限公司 | 存储器缓冲区管理方法、存储器控制电路单元与存储装置 |
CN113504880A (zh) * | 2021-07-27 | 2021-10-15 | 群联电子股份有限公司 | 存储器缓冲区管理方法、存储器控制电路单元与存储装置 |
CN114416147A (zh) * | 2022-01-21 | 2022-04-29 | 深圳宏芯宇电子股份有限公司 | 固件载入方法、存储器及计算机可读存储介质 |
CN114707478A (zh) * | 2022-06-06 | 2022-07-05 | 飞腾信息技术有限公司 | 映射表生成方法、装置、设备及存储介质 |
CN114707478B (zh) * | 2022-06-06 | 2022-09-02 | 飞腾信息技术有限公司 | 映射表生成方法、装置、设备及存储介质 |
CN116661684A (zh) * | 2023-05-10 | 2023-08-29 | 珠海妙存科技有限公司 | 一种闪存数据的读取方法、系统、设备及介质 |
CN116661684B (zh) * | 2023-05-10 | 2024-02-23 | 珠海妙存科技有限公司 | 一种闪存数据的读取方法、系统、设备及介质 |
Also Published As
Publication number | Publication date |
---|---|
CN106681654B (zh) | 2019-08-27 |
US9952806B2 (en) | 2018-04-24 |
US20180088863A1 (en) | 2018-03-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106681654B (zh) | 映射表载入方法与存储器存储装置 | |
CN107844431A (zh) | 映射表更新方法、存储器控制电路单元与存储器存储装置 | |
CN106681932A (zh) | 存储器管理方法、存储器控制电路单元及存储器存储装置 | |
CN106990921B (zh) | 数据写入方法、存储器存储装置与存储器控制电路单元 | |
CN107590080B (zh) | 映射表更新方法、存储器控制电路单元及存储器存储装置 | |
CN107402716A (zh) | 数据写入方法、内存控制电路单元与内存储存装置 | |
TWI571882B (zh) | 平均磨損方法、記憶體控制電路單元及記憶體儲存裝置 | |
CN106775436B (zh) | 数据存取方法、存储器控制电路单元与存储器 | |
CN106681652A (zh) | 存储器管理方法、存储器控制电路单元与存储器存储装置 | |
CN107818808A (zh) | 数据写入方法、存储器控制电路单元与存储器存储装置 | |
CN109491588A (zh) | 存储器管理方法、存储器控制电路单元与存储器存储装置 | |
CN106708416A (zh) | 数据重建方法与系统及其存储器控制电路单元 | |
CN107544922A (zh) | 数据写入方法、存储器控制电路单元及存储器存储装置 | |
CN108733577A (zh) | 存储器管理方法、存储器控制电路单元及存储器存储装置 | |
CN106951186A (zh) | 数据程序化方法、存储器存储装置及存储器控制电路单元 | |
CN107346211A (zh) | 映射表加载方法、内存控制电路单元与内存储存装置 | |
CN106959818A (zh) | 数据写入方法、内存控制电路单元与内存储存装置 | |
CN107102951B (zh) | 存储器管理方法、存储器控制电路单元与存储器储存装置 | |
CN112230849A (zh) | 存储器控制方法、存储器存储装置及存储器控制器 | |
CN108959109A (zh) | 数据读取方法、存储器控制电路单元与存储器存储装置 | |
CN109273033A (zh) | 存储器管理方法、存储器控制电路单元与存储器存储装置 | |
CN110275668B (zh) | 区块管理方法、存储器控制电路单元与存储器存储装置 | |
CN107103930A (zh) | 数据写入方法、内存控制电路单元与内存储存装置 | |
CN106681653B (zh) | 存储器抹除方法、存储器控制电路单元及存储器存储装置 | |
CN110442299A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |