CN116126210A - 数据存取方法、存储器存储装置及存储器控制器 - Google Patents
数据存取方法、存储器存储装置及存储器控制器 Download PDFInfo
- Publication number
- CN116126210A CN116126210A CN202111342233.6A CN202111342233A CN116126210A CN 116126210 A CN116126210 A CN 116126210A CN 202111342233 A CN202111342233 A CN 202111342233A CN 116126210 A CN116126210 A CN 116126210A
- Authority
- CN
- China
- Prior art keywords
- entity
- physical
- units
- memory
- window
- 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/062—Securing storage systems
- G06F3/0622—Securing storage systems in relation to access
-
- 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
-
- 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/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
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)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本发明提供一种数据存取方法、存储器存储装置及存储器控制器。所述方法包括:对所述实体单元进行擦除、数据写入、数据写读测试操作,建立所述实体单元的状态位图;根据一间隔值和所述状态位图在所述实体单元中划分多个实体窗,构建所述多个实体窗的实体窗表;根据所述实体窗表和所述间隔值建立逻辑至实体映射表;根据所述逻辑至实体映射表来实现数据从主机系统中存取到存储器存储装置。因此,可提高数据从主机系统中存取到存储器存储装置的速度。
Description
技术领域
本发明涉及一种存储器管理技术,尤其涉及一种数据存取方法、存储器存储装置及存储器控制器。
背景技术
非易失性存储器模块(例如快闪存储器模块)具有数据非易失性保存、低耗电及数据存取快速等优点。对于如NAND FLASH等非易失性存储器模块,由于其制造工艺和存储原理决定了在生产过程和使用过程中必然会产生坏区块,因此有相应的方法来进行坏区块管理。然而传统的管理方法都按照区块为单位进行管理,只要该区块内有坏的页或者是坏的页的数量超出了限定值,则将该区块废弃不用。可知,这种以区块为单位的管理方法存在闪存利用率低的问题。随着闪存的发展每区块的容量不断增大,丢弃整区块的做法会产生很大的浪费,故而以页为单位的管理方法的提出则是非常有必要的。
发明内容
本发明提供一种数据存取方法、存储器存储装置及存储器控制器,可提高数据从主机系统中存取到存储器存储装置的速度。
本发明的实施例提供一种数据存取方法,用于存储器存储装置,其中所述存储器存储装置包括存储器模块,所述存储器模块包括至少一个实体单元,所述实体单元包含多个实体程序化单元,且所述数据存取方法包括:对所述实体单元进行擦除、数据写入、数据写读测试操作,建立所述实体单元的状态位图,所述状态位图用于存储所述实体单元的管理信息,所述管理信息包括所述实体单元的实体程序化单元总数、状态为有效的实体程序化单元的数量和有效的实体程序化单元在实体单元中的地址值;根据一间隔值和所述状态位图在所述实体单元中划分多个实体窗,构建所述多个实体窗的实体窗表;根据所述实体窗表和所述间隔值建立逻辑至实体映射表;根据所述逻辑至实体映射表来实现数据从主机系统中存取到存储器存储装置。
可选地,本发明的实施例另提供一种存储器存储装置,包括:连接接口,用于连接至主机系统;存储器模块,其包括至少一个实体单元;以及存储器控制器,其连接至所述连接接口与所述存储器模块,其中所述存储器控制器用于对所述实体单元进行擦除、数据写入、数据写读测试操作,建立所述实体单元的状态位图,所述状态位图用于存储所述实体单元的管理信息,所述管理信息包括所述实体单元的实体程序化单元总数、状态为有效的实体程序化单元的数量和有效的实体程序化单元在实体单元中的地址值;所述存储器控制器还用于根据一间隔值和所述状态位图在所述实体单元中划分多个实体窗,构建所述多个实体窗的实体窗表;所述存储器控制器还用于根据所述实体窗表和所述间隔值建立逻辑至实体映射表;所述存储器控制器还用于根据所述逻辑至实体映射表来实现数据从主机系统中存取到存储器存储装置。
可选地,本发明的实施例另提供一种存储器控制器,其用于控制存储器模块,其中所述存储器模块包括至少一个实体单元,且所述存储器控制器包括:主机接口,用于连接至主机系统;存储器接口,用于连接至所述存储器模块;以及存储器控制电路,其连接至所述主机接口与所述存储器接口;其中所述存储器控制电路用于对所述实体单元进行擦除、数据写入、数据写读测试操作,建立所述实体单元的状态位图,所述状态位图用于存储所述实体单元的管理信息,所述管理信息包括所述实体单元的实体程序化单元总数、状态为有效的实体程序化单元的数量和有效的实体程序化单元在实体单元中的地址值;所述存储器控制电路用于根据一间隔值和所述状态位图在所述实体单元中划分多个实体窗,构建所述多个实体窗的实体窗表;所述存储器控制电路用于根据所述实体窗表和所述间隔值建立逻辑至实体映射表;所述存储器控制电路用于根据所述逻辑至实体映射表来实现数据从主机系统中存取到存储器存储装置。
基于上述,对实体单元进行擦除、数据写入、数据写读测试操作,建立实体单元的状态位图,状态位图用于存储实体单元的管理信息,管理信息包括实体单元的实体程序化单元总数、状态为有效的实体程序化单元的数量和有效的实体程序化单元在实体单元中的地址值;根据一间隔值和状态位图在实体单元中划分多个实体窗,构建多个实体窗的实体窗表;根据实体窗表和间隔值建立逻辑至实体映射表;根据逻辑至实体映射表来实现数据从主机系统中存取到存储器存储装置。藉此,可以显著地提高大文件和大数据从主机系统中存取到存储器存储装置和存储器模块的速度;即使存储器存储装置和存储器模块中的SRAM容量较小,也可以实现大文件和大数据的存取,本申请实施例可提高数据从主机系统中存取到存储器模块的速度。
附图说明
图1是根据本发明的实施例所示出的存储器存储装置的示意图;
图2是根据本发明的一实施例所示出的存储器控制器的概要方块图;
图3是根据本发明的一实施例所示出的管理存储器模块的示意图;
图4是根据本发明的一实施例所示出的管理存储器模块的示意图;
图5是根据本发明的一实施例所示出的数据存取方法的流程图;
图6是根据本发明的一实施例所示出的状态位图的示意图;
图7是根据本发明的一实施例所示出的实体窗表的示意图;
图8是根据本发明的一实施例所示出的数据存取方法的流程图;
图9是根据本发明的一实施例所示出的逻辑实体程序化单元映射至对应的实体程序化单元的示意图;
图10是根据本发明的一实施例所示出的“逐页式”逻辑实体程序化单元映射至对应的实体程序化单元的示意图。
具体实施方式
现将详细地参考本发明的示范性实施例,示范性实施例的实例说明于附图中。只要有可能,相同元件符号在附图和描述中用来表示相同或相似部分。
图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型快闪存储器模块或其他具有相似特性的存储器模块。
存储器控制器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的指令序列并根据此指令序列存取存储单元。
图2是根据本发明的一实施例所示出的存储器控制器的概要方块图。请参照图2,存储器控制器123包括存储器控制电路1233、主机接口1231及存储器接口1232。
存储器控制电路1233用于控制存储器控制器123的整体运作。具体来说,存储器控制电路1233具有多个控制指令,并且在存储器存储装置12运作时,这些控制指令会被执行以进行数据的写入、读取与抹除等运作。以下说明存储器控制电路1233的操作时,等同于说明存储器控制器123的操作。
在本实施例中,存储器控制电路1233的控制指令是以固件型式来操作。例如,存储器控制电路1233具有微处理器单元(图中未示出)与只读存储器(图中未示出),并且控制指令是被烧录至此只读存储器中。当存储器存储装置12运作时,这些控制指令会由微处理器单元来执行以进行数据的写入、读取与抹除等运作。
在另一实施例中,存储器控制电路1233的控制指令也可以程序码型式存储于存储器模块122的特定区域(例如,存储器模块中专用于存放系统数据的系统区)中。此外,存储器控制电路1233具有微处理器单元(未示出)、只读存储器(未示出)及随机存取存储器(未示出)。特别是,只读存储器具有开机码(boot code),并且当存储器控制器123被致能时,微处理器单元会先执行开机码来将存储于存储器模块122中的控制指令载入至存储器控制电路1233的随机存取存储器中。之后,微处理器单元会运转这些控制指令以进行数据的写入、读取与抹除等运作。
此外,在另一实施例中,存储器控制电路1233的控制指令也可以一硬件型式来操作。例如,存储器控制电路1233包括微控制器、存储单元管理电路、存储器写入电路、存储器读取电路、存储器抹除电路与数据处理电路。存储单元管理电路、存储器写入电路、存储器读取电路、存储器抹除电路与数据处理电路是电性连接至微控制器。存储单元管理电路用于管理存储器模块122的存储单元或其群组。存储器写入电路用于对存储器模块122下达写入指令序列以将数据写入至存储器模块122中。存储器读取电路用于对存储器模块122下达读取指令序列以从存储器模块122中读取数据。存储器抹除电路用于对存储器模块122下达抹除指令序列以将数据从存储器模块122中抹除。数据处理电路用于处理欲写入至存储器模块122的数据以及从存储器模块122中读取的数据。写入指令序列、读取指令序列及抹除指令序列可分别包括一或多个程序码或指令码并且用于指示存储器模块122执行相对应的写入、读取及抹除等操作。在一实施例中,存储器控制电路1233还可以下达其他类型的指令序列给存储器模块122以指示执行相对应的操作。
主机接口1231是电性连接至存储器控制电路1233并且用于接收与识别主机系统11所传送的指令与数据。也就是说,主机系统11所传送的指令与数据会通过主机接口1231来传送至存储器控制电路1233。在本实施例中,主机接口1231是相容于SATA标准。然而,必须了解的是本发明不限于此,主机接口1231也可以是相容于PATA标准、IEEE 1394标准、PCIExpress标准、USB标准、SD标准、UHS-I标准、UHS-II标准、MS标准、MMC标准、eMMC标准、UFS标准、CF标准、IDE标准或其他适合的数据传输标准。
存储器接口1232是电性连接至存储器控制电路1233并且用于存取存储器模块122。也就是说,欲写入至存储器模块122的数据会经由存储器接口1232转换为存储器模块122所能接受的格式。具体来说,若存储器控制电路1233要存取存储器模块122,存储器接口1232会传送对应的指令序列。例如,这些指令序列可包括指示写入数据的写入指令序列、指示读取数据的读取指令序列、指示抹除数据的抹除指令序列、以及用于指示各种存储器操作(例如,改变读取电压电平或执行垃圾回收操作等等)的相对应的指令序列。这些指令序列例如是由存储器控制电路1233产生并且通过存储器接口1232传送至存储器模块122。这些指令序列可包括一或多个信号,或是在总线上的数据。这些信号或数据可包括指令码或程序码。例如,在读取指令序列中,会包括读取的识别码、存储器地址等信息。
在本实施例中,存储器控制器123可以针对存储于同一个实体程序化单元中的数据进行单框架(single-frame)编码,也可以针对存储于多个实体程序化单元中的数据进行多框架(multi-frame)编码。根据所采用的编码算法,存储器控制器123可以编码欲保护的数据来产生相对应的错误更正码和/或错误检查码。
在一实施例中,存储器控制器123还包括缓冲存储器1235、错误检查与校正电路1234与电源管理电路1236。缓冲存储器1235是电性连接至存储器控制电路1233并且用于暂存来自于主机系统11的数据与指令或来自于存储器模块122的数据。电源管理电路1236是电性连接至存储器控制电路1233并且用于控制存储器存储装置12的电源。错误检查与校正电路1234是电性连接至存储器控制电路1233并且用于执行错误检查与校正操作以确保数据的正确性。具体来说,当存储器控制电路1233从主机系统11中接收到写入指令时,错误检查与校正电路1234会为对应写入指令的数据产生对应的错误校正码(error correctingcode,ECC)和/或错误检查码(error detecting code,EDC),并且存储器控制电路1233会将对应写入指令的数据与对应的错误校正码和/或错误检查码写入至存储器模块122中。之后,当存储器控制电路1233从存储器模块122中读取数据时会同时读取数据对应的错误校正码和/或错误检查码,并且错误检查与校正电路1234会依据错误校正码和/或错误检查码对所读取的数据执行错误检查与校正操作。
图3是根据本发明的实施例所示出的管理存储器模块的示意图。请参照图1至图3,存储器模块122包括多个实体单元301(1)~301(A)。每一个实体单元皆包括多个存储单元且用于非易失性地存储数据。例如,一个实体单元可包括一或多个实体区块。每一个实体区块可包括多个实体程序化单元。一个实体程序化单元可包括一或多个实体页。一个实体程序化单元中的多个存储单元可被同时程序化以存储数据。此外,一个实体区块中的所有存储单元可被同时抹除。
在一实施例中,存储器模块122中的实体单元301(1)~301(A)被划分至数据区31。数据区31中的实体单元301(1)~301(A)存储有来自主机系统11的数据。
在一实施例中,如图3所示,存储器控制电路1233可配置多个逻辑单元302(1)~302(B)来映射数据区31中的实体单元。例如,一个逻辑单元可由一或多个逻辑地址组成。逻辑单元与实体单元之间的映射关系则可记载于逻辑至实体映射表中。当接收到来自主机系统11的存取指令时,存储器控制电路1233可根据相应的逻辑至实体映射表来将数据存取到数据区31中的实体单元上。具体地,此种映射方式为块映射。
在一实施例中,如图4所示,存储器控制电路1233可配置多个逻辑实体程序化单元42(0)~42(D)来映射数据区31中的实体单元301中的实体程序化单元41(0)~41(C)。例如,一个逻辑实体程序化单元可由一或多个逻辑实体程序化地址组成。逻辑实体程序化单元与实体程序化单元之间的映射关系则可记载于逻辑实体程序化单元与实体程序化单元的逻辑至实体映射表中。当接收到来自主机系统11的存取指令时,存储器控制电路1233可根据相应的逻辑实体程序化单元与实体程序化单元的逻辑至实体映射表来将数据存取到数据区31中的实体单元上。具体地,此种映射方式为页映射。
图4是根据本发明的实施例所示出的管理存储器模块中的实体单元的示意图,其为实体单元301(1)中的逻辑实体程序化单元映射至实体程序化单元的逻辑至实体映射示意图。其中,D为实体单元301(1)的实体程序化单元总数,其包括实体单元301(1)的有效实体程序化单元的数值和无效实体程序化单元的数值;有效实体程序化单元的数值≤D;其为正整数。E为正整数,其小于等于D;E的数值表示其为实体单元301(1)中的有效实体程序化单元的数值。
在一实施例中,本申请提出一种数据存取方法,用于存储器存储装置12,其中存储器存储装置12包括存储器模块122,存储器模块122包括至少一个实体单元301(E)(E为实体单元的地址值),实体单元包含多个实体程序化单元41(0)~41(C),尤其是多个实体程序化单元的中包含有状态为无效的实体程序化单元41(F)(F为实体程序化单元的地址值)的数据存取方法,如图5所示,该数据存取方法包括:
步骤S501:对实体单元进行擦除、数据写入、数据写读测试操作,建立实体单元的状态位图,状态位图用于存储实体单元的管理信息,管理信息包括实体单元的实体程序化单元总数、状态为有效的实体程序化单元的数量和有效的实体程序化单元在实体单元中的地址值;
S502:根据一间隔值和状态位图在实体单元中划分多个实体窗,构建多个实体窗的实体窗表;
S503:根据实体窗表和间隔值建立逻辑至实体映射表;
S504:根据逻辑至实体映射表来实现数据从主机系统中存取到存储器存储装置。
具体地,对于步骤S501,在一实施例中,提出一种构建状态位图的方法,具体地为,通过对实体单元301(1)---301(A)进行擦除、数据写入、数据写读测试操作,以构建出实体单元301(1)---301(A)的状态位图,状态位图用于存储实体单元的管理信息,管理信息包括实体单元中的实体程序化单元总数、状态为无效的实体程序化单元的数量信息、状态为有效的实体程序化单元的数量信息和有效的实体程序化单元在实体单元中的地址值。例如,以其中一个包含128个实体程序化单元的实体单元为例,在进行擦除、数据写入、数据写读测试操作后可知,得到如图6所示的状态位图示意图。
在一实施例中,用“1”表示状态为无效的实体程序化单元,用“0”表示状态为有效的实体程序化单元,如图6中所示。
如图6所示,实体单元中,包括108个有效实体程序化单元,20个无效实体程序化单元。
在一实施例中,本申请还提出一种间隔值构建方法。具体地,建立一50以内的质数表,如表1所示,所述间隔值为从所述质数表中取值的质数。
表1质数表
2 | 3 | 5 | 7 | 11 |
13 | 17 | 19 | 23 | 29 |
31 | 37 | 41 | 43 | 47 |
在一实施例中,当实体单元的实体程序化单元总数≤200时,间隔值<10,即间隔值为小于10的任一质数;示例性地,间隔值可为2、3、5、7中的任一数值,优选地,间隔值可为3。
在一实施例中,当200<实体单元的实体程序化单元总数≤500时,间隔值<20,即间隔值为小于20的任一质数;示例性地,间隔值可为2、3、5、7、11、13、17、19中的任一数值;优选地,间隔值可为11。
示例性地,上述实体程序化单元总数为128的实体单元中,其间隔值取值为11。
在一实施例中,当500<实体单元的实体程序化单元总数≤1000时,间隔值<30,即间隔值为小于30的任一质数;示例性地,间隔值可为2、3、5、7、11、13、17、19、23、29中的任一数值;优选地,间隔值可为23。
在一实施例中,当1000<实体单元的实体程序化单元总数≤2000时,间隔值为小于40的任一质数;示例性地,间隔值可为2、3、5、7、11、13、17、19、23、29、31、37中的任一数值;优选地,间隔值可为31。
在一实施例中,当实体单元的实体程序化单元总数>2000时,间隔值<50,即间隔值为小于50的任一质数;例性地,间隔值可为2、3、5、7、11、13、17、19、23、29、31、37、41、43、47中的任一数值;优选地,间隔值可为43。
本申请选择用质数作为间隔值,其原因是无论实体程序化的总数是多少,其除以质数的结果一定是不被整除的,在构建的诸多实体窗中,一定有一个实体窗包含的实体程序化单元数量小于其它实体窗中包含实体程序化单元的数量。基于此,包含较少数量实体程序化单元的实体窗用来存储状态位图和实体窗表。也就是说,选定实体单元中特定位置的实体程序化单元用来存储状态位图和实体窗表,例如实体单元中的后几个地址值的实体程序化单元;而其它的实体程序化单元则主要用于存储来自于主机系统11中的数据。这样,就方便了实体单元的实体程序化单元管理,因此,基于此,实体单元的存储器存储装置12和存储器模块122在数据存储方面,可提高数据从主机系统11中存取到存储器存储装置12的速度。
S502:根据一间隔值和状态位图在实体单元中划分多个实体窗,构建多个实体窗的实体窗表。
在一实施例中,实体窗包含多个实体程序化单元,多个实体程序化单元包含有效实体程序化单元和/或无效实体程序化单元。
建立管理多个实体窗的实体窗表,其中实体窗表用于存储各个实体窗的分布情况、各个实体窗中的有效实体程序化单元的数量和从起始实体窗到当前实体窗的有效实体程序化单元的数量。
如图7所示,图7是根据一质数值为11的间隔值而建立的包含12个实体窗的实体窗表。实体窗表包括如下信息:各个实体窗的分布情况:包括12个实体窗;A0-A10实体窗中包括11个实体程序化单元,A11实体窗中包括7个实体程序化单元,A11实体窗中的5个实体程序化单元(2个无效的不能用来存储数据)用做存储状态位图和实体窗表用(关于状态位图和实体窗表存储的具体实体程序化单元地址值,不做限定);从起始实体窗到A0-A11实体窗的“0”的个数分别为:9、19、28、37、45、55、65、75、84、93、103、108。
在一实施例中,各个实体窗包括的实体程序化单元的数量可不相同。例如,如图7所示,A0-A10实体窗中包括11个实体程序化单元,A11实体窗中包括7个实体程序化单元;其中,A11实体窗中的5个实体程序化单元:P121、P122、P125、P126、P127用于作为存储状态位图和实体窗表(2个无效的实体程序化单元P123、P124不能用于存储数据)。
在一实施例中,如图7中所示,实体窗中包含有无效的实体程序化单元和有效的实体程序化单元。
在另一实施例中,实体窗中包含实体程序化单元可都为无效的实体程序化单元或有效的实体程序化单元,本实施例对此不做特别限定。
S503:根据实体窗表和间隔值建立逻辑至实体映射表。
进一步,对于步骤S503的具体地操作为根据各个实体窗的分布情况和从起始实体窗到当前实体窗的有效实体程序化单元的数量来建立逻辑至实体映射表。
其中,根据各个实体窗的分布情况和从起始实体窗到当前实体窗的有效实体程序化单元的数量来建立逻辑至实体映射表;其进一步地操作如图8所示,包括子步骤S5031和子步骤S5032。
子步骤S5031:将目标逻辑实体程序化单元的地址值与从起始实体窗到当前实体窗的有效实体程序化单元的数量进行比较,在所有大于或等于数量中,取数量的最小值,以确定目标逻辑实体程序化单元对应的实体程序化单元所属的目标实体窗。
示例性,仍以上述的含128个实体程序化单元的实体单元为例,需要建立实体程序化单元P80的映射表,如图6所示,P80前有P1、P6、P16、P23、P25、P33、P40、P44、P50、P52、P56、P69这12个无效实体程序化单元的前提下实现如图9所示的L68---P80的结果。其具体地操作为根据图7中所述实体窗表,寻找实体窗中“0”的数量≥69的实体窗(这是因为Logical68实际为第69个有效实体程序化单元),如图7所示,有A7、A8、A9、A10、A11这5个实体窗中的“0”的数量大于69,分别为75、84、93、103、108;取所有数值中的最小值即“0”的数量等于75的实体窗A7来确定Logica68所属的目标实体窗。
子步骤S5032:根据实体窗的序号和间隔值计算出所述目标实体窗中起始实体程序化单元地址值,确定目标逻辑实体程序化单元对应的实体程序化单元的地址,建立目标逻辑实体程序化单元映射至对应的实体程序化单元的映射关系,根据映射关系而建立实体单元中逻辑实体程序化单元映射至实体程序化单元的逻辑至实体映射表。
示例性,如上文所述,实体窗A7的序号为7,间隔值为11;7*11=77,所述77为实体窗A7中起始实体程序化单元地址值77,即实体窗A7中起始的实体程序化单元为P77。进一步,根据间隔值为11,所以表示实体窗A7中有11个实体程序化单元,分别为P77、P78、P79、P80、P81、P82、P83、P84、P85、P86、P87,其地址值分别为77、78、79、80、81、82、83、84、85、86、87。确定了起始的实体程序化单元P77,在实体窗A7中从P77开始进行映射管理,历经4次遍历,在遍历到P80时,就可以建立L68---P80的映射管理,将映射关系载于到逻辑至实体映射表中,或者就此种映射管理方法来构建逻辑至实体映射表,以备后续数据从主机系统中存取到存储器模块时,可通过逻辑至实体映射表来实现数据从主机系统中存取到存储器模块。
上述映射管理方法先是通过确定所述目标逻辑实体程序化单元对应的实体程序化单元所属的目标实体窗,然后在目标实体窗中进行有限次数地映射遍历,就可以建立目标逻辑实体程序化单元映射至对应的实体程序化单元,有限次数地映射遍历;可知的,次数一定是小于所述间隔值的。基于此映射管理方法构建而成的逻辑至实体映射表,用于存储器存储装置12和存储器模块122时,可提高数据从主机系统11存取到存储器模块122中的速度。即使是存储器存储装置12和存储器模块122中包括了无效的实体程序化单元,其采用此映射管理方法构建而成的逻辑至实体映射表,用此逻辑至实体映射表来进行数据存取,也可提高数据从主机系统11存取到存储器模块122中的速度。
在一实施例中,逻辑至实体映射表中,实体程序化单元的地址值大小为1比特。
示例性,在数据读写过程中,现有技术的解决方案是将每个实体程序化单元的物理地址值存入缓冲存储器1235中,以实现数据的读写。其中,实体程序化单元的物理地址值包括实体程序化单元所在的实体单元地址和实体程序化单元地址,每个实体程序化单元的物理地址值大小为5字节(40bit);示例性地,现有技术中要实现L68---P80,需要存入到缓冲存储器1235中的大小为5字节*128=640字节;来实现该种页映射模式下的数据读写操作,故需要占缓冲存储器1235的空间为400字节。
在一实施例中,若缓冲存储器1235为SRAM(Static Random-Access Memory,静态随机存取存储器)时,一般情况下SRAM的大小为4K-8K字节,存储器模块122的数据读写过程中需要使用的实体程序化单元的数量是远远大于128这个数字的,因此,基于此种页映射管理模式下的存储器模块122的数据的读写速度会非常慢。
如图6和7所示,在实体单元的状态位图和实体窗表中,用“1”的来表示状态为失效的实体程序化单元,用“0”的来表示状态为有效的实体程序化单元。进一步,本申请逻辑至实体映射表中逻辑实体程序化单元映射至实体程序化单元的映射管理方法是通过计算“0”的数量和寻找“0”对应的地址值来确定逻辑实体程序化单元对应的实体程序化单元的物理地址;而“0”在映射表中的大小为1比特,因此在逻辑至实体映射表中实体程序化单元的地址值大小为1比特;这样可以降低逻辑至实体映射表的大小。
在一实施例中,其中根据实体窗的序号和间隔值计算出目标实体窗中起始实体程序化单元地址值,确定目标逻辑实体程序化单元对应的实体程序化单元的地址具体地的操作方法还包括:
在确定的目标逻辑实体程序化单元对应的实体程序化单元所属的目标实体窗后,经过小于等于间隔值的遍历次数而确定到目标逻辑实体程序化单元对应的实体程序化单元的地址。
示例性地,上述L68---P80的遍历或查询对应实体程序单元的次数为4次,小于等于11(间隔值)。
S504:根据逻辑至实体映射表来实现数据从主机系统中存取到存储器存储装置。
进一步,基于本申请所述的根据逻辑至实体映射表来实现数据从主机系统中存取到存储器存储装置。在数据读写过程中,通过将状态位图和间隔值存入缓冲存储器1235中,本申请实施例中存入缓冲存储器1235中的大小是“0”的数量,一个“0”存储所需占据容量大小为1个bit;在一实施例中,缓冲存储器1235为SRAM(Static Random-Access Memory,静态随机存取存储器),其大小一半为4K-8K字节,一次性可存储32-64K个“0”;即32-64K个有效实体程序化单元。以1个实体程序化单元大小为16KB来计算,若是有大小为500MB数据(16KB*32K)从主机系统11中存入到存储器存储装置12时,即使是所述SRAM的大小为4K字节大小,也可以一次性将实体程序化单元的物理地址载入到SRAM中,快速地实现500MB数据从主机系统11中存入到存储器存储装置12上;同理,数据从存储器存储装置12读到主机系统11中也可以一次性实现。因此,将通过上述方法构建而出的所述逻辑至实体映射表应用于存储器存储装置12和存储器模块122而言,可以显著地提高大文件和大数据从主机系统中存取到存储器存储装置12和存储器模块122的速度。
上文所叙的逻辑至实体映射管理方法使得逻辑程序化单元至实体程序化单元的映射管理速度非常快,在进行目标逻辑至实体映射管理时,通过先确定的所述目标逻辑实体程序化单元对应的实体程序化单元所属的目标实体窗,然后只需要经过有限次数的遍历就可以确定到目标逻辑实体程序化单元对应的实体程序化单元的地址;可以快速地确定到逻辑实体程序化单元所对应的实体程序化单元,不需要采用“诸页式”的遍历页映射方法来建立逻辑至实体映射表。
图10为“诸页式”的遍历页映射方法示意图,如图10所示,在映射管理过程中,当实体程序化单元0-3都是有效实体程序化单元时,逻辑实体程序化单元0-3与实体程序化单元0-3的映射能够非常快,但是当实体程序化单元4是无效实体程序化单元时,此时逻辑实体程序化单元4就得跳过无效的实体程序化单元4和其下一个有效的实体程序化单元即实体程序化单元5来映射,若是实体程序化单元5也是无效实体程序化单元,继续跳转下一个有效地实体程序化单元,直至跳转到状态为有效的实体程序化单元,基于此种“诸页式”的遍历页映射方法会受无效实体程序化单元的影响,若是实体单元中的无效实体程序化单元数量于实体单元中总数比例不大时,对包含此种实体单元的存储器存储装置12的数据读写速度影响不大;但是若存储器存储装置12包含此种实体单元比较多时,就会非常影响存储器存储装置12的数据读写速度。
进一步地,本申请提出的逻辑至实体间隔值计算方法,其根据实体单元的实际情况,比如实体程序化单元的总数而计算出实体单元的间隔值;可以理解的是,实体单元的总数不同,实体单元的间隔值是不同的。基于间隔值来构建存储器模块122的逻辑至实体映射表,进而提高数据从主机系统11存取到存储器存储装置12的速度。
在一实施例中,本申请还提出一种存储器存储装置12,存储器存储装置12包括:连接接口121,用于连接至主机系统11;存储器模块122,其包括至少一个实体单元;以及存储器控制器123,其连接至连接接口121与存储器模块122;其中可将图5和图8中的数据存取方法应用在存储器控制器123上。图5和图8中各步骤已详细说明如上,在此便不再赘述。值得注意的是,图5和图8中各步骤可以操作为多个程序码或是电路,本发明不加以限制。此外,图5和图8的方法可以搭配以上范例实施例使用,也可以单独使用,本发明不加以限制。
在一实施例中,本申请还提出一种存储器控制器123,其用于控制存储器模块122,其中存储器模块122包括至少一个实体单元,且存储器控制器123包括:主机接口1231,用于连接至主机系统11;存储器接口1232,用于连接至存储器模块122;以及存储器控制电路1233,其连接至主机接口1231与存储器接口1232;其中可将图5和图8中的数据存取方法应用在存储器控制电路1233上。图5和图8中各步骤已详细说明如上,在此便不再赘述。值得注意的是,图5和图8中各步骤可以操作为多个程序码或是电路,本发明不加以限制。此外,图5和图8的方法可以搭配以上范例实施例使用,也可以单独使用,本发明不加以限制。
综上所述,本申请提出一种数据存取方法、逻辑至实体映射表构建方法;将上述方法应用于存储器存储装置12和存储器模块122,可以显著地提高大文件和大数据从主机系统中存取到存储器存储装置12和存储器模块122的速度。
进一步,本申请还提出的逻辑至实体间隔值计算方法,其根据实体单元的实际情况,比如实体程序化单元的总数而计算出实体单元的间隔值;可以理解的是,实体单元的总数不同,实体单元的间隔值是不同的。基于间隔值来构建存储器模块122的逻辑至实体映射表,进而提高数据从主机系统11存取到存储器存储装置12的速度;实现应用于数据存取方法、逻辑至实体映射表构建方法和逻辑至实体间隔值计算模型构建方法的存储器存储装置12和存储器模块122,可以显著地提高大文件和大数据从主机系统中存取到存储器存储装置12和存储器模块122的速度;即使存储器存储装置12和存储器模块122中的SRAM容量较小也可以实现大文件本申请实施例可提高数据从主机系统中存取到存储器模块的速度。
最后应说明的是:以上各实施例仅用于说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (16)
1.一种数据存取方法,其特征在于,用于存储器存储装置,其中所述存储器存储装置包括存储器模块,所述存储器模块包括至少一个实体单元,所述实体单元包含多个实体程序化单元,且所述数据存取方法包括:
对所述实体单元进行擦除、数据写入、数据写读测试操作,建立所述实体单元的状态位图,所述状态位图用于存储所述实体单元的管理信息,所述管理信息包括所述实体单元的实体程序化单元总数、状态为有效的实体程序化单元的数量和有效的实体程序化单元在实体单元中的地址值;
根据一间隔值和所述状态位图在所述实体单元中划分多个实体窗,构建所述多个实体窗的实体窗表;
根据所述实体窗表和所述间隔值建立逻辑至实体映射表;
根据所述逻辑至实体映射表来实现数据从主机系统中存取到存储器存储装置。
2.根据权利要求1所述的数据存取方法,其特征在于,所述实体单元的状态位图中用“1”的来表示状态为失效的实体程序化单元,用“0”的来表示状态为有效的实体程序化单元。
3.根据权利要求1所述的数据存取方法,其特征在于,所述实体窗包含由有效实体程序化单元和/或无效实体程序化单元构成的多个实体程序化单元。
4.根据权利要求1所述的数据存取方法,其特征在于,所述实体窗表存储中有所述各个实体窗的分布情况和从起始实体窗到当前实体窗的有效实体程序化单元的数量。
5.根据权利要求4所述的数据存取方法,其特征在于,其中根据所述实体窗表和所述间隔值建立逻辑至实体映射表的方法包括:
根据所述各个实体窗的分布情况和从起始实体窗到当前实体窗的有效实体程序化单元的数量来建立逻辑至实体映射表。
6.根据权利要求5所述的数据存取方法,其特征在于,其中根据所述各个实体窗的分布情况和从起始实体窗到当前实体窗的有效实体程序化单元的数量来建立逻辑至实体映射表的方法包括:
将目标逻辑实体程序化单元的地址值与所述从起始实体窗到当前实体窗的有效实体程序化单元的数量进行比较,在所有大于或等于所述数量中,取所述数量的最小值,以确定所述目标逻辑实体程序化单元对应的实体程序化单元所属的目标实体窗;
根据所述实体窗的序号和所述间隔值计算出所述目标实体窗中起始实体程序化单元地址值,确定所述目标逻辑实体程序化单元对应的实体程序化单元的地址,建立目标逻辑实体程序化单元映射至对应的实体程序化单元的映射关系,根据所述映射关系而建立实体单元中逻辑实体程序化单元映射至实体程序化单元的逻辑至实体映射表。
7.根据权利要求6所述的数据存取方法,其特征在于,其中根据所述实体窗的序号和所述间隔值计算出所述目标实体窗中起始实体程序化单元地址值,确定所述目标逻辑实体程序化单元对应的实体程序化单元的地址具体地的操作方法还包括:
在确定的所述目标逻辑实体程序化单元对应的实体程序化单元所属的目标实体窗后,经过小于等于所述间隔值的遍历次数而确定到所述目标逻辑实体程序化单元对应的实体程序化单元的地址。
8.根据权利要求6所述的数据存取方法,其特征在于,所述逻辑至实体映射表中,所述实体程序化单元的地址值大小为1比特。
9.根据权利要求1所述的数据存取方法,其特征在于,所述间隔值为质数。
10.根据权利要求9所述的数据存取方法,其特征在于,当所述实体单元的实体程序化单元总数≤200时,所述间隔值<10。
11.根据权利要求9所述的数据存取方法,其特征在于,当200<所述实体单元的实体程序化单元总数≤500时,所述间隔值<20。
12.根据权利要求9所述的数据存取方法,其特征在于,当500<所述实体单元的实体程序化单元总数≤1000时,所述间隔值<30。
13.根据权利要求9所述的数据存取方法,其特征在于,当1000<所述实体单元的实体程序化单元总数≤2000时,所述间隔值<40。
14.根据权利要求9所述的数据存取方法,其特征在于,当所述实体单元的实体程序化单元总数>2000时,所述间隔值<50。
15.一种存储器存储装置,包括:
连接接口,用于连接至主机系统;
存储器模块,其包括至少一个实体单元;
以及存储器控制器,其连接至所述连接接口与所述存储器模块;
其特征在于,所述存储器控制器用于执行如权利要求1-14任一项所述的数据存取方法。
16.一种存储器控制器,用于控制存储器模块,其中所述存储器模块包括至少一个实体单元,且所述存储器控制器包括:
主机接口,用于连接至主机系统;
存储器接口,用于连接至所述存储器模块;以及
存储器控制电路,其连接至所述主机接口与所述存储器接口;其特征在于,所述存储器控制电路用于执行如权利要求1-14任一项所述的数据存取方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111342233.6A CN116126210A (zh) | 2021-11-12 | 2021-11-12 | 数据存取方法、存储器存储装置及存储器控制器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111342233.6A CN116126210A (zh) | 2021-11-12 | 2021-11-12 | 数据存取方法、存储器存储装置及存储器控制器 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116126210A true CN116126210A (zh) | 2023-05-16 |
Family
ID=86297816
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111342233.6A Pending CN116126210A (zh) | 2021-11-12 | 2021-11-12 | 数据存取方法、存储器存储装置及存储器控制器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116126210A (zh) |
-
2021
- 2021-11-12 CN CN202111342233.6A patent/CN116126210A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10713178B2 (en) | Mapping table updating method, memory controlling circuit unit and memory storage device | |
CN111078149B (zh) | 存储器管理方法、存储器存储装置及存储器控制电路单元 | |
US10120615B2 (en) | Memory management method and storage controller using the same | |
US10579518B2 (en) | Memory management method and storage controller | |
US9176865B2 (en) | Data writing method, memory controller, and memory storage device | |
US20180004413A1 (en) | Mapping table updating method, memory control circuit unit and memory storage device | |
US9383929B2 (en) | Data storing method and memory controller and memory storage device using the same | |
CN113885808B (zh) | 映射信息记录方法以及存储器控制电路单元与存储装置 | |
US10613932B2 (en) | Method for controlling operations of memory device, associated memory device and controller thereof, and associated electronic device | |
US20130332653A1 (en) | Memory management method, and memory controller and memory storage device using the same | |
CN111078146B (zh) | 存储器管理方法、存储器存储装置及存储器控制电路单元 | |
US9778862B2 (en) | Data storing method for preventing data losing during flush operation, memory control circuit unit and memory storage apparatus | |
US10509583B1 (en) | Memory management method and storage controller | |
CN112860194B (zh) | 存储器控制方法、存储器存储装置及存储器控制电路单元 | |
US9760456B2 (en) | Memory management method, memory storage device and memory control circuit unit | |
CN114822664B (zh) | 基于数据优先级的风险评估方法、存储装置及控制电路 | |
CN111831210B (zh) | 存储器管理方法、存储器控制电路单元及存储器存储装置 | |
US10579306B1 (en) | Memory management method and storage controller | |
CN110162493B (zh) | 存储器管理方法及使用所述方法的储存控制器 | |
CN114063918B (zh) | 数据存取方法、存储器存储装置及存储器控制器 | |
CN116126210A (zh) | 数据存取方法、存储器存储装置及存储器控制器 | |
CN112988069A (zh) | 存储器管理方法、存储器存储装置及存储器控制器 | |
CN117636967B (zh) | 存储器控制方法、存储器存储装置及存储器控制电路单元 | |
CN117632042B (zh) | 存储器管理方法、存储器存储装置及存储器控制电路单元 | |
CN112099727B (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 |