CN113223584A - 一种存储器及其数据读取方法 - Google Patents
一种存储器及其数据读取方法 Download PDFInfo
- Publication number
- CN113223584A CN113223584A CN202110578019.4A CN202110578019A CN113223584A CN 113223584 A CN113223584 A CN 113223584A CN 202110578019 A CN202110578019 A CN 202110578019A CN 113223584 A CN113223584 A CN 113223584A
- Authority
- CN
- China
- Prior art keywords
- data
- layer
- historical
- memory
- prediction model
- 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
- 230000015654 memory Effects 0.000 title claims abstract description 120
- 238000000034 method Methods 0.000 title claims abstract description 26
- 238000005192 partition Methods 0.000 claims abstract description 54
- 238000012905 input function Methods 0.000 claims description 12
- 238000013507 mapping Methods 0.000 description 18
- 230000006870 function Effects 0.000 description 12
- 238000010586 diagram Methods 0.000 description 11
- 238000007667 floating Methods 0.000 description 7
- 230000008569 process Effects 0.000 description 6
- 239000000284 extract Substances 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 3
- 238000012804 iterative process Methods 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000010287 polarization Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 238000013519 translation Methods 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012856 packing Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/04—Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
- G11C16/0483—Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells having several storage transistors connected in series
-
- 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/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0877—Cache access modes
- G06F12/0882—Page mode
-
- 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
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/26—Sensing or reading circuits; Data output circuits
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Read Only Memory (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提出一种存储器及其数据读取方法,包括:收集多个历史分区号,多个历史起始逻辑块地址和多个历史数据连续类型;根据多个所述历史分区号,多个所述历史起始逻辑块地址获得预测模型;通过主机接收读取命令,所述读取命令包括分区号和起始逻辑块地址;根据所述分区号,所述起始逻辑地址和所述预测模型预测数据连续类型,所述数据连续类型包括单逻辑页数据或多逻辑页数据;根据预测的所述数据连续类型读取数据。本发明提出的存储器及其数据读取方法可以提高数据读取速度。
Description
技术领域
本发明涉及存储技术领域,特别涉及一种存储器及其数据读取方法。
背景技术
嵌入式闪存设备(EMMC)接口是基于JEDEC标准的。在读命令中,由于不指定数据长度cmd18命令只需要传输一次,比指定长度的命令少发一个长度参数,但是闪存在接收到读命令后不能确定读取多少数据,只能直接不断的往上传数据,直到结束命令cmd12之后才结束。数据需要从NAND Flash中获取才能传输给主机,获取的过程会有Ready busy时间和数据DMA时间,一次性读取的数据越多,DMA的时间就越长,开始回传给主机的时间就越长。
在不明确数据连续性的情况下,若直接从Flash中只读取4K数据,当主机实际操作是连续多个4K数据时,本来可以一次性读一整个页的,却要分成两次操作,降低速度。若直接从Flash中读取多个4k(整个页16K)数据,当主机实际操作是单个4K数据时,本来只需要读取单个4K数据的,却读取了多余的数据,降低速度。
发明内容
鉴于上述现有技术的缺陷,本发明提出一种存储器及其数据读取方法,该数据读取方法可以预测出要读取的数据是单逻辑页数据(例如单个4K数据)或者多逻辑页数据(例如多个4K数据),从而可以快速的读取数据,提高读取速度。
为实现上述目的及其他目的,本发明提出一种存储器的数据读取方法,包括:
收集多个历史分区号,多个历史起始逻辑块地址和多个历史数据连续类型;
根据多个所述历史分区号,多个所述历史起始逻辑块地址获得预测模型;
通过主机接收读取命令,所述读取命令包括分区号和起始逻辑块地址;
根据所述分区号,所述起始逻辑地址和所述预测模型预测数据连续类型,所述数据连续类型包括单逻辑页数据或多逻辑页数据;
根据预测的所述数据连续类型读取数据。
进一步地,在获得所述数据连续类型之后,还根据所述分区号,所述起始逻辑地址和所述数据连续类型更新所述预测模型。
进一步地,当所述预测模型的输出值小于阈值时,所述数据连续类型为所述单逻辑页数据,当所述预测模型的输出值大于阈值时,所述数据连续类型为所述多逻辑页数据。
进一步地,所述预测模型的输出值大于零且小于一。
进一步地,所述预测模型输入层,隐含层和输出层。
进一步地,所述输入层包括所述分区号和所述起始逻辑地址。
进一步地,所述隐含层的输入函数为:
其中,netInputj(j)表示所述输入函数,xi表示所述输入层的节点,wij表示所述输入层和所述隐含层之间的权重,bij表示所述输入层和所述隐含层之间的偏置。
进一步地,所述输出层的输入函数为:
其中,netInputk(k)表示所述输出层的输入函数,xj表示所述隐含层的节点,wjk表示所述隐含层和所述输出层之间的权重,bjk表示所述隐含层和所述输出层之间的偏置。
进一步地,更新所述预测模型时,还更新所述输入层和所述隐含层之间的权重,以及更新所述输入层和所述隐含层之间的偏置。
进一步地,当所述输入层和所述隐含层之间的权重,所述输入层和所述隐含层之间的偏置更新后,输出值和期望输出值之间的误差小于阈值时,则停止迭代。
进一步地,本发明还提出一种存储器,包括:
主机,用于接收读取命令,所述读取命令包括分区号和起始逻辑块地址;
样本单元,用于收集历史分区号,多个历史起始逻辑块地址和多个历史数据连续类型;
预测单元,用于根据多个所述历史分区号,多个所述历史起始逻辑块地址获得预测模型,并根据所述分区号,所述起始逻辑地址和所述预测模型预测数据连续类型,所述数据连续类型包括单逻辑页数据或多逻辑页数据;读取单元,用于根据预测的所述数据连续类型读取数据。
综上所述,本发明提出一种存储器及其数据读取方法,通过样本单元收集大量的历史分区号,历史起始逻辑块地址和历史数据连续类型,从而构建分区号,起始逻辑块和数据连续类型的关系,也就是建立分区号,起始逻辑块和数据连续类型的预测模型,因此当主机接收到不带长度的读取命令时,即可根据分区号,起始逻辑块和预测模型来预测当前的数据连续类型,数据连续类型可以包括单逻辑页数据或者多逻辑页数据,当预测模型的输出值小于阈值时,则输出单逻辑页数据,当预测模型的输出值大于阈值时,则输出多逻辑页数据,因此本发明可以根据预测模型的输出值来预测单逻辑页数据或多逻辑页数据,从而可以快速的读取出单逻辑页数据或多逻辑页数据,从而可以提高读取速度。
附图说明
图1:本实施例提出的一种存储器的框图。
图2:本实施例中存储器控制器的框图。
图3:本实施例中LPN转换器的框图。
图4:本实施例中存储控制器的操作框图。
图5:本实施例提出的另一种存储器的框图。
图6:本实施例中存储单元的示意图。
图7:本实施例中样本单元的示意图。
图8:本实施例中预测模型的示意图。
图9:本实施例中一种存储器的数据读取方法的流程图。
具体实施方式
以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。
需要说明的是,本实施例中所提供的图示仅以示意方式说明本发明的基本构想,遂图式中仅显示与本发明中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。
如图1所示,本实施例提出提出一种存储器100,存储器100包括主机110和存储设备120。存储设备120包括存储器控制器121和闪速存储器122。主机110,存储器控制器121,和闪速存储器122可以被实现为单独的芯片,模块,或者设备,或者可以被包括在单一设备中。例如,存储器控制器121和闪速存储器122可以被集成到单一存储设备中并且然后可以被连接至主机110。然而,本公开不限于该示例。也就是说,在另一示例中,主机110,存储器控制器121,和闪速存储器122可以被集成到单一设备中。
如图1所示,该存储器100可以包括主机110和通过接口111与主机110传送命令和/或数据的存储设备120。存储器100可以被实现为个人计算机(PC)、工作站、数据中心、互联网数据中心、存储区域网络、网络附属存储器(NAS)或移动计算设备,但是本发明构思不限于这些示例。移动计算设备可以被实现为膝上型计算机、蜂窝电话、智能电话、平板PC、个人数字助理(PDA)、企业数字助理(EDA)、数字静止相机、数字视频相机、便携式多媒体播放器(PMP)、个人导航设备或便携式导航设备(PND)、手持式游戏控制台、移动互联网设备(MID)、可穿戴计算机、物联网(IoT)设备、物联网(IoE)设备、无人机或电子书,但是本发明构思不限于这些示例。
如图1所示,接口111可以是串行高级技术附件(SATA)接口,SATA快速(SATAe)接口、SAS(串行附件小型计算机系统接口(SCSI))、外围组件互连高速(PCIe)接口、非易失性存储器快速(NVMe)接口、高级主机控制器接口(AHCI)或多媒体卡(MMC)接口,但不限于此。接口111可以传输电信号或光信号。主机110可以经由接口111控制存储设备120的数据处理操作(例如,写操作或读操作)。主机110可以指主机控制器。
如图1所示,主机110可以通过使用应用或者文件系统将读取或者写入操作的请求发送至存储器控制器121。存储器控制器121响应于由主机110发送的请求来控制闪速存储器122的例如读取或者写入操作的操作。从闪速存储器122读取数据或者写入数据至闪速存储器122的单元与从闪速存储器122中擦除数据的单元不同。也就是说,可以以内存块为单元来擦除闪速存储器122,并且可以以页为单元来读取或者写入闪速存储器122。不同于其他的半导体存储器设备,闪速存储器122不支持覆写功能。因此,闪速存储器122首先被擦除以被写入。
如图1所示,闪速存储器122包括具有字符串单元(cell)结构的多个存储器单元。多个存储器单元被称为存储器单元阵列。闪速存储器122的存储器单元阵列包括多个存储器块。存储器块中的每一个包括多个页。页的每一个包括一起共享单一字线的多个存储器单元。在数据实际存在的、闪速存储器122的地址被称为物理页号(Logical Page Number,PPN)。为了管理PPN,存储器控制器121使用逻辑页号(Logical Page Number,LPN),其与PPN一对一地对应。存储器控制器121利用闪存转换层(Flash Translation Layer,FTL)的使用来管理LPN和PPN。FTL可以以FTL映射表的形式被存储在存储器控制器121的存储器105中。
如图2所示,图2显示为本实施例的存储器控制器121的框图。存储器控制器121可以包括中央处理单元(CPU)103,逻辑页号(LPN)转换器104,存储器105,主机接口(InterFace,I/F)106,闪速存储器控制器107和总线108。CPU 103可以执行用于驱动存储器控制器121的计算。CPU 103可以通过使用被分配到存储器映射地址空间的逻辑地址来调用闪速存储器122的PPN。响应于从CPU 103接收被分配到CPU 103存储器映射地址空间的逻辑地址中的一个,LPN转换器104可以将对应于所接收的逻辑地址的PPN发送至CPU 103。更具体地,LPN转换器104可以提取对应于所接收的逻辑地址的LPN,可以从存储器105中读取FTL映射表、可以从FTL映射表中提取对应于所提取的LPN的PPN,以及可以将所提取的PPN发送至CPU 103。
如图2所示,存储器105可以存储FTL映射表,其包括闪速存储器122的PPN和分别与闪速存储器122的PPN对应的LPN。存储器105可以包括非易失性存储器或者易失性存储器。存储器105可以被用作CPU 103的操作存储器中的至少一个,在闪速存储器122和主机110之间的高速缓存存储器、以及缓冲存储器。主机I/F 106可以包括在主机110和存储器控制器121之间交换数据的协议。例如,主机I/F106可以被配置为经由诸如以下协议的各种I/F协议中的至少一个与主机110通信:通用串行总线(Universal Serial Bus,USB)协议、多媒体卡(MultiMedia Card,MMC)协议、外设组件互联(Peripheral ComponentInterconnection,PCI)协议、PCI高速(PCIExpress,PCI-E)协议、高技术配置(AdvancedTechnology Attachment,ATA)协议、串行ATA协议、并行ATA协议、小型计算机系统接口(Small Computer System Interface,SCSI)协议、增强小型磁盘接口(Enhanced SmallDisk Interface,ESDI)协议、以及电子集成驱动器(Integrated Drive Electronics,IDE)协议等等。这些协议仅是示例,并且不具体地限制所使用的协议。
如图2所示,闪速存储器控制器107可以在存储器控制器121和闪速存储器122之间交换指令和数据并且可以控制闪速存储器122。总线108可以被用于在CPU103、LPN转换器104、存储器105、主机I/F140、和闪速存储器控制器107之间交换数据。例如,总线108可以将对应于所调用的逻辑地址的PPN发送至存储器控制器121的元件。总线108可以包括发送逻辑地址的地址总线、和发送数据的数据总线,但是本公开不限于此。总线108是数据经由其被发送的路径。在一些示例性实施例中,总线108可以具有多层结构。总线108可以包括用于在CPU103,LPN转换器104,存储器105,主机I/F 106和闪速存储器控制器107之间交换数据的协议。多层高级高性能总线(Advanced High-performance Bus,AHB)或者多层高级可扩展接口(Advanced Xtensible Interface,AXI)可以被用作总线108,但是本公开不限于此。
如图3所示,图3显示为图2的LPN转换器104的框图。LPN转换器104可以包括LPN提取器1041、FTL映射地址生成器1042、解包器(unpacker)/打包器(packer)1043、高速缓存1044、和数据总线1045。可以例如由特别被创造以执行LPN转换器功能的专用集成电路(Application Specific Integrated Circuit,ASIC)或者由硬件块来以硬件的形式在存储器控制器121中实现LPN转换器104,但是本公开不限于此。也就是说,可替换地,在一些示例性实施例中,LPN转换器104可以以软件的形式作为模块在存储器控制器121中。可以由结合一个或者多个存储器而操作的微处理器中的至少一个来实现以软件的形式的LPN转换器104,例如由结合存储器105而操作的CPU 103来实现该LPN转换器104。LPN提取器1041可以使用逻辑地址来提取对应于逻辑地址的LPN。FTL映射地址生成器1042可以通过使用所提取的LPN来生成FTL映射地址,经由其可以访问在存储器105中所存储的FTL映射表。
如图3所示,解包器/打包器1043可以从存储器105中接收FTL映射表并且可以执行作为提取与所提取的LPN对应的PPN的处理的解包,或者执行作为将包括经修改的PPN的FTL映射表转变成可以被发送的形式的处理的打包。高速缓存1044可以暂时存储由FTL映射地址生成器1042生成的FTL映射地址和/或从存储器105接收的FTL映射表。数据总线1045可以被用在LPN提取器1041,FTL映射地址生成器1042,解包器/打包器1043、和高速缓存之间的数据通信中。数据总线1045可以是经由其数据被发送的路径,并且可以包括用于交换数据的协议。
如图4所示,图4显示为存储器控制器121的操作框图,存储器控制器121的CPU103将逻辑地址发送至LPN转换器104。由CPU103发送的逻辑地址可以是在CPU103的操作中所使用的存储器映射地址空间的逻辑地址。LPN转换器104从CPU103中接收逻辑地址、提取对应于所接收的逻辑地址的LPN,并且提取对应于所提取的LPN的FTL映射地址。此后,LPN转换器104将所提取的FTL映射地址发送至存储器105并且从存储器105中接收包括对应于所取的FTL映射地址的FTL映射表的数据。
如图1所示,在一些实施例中,闪速存储器122还可以包括固件(FirmWare,F/W),其存储加载指令和存储指令。CPU103可以从闪速存储器122的F/W中调用加载指令或者存储指令并且可以在CPU103的RAM中存储的所调用的指令。可以以汇编语言写入F/W的各种指令,并且可以由各种指令的组合来创建执行特定操作的F/W代码。CPU103可以通过使用加载指令或者存储指令、和逻辑地址来访问闪速存储器122。也就是说,CPU103可以通过使用加载指令或者存储指令、以及逻辑地址来调用闪速存储器122的PPN。
如图5所示,本实施例还提出另一种存储器100,该存储器100可以包括主机110和存储设备120。主机110电性连接该存储设备120。该存储设备120可以包括控制单元130,存储单元140,样本单元150和预测单元160。当主机110接收到写入命令或读取操作时,可以通过控制单元130将数据存储在存储单元140中或者通过控制单元120将数据从存储单元140中读取出来,并将数据发送至主机110。
如图5-图6所示,在本实施例中,该存储单元140包括多个存储块140。每个存储块140包含多个页142。存储器100在执行写数据请求时,是以页142为单位来写数据的。举例来说,主机110向控制单元120发送一个写数据请求。所述写数据请求包括数据的逻辑地址。控制单元120在接收所述写数据请求之后,按照接收的时间顺序将所述数据连续写入一个或多个存储块140中。连续写入一个或多个存储块140是指,控制单元120查找一个空白的存储块140,将数据写入所述空白的存储块140,直至将所述空白的存储块140填满,当所述数据的大小超过存储块140的容量时,控制单元120再查找下一个空白的存储块140,继续写入。闪存翻译层建立并保存所述逻辑地址与写入所述数据的页的实际地址之间的对应关系。当主机110向控制单元120发送读数据请求,要求读取所述数据时,所述读数据请求中包括所述逻辑地址。控制单元120根据所述逻辑地址,以及所述逻辑地址与实际地址之间的对应关系读取所述数据,并将该数据发送给主机110。
如图6所示,数据块143是页142的最小操作单元,一个数据块143对应一个浮栅晶体管,它可以存储1比特(bit)或多比特的数据,这取决于闪存的类型。一个页上的存储单元共享一根字符线。数据块143包括控制栅极和浮置栅极,浮置栅极是真正存储数据的单元。数据在数据块143中是以电荷(electrical charge)形式存储的。存储电荷的多少取决于控制栅极所被施加的电压,其控制了向浮置栅极中冲入电荷还是使其释放电荷。而数据的表示,以所存储的电荷的电压是否超过一个特定的阈值来表示。往浮置栅极中写入数据就是对控制栅极施加电压,使得浮置栅极中存储的电荷够多,超过阈值,就表示0。对闪存进行擦除操作就是对浮置栅极放电,使得浮置栅极中存储的电荷低于阈值,就表示1。
如图5和图7所示,在样本单元150内存储着大量的数据组,每个数据组包括历史分区号151,历史起始逻辑块地址152和历史数据连续类型153。当主机110向控制单元120发送读取命令时,例如向控制单元120发送多个分区号和起始逻辑地址,当控制单元120找到数据时,则向主机110发送数量连续类型,例如向主机110发送单逻辑页数据或多逻辑页数据,例如向主机110发送单4K数据或者多4K数据。因此大量的数据组会被保存在样本单元150内。主机110每发送一次读取操作时,每个数据组就会被保存在样本单元150内,从而积累大量的数据组,这些数据组也就是方便预测单元160建立分区号,起始逻辑地址和数据连续类型的关系。
如图8所示,在本实施例中,当样本单元150积累大量的数据组之后,预测单元160则根据已有的数据组建立分区号,起始逻辑地址和数据连续类型的关系,也就是说当输入分区号和起始逻辑地址时,则输出数据连续类型,也就是建立分区号,起始逻辑地址和数据连续类型的预测模型。
如图8所示,在本实施例中,该预测模型可以包括输入层161,隐含层162和输出层163。输入层161就可以将输入分区号和起始逻辑地址分别输入至节点1611和节点1612内。通过分区号可以判断要输出的数据属于单逻辑页数据还是多逻辑页数据,例如当分区号处于大文件区内,则输出的数据大致属于多逻辑页数据,当分区号处于小文件区内,则输出的数据大致属于单逻辑页数据。
如图8所示,在本实施例中,当输入层161内输入分区号和起始逻辑地址之后,预测单元160则建立输入层161和隐含层162之间的函数关系。该输入层161包括两个节点,即节点1611和节点1612。隐含层162例如包括5个节点,即节点1621至节点1625,因此该隐含层162的输入函数为
其中,netInputj(j)表示隐含层的输入函数,xi表示所述输入层的节点,wij表示所述输入层和所述隐含层之间的权重,bij表示所述输入层和所述隐含层之间的偏置。所述权重就是输入层161的节点与隐含层162的节点之间的权重关系,所述偏振就是输入层161的节点与隐含层162的节点之间的偏置关系。输入层161和隐含层162之间的权重和偏置在模型建立过程((迭代过程)中不断更新。例如节点1611与节点1621之间的权重关系为w00,节点1612与节点1621之间的权重关系为w10,节点1611与节点1622之间的权重关系为w01,节点1612与节点1622之间的权重关系为w11,节点1611与节点1623之间的权重关系为w02,节点1612与节点1623之间的权重关系为w12,节点1611与节点1624之间的权重关系为w03,节点1612与节点1624之间的权重关系为w13,节点1611与节点1625之间的权重关系为w04,节点1612与节点1625之间的权重关系为w14。节点1611与节点1621之间的偏振关系为b00同时还预测单元160还可以建立该隐含层162的输出函数
其中,netOutputj(j)表示隐含层162的输出函数。
如图8所示,在建立隐含层162的输出函数之后,然后构建隐含层162和输出层163之间的函数关系,本实施例中输出层163可以包括一个节点1631,也就是输出层163输出一个数值,该数值可以为要输出数据为单逻辑页数据或多逻辑页数据的概率,例如当输出值小于阈值时,则该数据连续类型为单逻辑页数据,当输出值大于阈值时,则该数据连续类型为多逻辑页数据。该输出值可以为大于0且小于1的数,当输出值小于0.5时,则该数据连续类型为单逻辑页数据,当输出至大于等于0.5时,则该数据连续类型为多逻辑页数据。
如图8所示,在本实施例中,该输出层163的输入函数为
其中,netInputk(k)表示所述输出层的输入函数,xj表示所述隐含层162的节点,wjk表示所述隐含层和所述输出层之间的权重,bjk表示所述隐含层和所述输出层之间的偏置。所述权重表示隐含层的节点与输出层的节点的权重关系。所述偏置表示隐含层的节点与输出层的节点的偏置关系。隐含层162和输出层163之间的权重和偏置在模型建立过程(迭代过程)中不断更新。例如节点1621与节点1631之间的权重关系w00,节点1622与节点1631之间的权重关系w10,节点1623与节点1631之间的权重关系w20,节点1624与节点1631之间的权重关系w30,节点1625与节点1631之间的权重关系w40。节点1621与节点1631之间的偏置关系为b00。该预测单元160还建立输出层163的输出函数,
netOutputk(k)表示输出层163的输出函数。
如图8所示,该预测模型建立了输入层161和隐含层162之间的函数关系,同时又建立了隐含层162的输出层163之间的函数关系,也就是建立了输入层161与输出层163之间的函数关系,也就是建立了分区号,起始逻辑块地址和数据连续类型的预测模型。由于已经建立预测模型,因此当输入分区号,起始逻辑块地址后,就可以预测出数据连续类型,因此当不输入数据长度时,可以快速预测出数据连续类型,从而可以提高数据读取速度。
如图6-图8所示,在本实施例中,该预测单元160在建立预测模型时,需要使用大量的数据组,通过逐次迭代形成该预测模型,当所述输入层和所述隐含层之间的权重,所述输入层和所述隐含层之间的偏置更新后,输出值和期望输出值之间的误差小于阈值时,或者当所述隐含层和所述输出层之间的权重,所述隐含层和所述输出层之间的偏置更新后,输出值和期望输出值之间的误差小于阈值时,则停止迭代。
输入层161与隐含层162之间的权重的更新函数为
wij=wij+η*netOutputj(j)*(1-netOutputj(j))*xi*wjk*ek
输入层161与隐含层162之间的偏置的更新函数为
bij=bij+η*netOutputj(j)*(1-netOutputj(j))*wjk*ek
隐含层162与输出层163之间的权重的更新函数为
wjk=wjk+η*netOutputj(j)*ek
隐含层162与输出层163之间的权重的更新函数为
bjk=bjk+η*ek
其中,η表示常数,例如为0.1,ek表示误差,当误差小于阈值时,例如小于0.1时,则表示该预测模型已经完成。在一些实施例中,当迭代次数大于5000次时,也可以表示迭代完成,也就是预测模型已经建立。需要说明的时,当样本单元150内的数据组的数量增加时,则需要更新输入层161和隐含层162之间的权重,同时更新输入层161和隐含层162之间的偏置,从而更新该预测模型。在更新输入层161和隐含层162之间的权重和偏置的同时,还需要更新隐含层162和输出层162之间的权重和偏置,从而可以更新输出的结果。
如图9所示,本实施例还提出一种存储器的数据读取方法,包括:
S1:收集多个历史分区号,多个历史起始逻辑块地址和多个历史数据连续类型;
S2:根据多个所述历史分区号,多个所述历史起始逻辑块地址获得预测模型;
S3:通过主机接收读取命令,所述读取命令包括分区号和起始逻辑块地址;
S4:根据所述分区号,所述起始逻辑地址和所述预测模型预测数据连续类型,所述数据连续类型包括单逻辑页数据或多逻辑页数据;
S5:根据预测的所述数据连续类型读取数据。
如图6-图8所示,在步骤S1-S2中,通过样本单元150收集收集多个历史分区号,多个历史起始逻辑块地址和多个历史数据连续类型,然后通过预测单元160根据多个所述历史分区号,多个所述历史起始逻辑块地址获得预测模型。预测模型的建立过程可以参考上述描述。
如图6-图8所示,在步骤S3-S5中,当主机110接收到读取命令后,则将分区号和起始逻辑块地址发送到预测单元160内,也就是将分区号和起始逻辑块地址输入至预测模型内,然后通过预测模型获得输出值,例如当输出值大于0.5时,则将多逻辑页数据发送至主机110;例如当输出值小于0.5时,则将单逻辑页数据发送至主机110。在获得单逻辑页数据或者多逻辑页数据之后,还需要将数据连续类型,分区号和起始逻辑地址作为数据组保存在样本单元150内,从而让预测单元160更新该预测模型。需要说明的是,该输出值可以是大于0且小于1的数值。在本实施例中,该主机110不向控制单元120发送数据长度。
综上所述,本发明提出一种存储器及其数据读取方法,通过样本单元收集大量的历史分区号,历史起始逻辑块地址和历史数据连续类型,从而构建分区号,起始逻辑块和数据连续类型的关系,也就是建立分区号,起始逻辑块和数据连续类型的预测模型,因此当主机接收到不带长度的读取命令时,即可根据分区号,起始逻辑块和预测模型来预测当前的数据连续类型,数据连续类型可以包括单逻辑页数据或者多逻辑页数据,当预测模型的输出值小于阈值时,则输出单逻辑页数据,当预测模型的输出值大于阈值时,则输出多逻辑页数据,因此本发明可以根据预测模型的输出值来预测单逻辑页数据或多逻辑页数据,从而可以快速的读取出单逻辑页数据或多逻辑页数据,从而可以提高读取速度。
以上描述仅为本申请的较佳实施例以及对所运用技术原理的说明,本领域技术人员应当理解,本申请中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离所述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案,例如上述特征与本申请中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
除说明书所述的技术特征外,其余技术特征为本领域技术人员的已知技术,为突出本发明的创新特点,其余技术特征在此不再赘述。
Claims (10)
1.一种存储器的数据读取方法,其特征在于,包括:
收集多个历史分区号,多个历史起始逻辑块地址和多个历史数据连续类型;
根据多个所述历史分区号,多个所述历史起始逻辑块地址获得预测模型;
通过主机接收读取命令,所述读取命令包括分区号和起始逻辑块地址;
根据所述分区号,所述起始逻辑地址和所述预测模型预测数据连续类型,所述数据连续类型包括单逻辑页数据或多逻辑页数据;
根据预测的所述数据连续类型读取数据。
2.根据权利要求1所述的数据读取方法,其特征在于,在获得所述数据连续类型之后,还根据所述分区号,所述起始逻辑地址和所述数据连续类型更新所述预测模型。
3.根据权利要求1所述的数据读取方法,其特征在于,当所述预测模型的输出值小于阈值时,所述数据连续类型为所述单逻辑页数据,当所述预测模型的输出值大于阈值时,所述数据连续类型为所述多逻辑页数据。
4.根据权利要求3所述的数据读取方法,其特征在于,所述预测模型的输出值大于零且小于一。
5.根据权利要求2所述的数据读取方法,其特征在于,所述预测模型输入层,隐含层和输出层。
6.根据权利要求5所述的数据读取方法,其特征在于,所述输入层包括所述分区号和所述起始逻辑地址。
9.根据权利要求6所述的数据读取方法,其特征在于,更新所述预测模型时,还更新所述所述输入层和所述隐含层之间的权重,以及更新所述输入层和所述隐含层之间的偏置。
10.一种存储器,其特征在于,包括:
主机,用于接收读取命令,所述读取命令包括分区号和起始逻辑块地址;
样本单元,用于收集历史分区号,多个历史起始逻辑块地址和多个历史数据连续类型;
预测单元,用于根据多个所述历史分区号,多个所述历史起始逻辑块地址获得预测模型,并根据所述分区号,所述起始逻辑地址和所述预测模型预测数据连续类型,所述数据连续类型包括单逻辑页数据或多逻辑页数据;读取单元,用于根据预测的所述数据连续类型读取数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110578019.4A CN113223584B (zh) | 2021-05-26 | 2021-05-26 | 一种存储器及其数据读取方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110578019.4A CN113223584B (zh) | 2021-05-26 | 2021-05-26 | 一种存储器及其数据读取方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113223584A true CN113223584A (zh) | 2021-08-06 |
CN113223584B CN113223584B (zh) | 2024-08-27 |
Family
ID=77098595
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110578019.4A Active CN113223584B (zh) | 2021-05-26 | 2021-05-26 | 一种存储器及其数据读取方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113223584B (zh) |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101788955A (zh) * | 2009-01-23 | 2010-07-28 | 群联电子股份有限公司 | 闪存数据的存取方法及其储存系统与控制系统 |
CN103514104A (zh) * | 2012-06-27 | 2014-01-15 | 安凯(广州)微电子技术有限公司 | 读取数据方法以及数据写入方法 |
US20160048459A1 (en) * | 2014-08-18 | 2016-02-18 | Samsung Electronics Co., Ltd. | Operation method of memory controller and nonvolatile memory system including the memory controller |
CN106294225A (zh) * | 2015-06-29 | 2017-01-04 | 深圳市中兴微电子技术有限公司 | 一种数据读取方法、对端设备及控制器 |
CN107329904A (zh) * | 2017-06-30 | 2017-11-07 | 湖南国科微电子股份有限公司 | 数据读取方法及装置 |
US20190294555A1 (en) * | 2018-03-20 | 2019-09-26 | Toshiba Memory Corporation | Information processing device, storage device, and method of calculating evaluation value of data storage location |
CN110389909A (zh) * | 2018-04-16 | 2019-10-29 | 三星电子株式会社 | 使用深度神经网络优化固态驱动器的性能的系统和方法 |
CN111625188A (zh) * | 2020-05-19 | 2020-09-04 | 合肥康芯威存储技术有限公司 | 一种存储器及其数据写入方法与存储系统 |
CN112084121A (zh) * | 2020-09-11 | 2020-12-15 | 深圳佰维存储科技股份有限公司 | 硬盘预读方法、装置、计算机可读存储介质及电子设备 |
CN112700814A (zh) * | 2021-01-05 | 2021-04-23 | 潍柴动力股份有限公司 | Eeprom数据的读取方法、装置、电控设备及介质 |
-
2021
- 2021-05-26 CN CN202110578019.4A patent/CN113223584B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101788955A (zh) * | 2009-01-23 | 2010-07-28 | 群联电子股份有限公司 | 闪存数据的存取方法及其储存系统与控制系统 |
CN103514104A (zh) * | 2012-06-27 | 2014-01-15 | 安凯(广州)微电子技术有限公司 | 读取数据方法以及数据写入方法 |
US20160048459A1 (en) * | 2014-08-18 | 2016-02-18 | Samsung Electronics Co., Ltd. | Operation method of memory controller and nonvolatile memory system including the memory controller |
CN106294225A (zh) * | 2015-06-29 | 2017-01-04 | 深圳市中兴微电子技术有限公司 | 一种数据读取方法、对端设备及控制器 |
CN107329904A (zh) * | 2017-06-30 | 2017-11-07 | 湖南国科微电子股份有限公司 | 数据读取方法及装置 |
US20190294555A1 (en) * | 2018-03-20 | 2019-09-26 | Toshiba Memory Corporation | Information processing device, storage device, and method of calculating evaluation value of data storage location |
CN110389909A (zh) * | 2018-04-16 | 2019-10-29 | 三星电子株式会社 | 使用深度神经网络优化固态驱动器的性能的系统和方法 |
CN111625188A (zh) * | 2020-05-19 | 2020-09-04 | 合肥康芯威存储技术有限公司 | 一种存储器及其数据写入方法与存储系统 |
CN112084121A (zh) * | 2020-09-11 | 2020-12-15 | 深圳佰维存储科技股份有限公司 | 硬盘预读方法、装置、计算机可读存储介质及电子设备 |
CN112700814A (zh) * | 2021-01-05 | 2021-04-23 | 潍柴动力股份有限公司 | Eeprom数据的读取方法、装置、电控设备及介质 |
Also Published As
Publication number | Publication date |
---|---|
CN113223584B (zh) | 2024-08-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10884947B2 (en) | Methods and memory systems for address mapping | |
TWI679537B (zh) | 資料移動方法及儲存控制器 | |
US9244619B2 (en) | Method of managing data storage device and data storage device | |
KR20190087217A (ko) | 데이터 저장 장치 및 그것의 동작 방법 | |
CN111459844B (zh) | 数据储存装置及用于存取逻辑至物理地址映射表的方法 | |
CN112506814B (zh) | 一种存储器及其控制方法与存储系统 | |
US20190163623A1 (en) | Memory system and operating method thereof | |
CN110287133B (zh) | 存储器控制器及具有其的存储器系统 | |
US10168926B2 (en) | Method of operating data storage device and method of operating data processing system including same | |
CN112445421A (zh) | 数据存储装置及其操作方法 | |
KR102695719B1 (ko) | 데이터 스토리지 장치를 포함하는 시스템 및 데이터 스토리지 장치의 디스카드 동작 제어 방법 | |
US20220058116A1 (en) | Controller, memory system and data processing system | |
US12001885B2 (en) | Controller and memory system including the controller operating memory allocation | |
US11263148B2 (en) | Mapping host logical address to target address that is selected from combination of first memory's physical addresses and second memory's virtual addresses | |
US10466938B2 (en) | Non-volatile memory system using a plurality of mapping units and operating method thereof | |
KR101123335B1 (ko) | 해시 인덱스 구성 방법과 그 장치, 및 상기 장치를 구비하는 데이터 저장 장치, 및 상기 방법을 구현하는 프로그램이 기록된 기록매체 | |
CN110908596A (zh) | 数据存储装置、其操作方法和包括存储装置的存储系统 | |
CN110309075B (zh) | 存储器控制器以及具有存储器控制器的存储器系统 | |
CN113223584B (zh) | 一种存储器及其数据读取方法 | |
KR20210018570A (ko) | 컨트롤러, 컨트롤러의 동작 방법 및 이를 포함하는 저장 장치 | |
CN114201108A (zh) | 包括映射高速缓存的控制器以及包括控制器的存储器系统 | |
CN111338989B (zh) | 一种存储器及其控制方法与存储系统 | |
US20240319894A1 (en) | Storage device for managing buffer storing a logical to physical mapping unit, and method for operating the same | |
US11941246B2 (en) | Memory system, data processing system including the same, and operating method thereof | |
EP4345628A1 (en) | Method of optimizing quality of service (qos) in solid-state drives (ssds) and an ssd thereof |
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 |