CN115048051A - 数据读取方法、存储器控制器及存储器存储装置 - Google Patents
数据读取方法、存储器控制器及存储器存储装置 Download PDFInfo
- Publication number
- CN115048051A CN115048051A CN202210657212.1A CN202210657212A CN115048051A CN 115048051 A CN115048051 A CN 115048051A CN 202210657212 A CN202210657212 A CN 202210657212A CN 115048051 A CN115048051 A CN 115048051A
- Authority
- CN
- China
- Prior art keywords
- unit
- physical
- entity
- plane
- logic
- 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
Images
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/061—Improving I/O performance
- G06F3/0611—Improving I/O performance in relation to response time
-
- 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/0658—Controller construction 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/0683—Plurality of storage devices
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)
Abstract
本发明属于存储技术领域,其提供一种数据读取方法、存储器控制器及存储器存储装置,其在配置了具有多个晶粒(die)或多个平面(plane)的可复写式非易失性存储器模块的存储装置中,存储器控制器可使用多平面(multi‑plane)读取操作而同时对属于不同晶粒或属于不同平面的多个实体单元下达读取指令以同时读取存储在上述的多个实体单元中的数据,进而实现加快数据的读取速度。
Description
技术领域
本发明涉及存储技术领域,尤其涉及一种数据读取方法、存储器控制器及存储器存储装置。
背景技术
数码相机、手机与MP3播放器在这几年来的成长十分迅速,使得消费者对存储媒体的需求也急速增加。由于可复写式非易失性存储器模块(rewritable non-volatilememory module)具有数据非易失性、省电、体积小、无机械结构、读写速度快等特性,非常适合作为各种可携式电子产品的存储媒体而设置在各种可携式电子产品中。
NAND Flash其内部可以分为die、plane、block和page。其中,die是晶圆上的小方块,一个芯片里可能封装若干个die,由于flash的工艺不一样,技术不一样,由此产生了die的概念,常见的有Mono Die,a Die,b die等,一个芯片包含N个die,而一个die根据不同的型号,可以包括不同数量的plane。plane是NAND能够根据读、写、擦除等命令进行操作的最小单位,一个plane就是一个存储矩阵,包含若干个Block。Block是NAND Flash的最小擦除单位,一个Block包含了若干个Page。Page是NAND芯片的最小读写单位,一个Page包含若干个Byte。
在主机系统欲从存储器存储装置中读取存储数据时,由于存储器存储装置的数据读取原理,会存在数据命中率的问题。也就是,单次读取数据可能存在数据读取不出的情况,因此,需要多次对数据进行读取操作。当应用在数据量较大,数据读取速度要求较高的场景时,如果数据读取命中率较低,会严重影响数据读取的速度。
因此,如何提高存储器存储装置数据读取的命中率是本领域技术人员关注的重点问题。
发明内容
本申请为了提高存储器存储装置数据读取的速度,所采用的技术方案如下:
本发明的第一方面提供一种数据读取方法,应用于存储器存储装置,所述存储器存储装置包括存储器模块,所述存储器模块包括至少一晶粒,所述晶粒包括多个平面,所述平面包括多个实体单元,所述实体单元包括多个实体程序化单元,所述数据读取方法包括:从主机系统接收至少一个读取指令,其中每个所述读取指令分别指示读取实体单元中的数据;执行所述读取指令,载入逻辑至实体映射表,根据获取的多个逻辑至实体映射关系,执行对第一逻辑单元的读取操作以实现读取到第一实体单元和第二实体单元中的数据,所述第一逻辑单元映射至所述第一实体单元和第二实体单元;所述第一实体单元属于所述多个平面中的第一平面,所述第二实体单元属于所述多个平面中的第二平面,所述第一平面不同于所述第二平面;所述第一平面与所述第二平面属于所述至少一晶粒中的同一晶粒,所述第一实体单元的地址索引值和所述第二实体单元的地址索引值相同。
本发明的第二方面还提供一种存储器控制器,所述存储器存储装置包括连接接口、存储器模块及存储器控制器;所述存储器模块包括至少一晶粒,所述晶粒包括多个平面,所述平面包括多个实体单元,所述实体单元包括多个实体程序化单元;所述存储器控制器包括:主机接口,用于连接至主机系统;存储器接口,用于连接至所述存储器模块;缓冲存储器,所述缓冲存储器电性连接至存储器控制电路且用于暂存来自于主机系统的指令与数据或来自于所述存储器模块的逻辑至实体映射表与数据;存储器控制电路,其连接至所述主机接口与所述存储器接口;所述存储器控制电路从主机系统接收至少一个读取指令,其中每个所述读取指令分别指示读取实体单元中的数据;所述存储器控制电路用于执行所述读取指令,所述存储器控制电路用于将逻辑至实体映射表载入到所述缓冲存储器中,根据获取的多个逻辑至实体映射关系,所述存储器控制电路执行对第一逻辑单元的读取操作以实现读取到第一实体单元和第二实体单元中的数据,所述第一逻辑单元映射至所述第一实体单元和第二实体单元;所述第一实体单元属于所述多个平面中的第一平面,所述第二实体单元属于所述多个平面中的第二平面,所述第一平面不同于所述第二平面;所述第一平面与所述第二平面属于所述至少一晶粒中的同一晶粒,所述第一实体单元的地址索引值和所述第一实体单元的地址索引值相同。
本发明的第三方面还提供一种存储器存储装置,所述存储器存储装置包括连接接口、存储器模块及存储器控制器;所述连接接口用于将存储器存储装置连接至主机系统;所述存储器模块包括至少一晶粒,所述晶粒包括多个平面,所述平面包括多个实体单元,所述实体单元包括多个实体程序化单元;所述存储器控制器用于从主机系统接收至少一个读取指令,其中每个所述读取指令分别指示读取实体单元中的数据;所述存储器控制器用于执行所述读取指令,载入逻辑至实体映射表,根据获取的多个逻辑至实体映射关系,所述存储器控制器执行对第一逻辑单元的读取操作以实现读取到第一实体单元和第二实体单元中的数据,所述第一逻辑单元映射至所述第一实体单元和第二实体单元;所述第一实体单元属于所述多个平面中的第一平面,所述第二实体单元属于所述多个平面中的第二平面,所述第一平面不同于所述第二平面;所述第一平面与所述第二平面属于所述至少一晶粒中的同一晶粒,所述第一实体单元的地址索引值和所述第一实体单元的地址索引值相同。
本发明提供一种数据读取方法、存储器控制器与存储器存储装置,其在配置了具有多个晶粒(die)或多个平面(plane)的可复写式非易失性存储器模块的存储装置中,存储器控制器可使用多平面(multi-plane)读取操作而同时对属于不同晶粒或属于不同平面的多个实体单元下达读取指令以同时读取存储在上述的多个实体单元中的数据,进而实现加快数据的读取速度。
附图说明
为了更清楚地说明本发明的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对本发明保护范围的限定。在各个附图中,类似的构成部分采用类似的编号。
图1为本发明实施例所示出的一种存储器存储装置的示意图;
图2为本发明一实施例所示出的一种存储器控制器连接存储器模块示意图;
图3为本发明一实施例所示出的一种存储器控制器的结构框图;
图4为本发明一实施例所示出的一种管理存储器模块的示意图;
图5为本发明一实施例所示出的一种数据读取方法的流程图;
图6为本发明一实施例所示出的一种Die中包括实体单元和实体程序化单元的示意图;
图7为本发明一实施例所示出的第一种数据存储于Die中的示意图;
图8为本发明一实施例所示出的第二种数据存储于Die中的示意图;
图9为本发明一实施例所示出的第三种数据存储于Die中的示意图。
具体实施方式
下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。
通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
在下文中,可在本发明的各种实施例中使用的术语“包括”、“具有”及其同源词仅意在表示特定特征、数字、步骤、操作、元件、组件或前述项的组合,并且不应被理解为首先排除一个或更多个其它特征、数字、步骤、操作、元件、组件或前述项的组合的存在或增加一个或更多个特征、数字、步骤、操作、元件、组件或前述项的组合的可能性。
此外,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
除非另有限定,否则在这里使用的所有术语(包括技术术语和科学术语)具有与本发明的各种实施例所属领域普通技术人员通常理解的含义相同的含义。所述术语(诸如在一般使用的词典中限定的术语)将被解释为具有与在相关技术领域中的语境含义相同的含义并且将不被解释为具有理想化的含义或过于正式的含义,除非在本发明的各种实施例中被清楚地限定。
实施例
图1是根据本发明的实施例所示出的存储器存储装置的示意图。请参照图1,存储系统10包括主机系统11与存储器存储装置12。主机系统11可为任意型态的计算机系统。例如,主机系统11可为笔记本计算机、台式计算机、智能手机、平板计算机、工业计算机、游戏机、数码相机等各式电子系统。存储器存储装置12用于存储来自主机系统11的数据。例如,存储器存储装置12可包括固态硬盘、U盘、存储卡或其他类型的非易失性存储装置。主机系统11可经由串行高级技术附件(Serial Advanced Technology Attachment,SATA)接口、高速周边零件连接接口(Peripheral Component Interconnect Express,PCI Express)、通用串行总线(Universal Serial Bus,USB)或其他类型的连接接口电性连接至存储器存储装置12。因此,主机系统11可将数据存储至存储器存储装置12和/或从存储器存储装置12中读取数据。
存储器存储装置12可包括连接接口121、存储器模块122及存储器控制器123。连接接口121用于将存储器存储装置12连接至主机系统11。例如,连接接口121可支持SATA、PCIExpress或USB等连接接口标准。存储器存储装置12可经由连接接口121与主机系统11通信。
存储器模块122用于存储数据。存储器模块122可包括可复写式非易失性存储器模块。存储器模块122包括存储单元阵列。存储器模块122中的存储单元是以电压的形式来存储数据。例如,存储器模块122可包括单阶存储单元(Single Level Cell,SLC)NAND型快闪存储器模块、多阶存储单元(Multi Level Cell,MLC)NAND型快闪存储器模块、三阶存储单元(Triple Level Cell,TLC)NAND型快闪存储器模块、四阶存储单元(Quad Level Cell,QLC)NAND型快闪存储器模块或其他具有相似特性的存储器模块。
进一步,在本实施例中,实体程序化单元为程序化的最小单元。即,实体程序化单元为写入数据的最小单元。例如,实体程序化单元为实体程序化单元面(page)或是实体扇(sector)。若实体程序化单元为实体程序化单元面,则这些实体程序化单元通常包括数据位元区与冗余(redundancy)位元区。数据位元区包含多个实体扇,用以存储使用者数据,而冗余位元区用以存储系统数据(例如,错误更正码等管理数据)。在本实施例中,数据位元区包含32个实体扇,且一个实体扇的大小为512位元组(byte,B)。然而,在其他实施例中,数据位元区中也可包含8个、16个或数目更多或更少的实体扇,并且每一个实体扇的大小也可以是更大或更小。另一方面,实体单元为擦除的最小单位。亦即,每一实体单元含有最小数目之一并被擦除的存储单元。例如,实体单元为实体区块(block)。
在本实施例中,存储器模块122具有多个平面(plane),并且每一个平面属于一个晶粒(die)。在一实施例中,平面的数目可大于晶粒的数目。也就是说,两个或两个以上的平面可属于一个晶粒。存储器模块122中的每一个实体单元是属于一个平面。每一个平面可包括多个实体单元与多个实体程序化单元。
图2是依据一实施例所示出的存储器控制器连接存储器模块的示意图。
请参照图2,存储器模块122具有一个晶粒D0,且晶粒D0包括四个平面P0~P3。平面P0~P3中的每一个平面具有多个实体单元,并且每一个实体单元具有多个实体程序化单元。
在本实施例中,晶粒D0是通过一个芯片致能(chip enable)接脚连接至存储器控制器123。存储器控制器123可发送致能信号至晶粒D0的芯片致能接脚来致能晶粒D0。当晶粒D0被致能之后,存储器控制器123与晶粒D0之间可通过一个通道(例如,数据总线)来传递数据。也就是说,属于一个晶粒D0的平面P0~P3的实体单元是经由通道来存取,并且存储在平面P0~P3中的数据可使用多平面读取操作而经由通道来平行地读取。
然而,在具有多个晶粒的例子中,存储器控制器123也可通过一个致能信号来同时致能多个晶粒,或者通过多个致能信号来分别致能多个晶粒。并且,存储在不同的晶粒中的数据可经由不同的通道来存取。以图2为例,假设平面P0与平面P1属于一个晶粒,而平面P2与平面P3属于另一个晶粒。存储在平面P0与平面P1的数据可经由一个通道来存取,而存储在平面P2中与平面P3的数据经由另一个通道来存取。
存储器控制器123连接至连接接口121与存储器模块122。存储器控制器123可用于控制存储器存储装置12。例如,存储器控制器123可控制连接接口121与存储器模块122以进行数据存取与数据管理。例如,存储器控制器123可包括中央处理单元(CPU)、或是其他可编程的一般用途或特殊用途的微处理器、数字信号处理器(Digital Signal Processor,DSP)、可编程控制器、专用集成电路(Application Specific Integrated Circuits,ASIC)、可编程逻辑器件(Programmable Logic Device,PLD)或其他类似装置或这些装置的组合。
在一实施例中,存储器控制器123亦称为快闪存储器控制器。在一实施例中,存储器模块122也称为快闪存储器模块。存储器模块122可接收来自存储器控制器123的指令序列并根据此指令序列存取存储单元。
图3是根据本发明的一实施例所示出的存储器控制器的结构框图。请参照图3,存储器控制器123包括存储器控制电路204、主机接口202及存储器接口206。
存储器控制电路204用于控制存储器控制器123的整体运作。具体来说,存储器控制电路204具有多个控制指令,并且在存储器存储装置12运作时,这些控制指令会被执行,以进行数据的写入、读取与擦除等运作。以下说明存储器控制电路204的操作时,等同于说明存储器控制器123的操作。
在本实施例中,存储器控制电路204的控制指令是以固件型式来操作。例如,存储器控制电路204具有微处理器单元(图3中未示出)与只读存储器(图3中未示出),并且控制指令是被烧录至此只读存储器中。当存储器存储装置12运作时,这些控制指令会由微处理器单元来执行,以进行数据的写入、读取与擦除等运作。
在另一实施例中,存储器控制电路204的控制指令也可以程序码型式存储于存储器模块122的特定区域(例如,存储器模块中专用于存放系统数据的系统区)中。此外,存储器控制电路204具有微处理器单元(图3中未示出)、只读存储器(图3中未示出)及随机存取存储器(图3中未示出)。特别是,只读存储器具有开机码(boot code),并且当存储器控制器123被致能时,微处理器单元会先执行开机码来将存储于存储器模块122中的控制指令载入至存储器控制电路204的随机存取存储器中。之后,微处理器单元会运转这些控制指令,以进行数据的写入、读取与擦除等运作。
此外,在另一实施例中,存储器控制电路204的控制指令也可以一硬件型式来操作。例如,存储器控制电路204包括微控制器、存储单元管理电路、存储器写入电路、存储器读取电路、存储器擦除电路与数据处理电路。存储单元管理电路、存储器写入电路、存储器读取电路、存储器擦除电路与数据处理电路是电性连接至微控制器。存储单元管理电路用于管理存储器模块122的存储单元或其群组。存储器写入电路用于对存储器模块122下达写入指令序列以将数据写入至存储器模块122中。存储器读取电路用于对存储器模块122下达读取指令序列以从存储器模块122中读取数据。存储器擦除电路用于对存储器模块122下达擦除指令序列以将数据从存储器模块122中擦除。数据处理电路用于处理欲写入至存储器模块122的数据以及从存储器模块122中读取的数据。写入指令序列、读取指令序列及擦除指令序列可分别包括一或多个程序码或指令码,并且用于指示存储器模块122执行相对应的写入、读取及擦除等操作。在一实施例中,存储器控制电路204还可以下达其他类型的指令序列给存储器模块122以指示执行相对应的操作。
主机接口202是电性连接至存储器控制电路204并且用于接收与识别主机系统11所传送的指令与数据。也就是说,主机系统11所传送的指令与数据会通过主机接口202来传送至存储器控制电路204。在本实施例中,主机接口202是相容于SATA标准。然而,必须了解的是本发明不限于此,主机接口202也可以是相容于PATA标准、IEEE 1394标准、PCIExpress标准、USB标准、SD标准、UHS-I标准、UHS-II标准、MS标准、MMC标准、eMMC标准、UFS标准、CF标准、IDE标准或其他适合的数据传输标准。
存储器接口206是电性连接至存储器控制电路204并且用于存取存储器模块122。也就是说,欲写入至存储器模块122的数据会经由存储器接口206转换为存储器模块122所能接受的格式。具体来说,若存储器控制电路204要存取存储器模块122,存储器接口206会传送对应的指令序列。例如,这些指令序列可包括指示写入数据的写入指令序列、指示读取数据的读取指令序列、指示擦除数据的擦除指令序列、以及用于指示各种存储器操作(例如,改变读取电压电平或执行垃圾回收操作等等)的相对应的指令序列。这些指令序列例如是由存储器控制电路204产生并且通过存储器接口206传送至存储器模块122。这些指令序列可包括一个或多个信号,或是在总线上的数据。这些信号或数据可包括指令码或程序码。例如,在读取指令序列中,会包括读取的识别码、存储器地址等信息。
在本实施例中,存储器控制器123可以针对存储于同一个实体程序化单元中的数据进行单框架(single-frame)编码,也可以针对存储于多个实体程序化单元中的数据进行多框架(multi-frame)编码。根据所采用的编码算法,存储器控制器123可以编码欲保护的数据来产生相对应的错误更正码和/或错误检查码。
在一实施例中,存储器控制器123还包括缓冲存储器210、错误检查与校正电路212与电源管理电路208。
缓冲存储器210是电性连接至存储器控制电路204并且用于暂存来自于主机系统11的指令与数据或来自于存储器模块122的逻辑至实体映射表与数据。当主机系统11欲读取存储在存储器模块122的数据时,主机系统11会传送一个或多个读取指令。存储器控制电路204可将从主机系统11所接收的读取指令暂存在缓冲存储器210中。例如,存储器控制电路204可建立一个指令队列(command queue)来存储所接收的读取指令。这些读取指令会指示读取一个或多个实体单元(实体程序化单元)中的数据,为了执行这些读取指令,载入逻辑至实体映射表到缓冲存储器210中,所述逻辑至实体映射表中包括多个逻辑至实体映射关系,其中所述多个逻辑至实体映射关系包括存储有所述数据的实体单元(实体程序化单元)的映射关系。具体地,所述存储有所述数据的实体单元(实体程序化单元)的映射关系包括一个逻辑地址映射一个实体单元的块映射和包括一个逻辑地址映射一个实体程序化单元的页映射。
然而,在其他的实施例中,一个读取指令也可指示读取多个逻辑地址。换句话说,主机系统11可传送一个读取指令来指示读取存储在存储器模块122的多个实体单元或实体程序化单元中的多笔数据。
电源管理电路208是电性连接至存储器控制电路204并且用于控制存储器存储装置12的电源。
错误检查与校正电路212是电性连接至存储器控制电路204并且用于执行错误检查与校正操作以确保数据的正确性。
具体来说,当存储器控制电路204从主机系统11中接收到写入指令时,错误检查与校正电路212会为对应写入指令的数据产生对应的错误校正码(error correcting code,ECC)和/或错误检查码(error detecting code,EDC),并且存储器控制电路204会将对应写入指令的数据与对应的错误校正码和/或错误检查码写入至存储器模块122中。之后,当存储器控制电路204从存储器模块122中读取数据时,会同时读取数据对应的错误校正码和/或错误检查码,并且错误检查与校正电路212会依据错误校正码和/或错误检查码对所读取的数据执行错误检查与校正操作。
图4是根据本发明的一实施例所示出的管理存储器模块的示意图。请参照图4,存储器模块122包括多个实体单元301(0)--301(A)。每一个实体单元皆包括多个存储单元且用于非易失性地存储数据。例如,一个实体单元可包括一或多个实体区块。每一个实体区块可包括多个实体程序化单元。一个实体程序化单元可包括一个或多个存储单元。一个实体程序化单元中的多个存储单元可被同时程序化以存储数据。此外,一个实体区块中的所有实体程序化单元可被同时擦除。
进一步,如图4所示,存储器控制电路204可配置多个逻辑单元302(0)--302(B)来映射实体单元301(1)--301(A)。例如,一个逻辑单元可由一或多个逻辑地址组成。逻辑单元与实体单元之间的映射关系则可记载于逻辑至实体映射表(L2P)中。示例性地,逻辑实体区块映射至物理实体区块被称之为区块(块)映射;逻辑实体程序化单元映射至物理实体程序化单元被称之为实体程序化单元(页)映射。下文中,逻辑至实体映射表可被理解成逻辑至物理映射表。当接收到来自主机系统11的存取指令时,存储器控制电路204可根据相应的逻辑至实体映射表从实体单元中读取数据。
在一实施例中,在根据读取指令指示读取多个实体单元中的数据时,存储器控制电路204执行所述读取指令,载入逻辑至实体映射表到缓冲存储器210中,根据获取的多个逻辑至实体映射关系,为了提高数据的读取速度,存储器控制电路204会根据获取的多个逻辑至实体映射关系的情况,来决定读取所述多个逻辑地址的读取顺序。
在一实施例中,根据存储器模块122的晶粒与平面来设定。例如,存储器控制电路204可优先执行对应至一个晶粒的逻辑地址的读取操作,再执行对应至另一个晶粒的逻辑地址的读取操作。或者,存储器控制电路204可优先执行对应至不同平面的逻辑地址的读取操作,这些逻辑地址在本实施例中,被称之为第一逻辑单元;再执行某一个平面的逻辑地址的读取操作,这些逻辑地址在本实施例中,被称之为第二逻辑单元和第三逻辑单元。即优先执行可平行地读取的数据的读取操作,再执行不可平行地读取的数据的读取操作。此举,使得逻辑地址的读取次数相对较少,可以提高数据的读取速度。
在一实施例中,提出一种数据读取方法,如图5所示。图5是根据本发明的一实施例所示出的一种数据读取方法的流程图。
S501:从主机系统接收至少一个读取指令,其中每个所述读取指令分别指示读取实体单元中的数据;
S502:执行所述读取指令,载入逻辑至实体映射表,根据获取的多个逻辑至实体映射关系,执行对第一逻辑单元的读取操作以实现读取到第一实体单元和第二实体单元中的数据;
S503:在执行对所述第一逻辑单元的读取操作后,执行对第二逻辑单元的读取操作以实现读取到第五实体单元中的数据;
S504:在执行对所述第二逻辑单元的读取操作后,执行对第三逻辑单元的读取操作以实现读取到第六实体单元中第一实体程序化单元中的数据。
具体地,在根据读取指令指示读取多个实体单元中的数据时,存储器控制电路204执行所述读取指令,载入逻辑至实体映射表到缓冲存储器210中,根据获取的多个逻辑至实体映射关系,为了提高数据的读取速度,存储器控制电路204会根据获取的多个逻辑至实体映射关系的情况,来决定读取所述多个逻辑地址的读取顺序。
优选地,所述步骤S502中,所述执行对第一逻辑单元的读取操作以实现读取到第一实体单元和第二实体单元中的数据的步骤还包括:执行对第一逻辑单元的读取操作以实现读取到第三实体单元和第四实体单元中的数据。
具体地,所述第一逻辑单元映射至所述第一实体单元和第二实体单元;所述第一实体单元属于所述多个平面中的第一平面,所述第二实体单元属于所述多个平面中的第二平面,所述第一平面不同于所述第二平面;所述第一平面与所述第二平面属于所述至少一晶粒中的同一晶粒,所述第一实体单元的地址索引值和所述第二实体单元的地址索引值相同。
进一步,所述第一逻辑单元映射至所述第三实体单元和第四实体单元。所述第三实体单元属于所述多个平面中的第三平面,所述第四实体单元属于所述多个平面中的第四平面,所述第三平面不同于所述第四平面;所述第一平面、所述第二平面、所述第三平面与所述第四平面彼此不相同,且所述第一平面、所述第二平面、所述第三平面与所述第四平面属于所述至少一晶粒中的同一晶粒,所述第一至第四实体单元的地址索引值相同。
进一步,在执行对所述第一逻辑单元的读取操作后,还包括执行对第二逻辑单元的读取操作以实现读取到第五实体单元中的数据;其中,所述第二逻辑单元映射至所述第五实体单元;所述第五实体单元的地址索引值不同于所述第一至第四实体单元的地址索引值;所述第五实体单元属于所述多个平面中的任意一个平面中的实体单元。
进一步,在执行对所述第二逻辑单元的读取操作后,还包括执行对第三逻辑单元的读取操作以实现读取到第六实体单元中第一实体程序化单元中的数据;其中,所述第三逻辑单元映射至所述第一实体程序化单元,所述第一实体程序化单元为所述第六实体单元中的多个实体程序化单元中的任意一个实体程序化单元;所述第六实体单元的地址索引值不同于所述第一至第五实体单元的地址索引值;所述第六实体单元属于所述多个平面中的任意一个平面中的实体单元。
进一步,所述第一逻辑单元映射至所述第一至第四实体单元的映射方式为逻辑实体单元映射至物理实体单元;所述第二逻辑单元映射至所述第五实体单元的映射方式为逻辑实体单元映射至物理实体单元;所述第三逻辑单元映射至所述第六实体单元的映射方式为逻辑实体程序化单元映射至物理实体程序化单元。
示例性地,假设存储器存储装置12中有一个Die,其为Die0;每个Die包括4个平面(Plane),分别为P0~P3;每个Plane包括5个实体单元(Block),分别为B0~B4;每个实体单元包括10个实体程序化单元(Page),分别为PBA0~PBA9,如图6所示。大文件的数据表达方式为Data0~DataN,所述Data0~DataN分散地存储于Die0中,如图7和图8所示。
假设有一个文件,比如一部电影,其数据为Data0—Data7,其存储方式如图9所示。Data0存储于P0的Block0中,Data1存储于P1的Block0中,Data2存储于P2的Block0中,Data3存储于P3的Block0中。P0的Block0为第一实体单元,P1的Block0为第二实体单元,P2的Block0为第三实体单元,P3的Block0为第四实体单元。Data4存储于P0的Block1中,Data5存储于P1的Block2中,Data6存储于P2的Block3中,第五实体单元可为这三个Block的全部或者其中之一。同理,第六实体单元为P3的Block4。
现在主机系统11下达将该电影从存储器存储装置12中读取出来的指令,存储器控制器123接收和执行该读取指令并执行该读取指令。如图9所示,电影所述的Data0—Data7存储于8个不同的实体单元中,存在多个不同的逻辑至实体映射关系。示例性地,若是块映射,则是8个逻辑至实体映射关系。若是页映射,则是77个逻辑至实体映射关系。因此,执行Data0—Data7的读取,其至少需要8次逻辑地址的读取。此种方式,使得数据读取的速度比较慢或者数据读取的命中率较低。
本申请实施例的数据读取方式为执行第一逻辑单元的读取操作,实现读取到Data0—Data3;再执行第二逻辑单元的读取操作,实现Data4、Data5、Data6;最后执行第三逻辑单元的读取操作,实现读取到Data7。此种读取方式,一个逻辑地址即第一逻辑单元的读取,就可以实现读取到4个实体单元中的数据。显而易见地,同样地实现Data0—Data7,本申请实施例的数据读取方式只需要5次逻辑地址的读取,因此其可以更快地完成该电影的数据读取。
在另一实施例中,假设平面P0与平面P1属于一个晶粒,而平面P2与平面P3属于另一个晶粒,从主机系统11接收至少一个读取指令,其中每个所述读取指令分别指示读取实体单元中的数据;存储器控制器123和存储器控制电路204执行所述读取指令,载入逻辑至实体映射表,根据获取的多个逻辑至实体映射关系,执行对第一逻辑单元的读取操作以实现读取到Data0和Data1;存储器控制器123和存储器控制电路204执行对第一逻辑单元的读取操作以实现读取到Data2和Data3;存储器控制器123和存储器控制电路204在执行对所述第一逻辑单元的读取操作后,还包括执行对第二逻辑单元的读取操作以实现读取到Data4、Data5和Data6;存储器控制器123和存储器控制电路204在执行对所述第二逻辑单元的读取操作后,还包括执行对第三逻辑单元的读取操作以实现读取到Data7。
在另外一个实施例中,上述数据读取方法的执行主体为存储器控制器123和存储器控制电路204。
综上所述,本发明提供一种数据读取方法、存储器控制器及存储器存储装置,其在配置了具有多个晶粒(die)或多个平面(plane)的可复写式非易失性存储器模块的存储装置中,存储器控制器可使用多平面(multi-plane)读取操作而同时对属于不同晶粒或属于不同平面的多个实体单元下达读取指令以同时读取存储在上述的多个实体单元中的数据,进而实现加快数据的读取速度。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (15)
1.一种数据读取方法,应用于存储器存储装置,其特征在于,所述存储器存储装置包括存储器模块,所述存储器模块包括至少一晶粒,所述晶粒包括多个平面,所述平面包括多个实体单元,所述实体单元包括多个实体程序化单元,所述数据读取方法包括:
从主机系统接收至少一个读取指令,其中每个所述读取指令分别指示读取实体单元中的数据;
执行所述读取指令,载入逻辑至实体映射表,根据获取的多个逻辑至实体映射关系,执行对第一逻辑单元的读取操作以实现读取到第一实体单元和第二实体单元中的数据,所述第一逻辑单元映射至所述第一实体单元和第二实体单元;
所述第一实体单元属于所述多个平面中的第一平面,所述第二实体单元属于所述多个平面中的第二平面,所述第一平面不同于所述第二平面;
所述第一平面与所述第二平面属于所述至少一晶粒中的同一晶粒,所述第一实体单元的地址索引值和所述第二实体单元的地址索引值相同。
2.根据权利要求1所述的数据读取方法,其特征在于,所述执行对第一逻辑单元的读取操作以实现读取到第一实体单元和第二实体单元中的数据的步骤还包括:
执行对第一逻辑单元的读取操作以实现读取到第三实体单元和第四实体单元中的数据,所述第一逻辑单元映射至所述第三实体单元和第四实体单元;
所述第三实体单元属于所述多个平面中的第三平面,所述第四实体单元属于所述多个平面中的第四平面,所述第三平面不同于所述第四平面;
所述第一平面、所述第二平面、所述第三平面与所述第四平面彼此不相同,且所述第一平面、所述第二平面、所述第三平面与所述第四平面属于所述至少一晶粒中的同一晶粒,所述第一至第四实体单元的地址索引值相同。
3.根据权利要求2所述的数据读取方法,其特征在于,
在执行对所述第一逻辑单元的读取操作后,还包括执行对第二逻辑单元的读取操作以实现读取到第五实体单元中的数据;
其中,所述第二逻辑单元映射至所述第五实体单元;
所述第五实体单元的地址索引值不同于所述第一至第四实体单元的地址索引值;
所述第五实体单元属于所述多个平面中的任意一个平面中的实体单元。
4.根据权利要求3所述的数据读取方法,其特征在于,
在执行对所述第二逻辑单元的读取操作后,还包括执行对第三逻辑单元的读取操作以实现读取到第六实体单元中第一实体程序化单元中的数据;
其中,所述第三逻辑单元映射至所述第一实体程序化单元,所述第一实体程序化单元为所述第六实体单元中的多个实体程序化单元中的任意一个实体程序化单元;
所述第六实体单元的地址索引值不同于所述第一至第五实体单元的地址索引值;
所述第六实体单元属于所述多个平面中的任意一个平面中的实体单元。
5.根据权利要求4所述的数据读取方法,其特征在于,
所述第一逻辑单元映射至所述第一至第四实体单元的映射方式为逻辑实体单元映射至物理实体单元;
所述第二逻辑单元映射至所述第五实体单元的映射方式为逻辑实体单元映射至物理实体单元;
所述第三逻辑单元映射至所述第六实体单元的映射方式为逻辑实体程序化单元映射至物理实体程序化单元。
6.一种存储器控制器,应用于存储器存储装置,其特征在于,所述存储器存储装置包括连接接口、存储器模块及存储器控制器;所述存储器模块包括至少一晶粒,所述晶粒包括多个平面,所述平面包括多个实体单元,所述实体单元包括多个实体程序化单元;所述存储器控制器包括:
主机接口,用于连接至主机系统;
存储器接口,用于连接至所述存储器模块;
缓冲存储器,所述缓冲存储器电性连接至存储器控制电路且用于暂存来自于主机系统的指令与数据或来自于所述存储器模块的逻辑至实体映射表与数据;
存储器控制电路,其连接至所述主机接口与所述存储器接口;
所述存储器控制电路从主机系统接收至少一个读取指令,其中每个所述读取指令分别指示读取实体单元中的数据;
所述存储器控制电路用于执行所述读取指令,将逻辑至实体映射表载入到所述缓冲存储器中,根据获取的多个逻辑至实体映射关系,所述存储器控制电路执行对第一逻辑单元的读取操作以实现读取到第一实体单元和第二实体单元中的数据,所述第一逻辑单元映射至所述第一实体单元和第二实体单元;
所述第一实体单元属于所述多个平面中的第一平面,所述第二实体单元属于所述多个平面中的第二平面,所述第一平面不同于所述第二平面;
所述第一平面与所述第二平面属于所述至少一晶粒中的同一晶粒,所述第一实体单元的地址索引值和所述第一实体单元的地址索引值相同。
7.根据权利要求6所述的存储器控制器,其特征在于,所述存储器控制电路执行对第一逻辑单元的读取操作以实现读取到第一实体单元和第二实体单元中的数据还包括:
所述存储器控制电路还执行对第一逻辑单元的读取操作以实现读取到第三实体单元和第四实体单元中的数据,所述第一逻辑单元映射至所述第三实体单元和第四实体单元;
所述第三实体单元属于所述多个平面中的第三平面,所述第四实体单元属于所述多个平面中的第四平面,所述第三平面不同于所述第四平面;
所述第一平面、所述第二平面、所述第三平面与所述第四平面彼此不相同,且所述第一平面、所述第二平面、所述第三平面与所述第四平面属于所述至少一晶粒中的同一晶粒,所述第一至第四实体单元的地址索引值相同。
8.根据权利要求7所述的存储器控制器,其特征在于,
所述存储器控制电路在执行对所述第一逻辑单元的读取操作后,所述存储器控制电路执行对第二逻辑单元的读取操作以实现读取到第五实体单元中的数据;
其中,所述第二逻辑单元映射至第五实体单元;
所述第五实体单元的地址索引值不同于所述第一至第四实体单元的地址索引值;
所述第五实体单元属于所述多个平面中的任意一个平面中的实体单元。
9.根据权利要求8所述的存储器控制器,其特征在于,
所述存储器控制电路在执行对所述第二逻辑单元的读取操作后,所述存储器控制电路还执行对第三逻辑单元的读取操作以实现读取到第六实体单元中第一实体程序化单元中的数据;
其中,所述第三逻辑单元映射至第一实体程序化单元,所述第一实体程序化单元为第六实体单元中的多个实体程序化单元中的任意一个实体程序化单元;
所述第六实体单元的地址索引值不同于所述第一至第五实体单元的地址索引值;
所述第六实体单元属于所述多个平面中的任意一个平面中的实体单元。
10.根据权利要求9所述的存储器控制器,其特征在于,
所述存储器控制电路将所述第一逻辑单元映射至所述第一至第四实体单元,其中,映射方式为逻辑实体单元映射至物理实体单元;
所述存储器控制电路将所述第二逻辑单元映射至所述第五实体单元,其中,映射方式为逻辑实体单元映射至物理实体单元;
所述存储器控制电路将所述第三逻辑单元映射至所述第六实体单元,其中,映射方式为逻辑实体程序化单元映射至物理实体程序化单元。
11.一种存储器存储装置,其特征在于,所述存储器存储装置包括连接接口、存储器模块及存储器控制器;
所述连接接口用于将存储器存储装置连接至主机系统;
所述存储器模块包括至少一晶粒,所述晶粒包括多个平面,所述平面包括多个实体单元,所述实体单元包括多个实体程序化单元;
所述存储器控制器用于从主机系统接收至少一个读取指令,其中每个所述读取指令分别指示读取实体单元中的数据;
所述存储器控制器用于执行所述读取指令,载入逻辑至实体映射表,根据获取的多个逻辑至实体映射关系,所述存储器控制器执行对第一逻辑单元的读取操作以实现读取到第一实体单元和第二实体单元中的数据,所述第一逻辑单元映射至所述第一实体单元和第二实体单元;
所述第一实体单元属于所述多个平面中的第一平面,所述第二实体单元属于所述多个平面中的第二平面,所述第一平面不同于所述第二平面;
所述第一平面与所述第二平面属于所述至少一晶粒中的同一晶粒,所述第一实体单元的地址索引值和所述第一实体单元的地址索引值相同。
12.根据权利要求11所述的存储器存储装置,其特征在于,所述存储器控制器执行对第一逻辑单元的读取操作以实现读取到第一实体单元和第二实体单元中的数据还包括:
所述存储器控制器还执行对第一逻辑单元的读取操作以实现读取到第三实体单元和第四实体单元中的数据,所述第一逻辑单元映射至所述第三实体单元和第四实体单元;
所述第三实体单元属于所述多个平面中的第三平面,所述第四实体单元属于所述多个平面中的第四平面,所述第三平面不同于所述第四平面;
所述第一平面、所述第二平面、所述第三平面与所述第四平面彼此不相同,且所述第一平面、所述第二平面、所述第三平面与所述第四平面属于所述至少一晶粒中的同一晶粒,所述第一至第四实体单元的地址索引值相同。
13.根据权利要求12所述的存储器存储装置,其特征在于,
所述存储器控制器在执行对所述第一逻辑单元的读取操作后,所述存储器控制器执行对第二逻辑单元的读取操作以实现读取到第五实体单元中的数据;
其中,所述第二逻辑单元映射至第五实体单元;
所述第五实体单元的地址索引值不同于所述第一至第四实体单元的地址索引值;
所述第五实体单元属于所述多个平面中的任意一个平面中的实体单元。
14.根据权利要求13所述的存储器存储装置,其特征在于,
所述存储器控制器在执行对所述第二逻辑单元的读取操作后,所述存储器控制器还执行对第三逻辑单元的读取操作以实现读取到第六实体单元中第一实体程序化单元中的数据;
其中,所述第三逻辑单元映射至第一实体程序化单元,所述第一实体程序化单元为第六实体单元中的多个实体程序化单元中的任意一个实体程序化单元;
所述第六实体单元的地址索引值不同于所述第一至第五实体单元的地址索引值;
所述第六实体单元属于所述多个平面中的任意一个平面中的实体单元。
15.根据权利要求14所述的存储器存储装置,其特征在于,
所述存储器控制器将所述第一逻辑单元映射至所述第一至第四实体单元,其中,映射方式为逻辑实体单元映射至物理实体单元;
所述存储器控制器将所述第二逻辑单元映射至所述第五实体单元,其中,映射方式为逻辑实体单元映射至物理实体单元;
所述存储器控制器将所述第三逻辑单元映射至所述第六实体单元,其中,映射方式为逻辑实体程序化单元映射至物理实体程序化单元。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210657212.1A CN115048051A (zh) | 2022-06-10 | 2022-06-10 | 数据读取方法、存储器控制器及存储器存储装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210657212.1A CN115048051A (zh) | 2022-06-10 | 2022-06-10 | 数据读取方法、存储器控制器及存储器存储装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115048051A true CN115048051A (zh) | 2022-09-13 |
Family
ID=83162342
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210657212.1A Pending CN115048051A (zh) | 2022-06-10 | 2022-06-10 | 数据读取方法、存储器控制器及存储器存储装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115048051A (zh) |
-
2022
- 2022-06-10 CN CN202210657212.1A patent/CN115048051A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10713178B2 (en) | Mapping table updating method, memory controlling circuit unit and memory storage device | |
US9043536B2 (en) | Method of recording mapping information, and memory controller and memory storage apparatus using the same | |
CN106681932B (zh) | 存储器管理方法、存储器控制电路单元及存储器存储装置 | |
US8489942B1 (en) | Memory management method, and memory controller and memory storage device using the same | |
US9141530B2 (en) | Data writing method, memory controller and memory storage device | |
US20140019670A1 (en) | Data writing method, memory controller, and memory storage device | |
CN107544922B (zh) | 数据写入方法、存储器控制电路单元及存储器存储装置 | |
US20150161042A1 (en) | Memory management method, memory controlling circuit unit, and memory storage device | |
US9235501B2 (en) | Memory storage device, memory controller thereof, and method for programming data thereof | |
US8301981B2 (en) | Data access method for flash memory and storage system and controller thereof | |
US9304907B2 (en) | Data management method, memory control circuit unit and memory storage apparatus | |
US20130332653A1 (en) | Memory management method, and memory controller and memory storage device using the same | |
US8943264B2 (en) | Data storing method, and memory controller and memory storage apparatus using the same | |
CN113885808B (zh) | 映射信息记录方法以及存储器控制电路单元与存储装置 | |
CN109273033B (zh) | 存储器管理方法、存储器控制电路单元与存储器存储装置 | |
US20160099062A1 (en) | Data writing method, memory storage device and memory control circuit unit | |
CN111208932B (zh) | 映射表更新方法、存储器控制电路单元与存储器存储装置 | |
CN110442299B (zh) | 数据写入方法、存储器控制电路单元以及存储器储存装置 | |
US20170115925A1 (en) | Valid data merging method, memory controller and memory storage apparatus | |
CN114063933B (zh) | 区块管理方法、存储器控制器和存储器存储装置 | |
US11609822B2 (en) | Data storing method, memory control circuit unit and memory storage device | |
US10067677B2 (en) | Memory management method for configuring super physical units of rewritable non-volatile memory modules, memory control circuit unit and memory storage device | |
CN114822664A (zh) | 基于数据优先级的风险评估方法、存储装置及控制电路 | |
CN113504880A (zh) | 存储器缓冲区管理方法、存储器控制电路单元与存储装置 | |
CN110008146B (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 |