CN111831585B - 数据储存设备及其数据预测方法 - Google Patents
数据储存设备及其数据预测方法 Download PDFInfo
- Publication number
- CN111831585B CN111831585B CN201910687878.XA CN201910687878A CN111831585B CN 111831585 B CN111831585 B CN 111831585B CN 201910687878 A CN201910687878 A CN 201910687878A CN 111831585 B CN111831585 B CN 111831585B
- Authority
- CN
- China
- Prior art keywords
- data
- prediction unit
- memory unit
- storage device
- access
- 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.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/172—Caching, prefetching or hoarding of files
-
- 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/0862—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with prefetch
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
- G06F16/24564—Applying rules; Deductive queries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/284—Relational databases
- G06F16/285—Clustering or classification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/50—Information retrieval; Database structures therefor; File system structures therefor of still image data
- G06F16/53—Querying
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/50—Information retrieval; Database structures therefor; File system structures therefor of still image data
- G06F16/58—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/466—Transaction processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/40—Extraction of image or video features
- G06V10/44—Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
- G06V10/443—Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components by matching or filtering
- G06V10/449—Biologically inspired filters, e.g. difference of Gaussians [DoG] or Gabor filters
- G06V10/451—Biologically inspired filters, e.g. difference of Gaussians [DoG] or Gabor filters with interaction between the filter responses, e.g. cortical complex cells
- G06V10/454—Integrating the filters into a hierarchical structure, e.g. convolutional neural networks [CNN]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/82—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
-
- 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)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Software Systems (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Biomedical Technology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Computational Linguistics (AREA)
- Multimedia (AREA)
- Biophysics (AREA)
- Mathematical Physics (AREA)
- Medical Informatics (AREA)
- Biodiversity & Conservation Biology (AREA)
- Library & Information Science (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Computational Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种数据储存设备及其数据预测方法。数据储存设备包括存储器单元以及预测单元。预测单元取得存储器单元的先前存取历史的多个数据存取动作的多个存取位置数据。预测单元分析存储器单元的先前存取历史。预测单元对所述多个存取位置数据进行量化处理,以取得对应于先前存取历史的多个量化数据。预测单元依据所述多个量化数据来预测存储器单元的数据预存取目标。因此,本发明的数据储存设备及其数据预测方法可有效地预测存储器单元的数据预存取目标。
Description
技术领域
本发明是有关于一种数据存取技术,且特别是有关于一种数据储存设备及其数据预测方法。
背景技术
随着云端运算(Cloud computing)、物联网(Internet of Things,IoT)以及人工智能(Artificial Intelligence,AI)应用的发展日趋蓬勃,相关数据储存设备对于高速数据存取的需求越来越大。在高速或大量数据存取需求的各种数据储存设备中,用于预先存取数据的存储器单元已是不可缺少的必要元件之一。以高速缓存(cache)存储器为例,在传统的个人电脑(Personal Computer,PC)架构中,高速缓存存储器可预先读取或保留储存装置中的热区数据,以加快高速缓存存储器的存取速度。然而,随着应用产品的不同,传统的高速缓存存储器的预存取方式,已经无法满足各种应用产品需求。有鉴于此,如何提供一种可适用于各种应用产品的高速缓存存储器的预存取手段,以有效地提升存储器单元的存取效率,以下将提出几个实施例的解决方案。
发明内容
本发明提供一种数据储存设备及其数据预测方法可有效地预测存储器单元的数据预存取目标,以提升存储器单元的存取效率。
本发明的数据储存设备包括存储器单元以及预测单元。预测单元耦接存储器单元。预测单元用以取得存储器单元的先前存取历史的多个数据存取动作的多个存取位置数据。预测单元分析存储器单元的先前存取历史。预测单元对所述多个存取位置数据进行量化处理,以取得对应于先前存取历史的多个量化数据。预测单元依据所述多个量化数据来预测存储器单元的数据预存取目标。
本发明的数据预测方法适于数据储存设备。所述数据预测方法包括以下步骤:通过预测单元取得存储器单元的先前存取历史的多个数据存取动作的多个存取位置数据;通过预测单元对所述多个存取位置数据进行量化处理,以取得对应于先前存取历史的多个量化数据;以及通过预测单元依据所述多个量化数据来预测存储器单元的数据预存取目标。
基于上述,本发明的数据储存设备及其数据预测方法可依据对应于多个数据存取动作的多个逻辑块地址以及多个扇区长度来有效地预测存储器单元的数据预存取目标。因此,本发明的数据储存设备及其数据预测方法可提供准确且高效率的数据预存取效果。
为让本发明的上述特征和优点能更明显易懂,下文特举实施例,并配合所附图式作详细说明如下。
附图说明
图1是依照本发明的一实施例的数据储存设备的功能方块图。
图2是依照本发明的图1实施例的数据预测方法的流程图。
图3是依照本发明的另一实施例的数据储存设备的功能方块图。
图4是依照本发明的一实施例的预测单元的示意图。
图5是依照本发明的图4实施例的量化处理的示意图。
图6是依照本发明的图4实施例的相关性规则分析的示意图。
图7是依照本发明的另一实施例的数据预测方法的流程图。
图8是依照本发明的另一实施例的预测单元的示意图。
图9是依照本发明的图8实施例的量化处理的示意图。
图10是依照本发明的图8实施例的图像数据的示意图。
图11是依照本发明的又一实施例的数据预测方法的流程图。
【附图标记说明】
100、300:数据储存设备
110、310、410、810:预测单元
120:存储器单元
200:主机装置
320:高速缓存存储器
330:储存装置
401、801:数据库
401_1~401_N、402:交易数据
403、803:数据预存取目标
500、900:储存空间
601~607:分类表
801_1~801_M、802:图像数据
A~G:存取位置项目
D11、D12、D13、D14、D21、D3:图像
P0~Pi:像素数据
S1~S4:区域
LBA_0、LBA_i、LBA_k:逻辑块地址
S210~S230、S710~S750、S1110~S1150:步骤
具体实施方式
为了使本发明的内容可以被更容易明了,以下特举实施例做为本发明确实能够据以实施的范例。另外,凡可能之处,在图式及实施方式中使用相同标号的元件/构件/步骤,代表相同或类似部件。
图1是依照本发明的一实施例的数据储存设备的功能方块图。参考图1,数据储存设备100包括预测单元110以及存储器单元120。预测单元110耦接存储器单元120。在本实施例中,预测单元110用以分析存储器单元120的先前存取历史,以预测存储器单元120的数据预存取目标。在本实施例中,存储器单元120可为高速缓存存储器(Cache),并且用于从储存装置预先存取数据,但本发明的存储器单元120的类型并不限于此。并且,本实施例的预测单元110可通过软件模组或是搭配对应的硬件电路来实现,但本发明亦不加以限制。
在一实施例中,预测单元110可为固件(Firmware)的形式预先储存在数据储存设备100的当中,并且预测单元110可被存储器控制器或处理器执行。举例而言,预测单元110可储存在特殊应用集成电路(Application Specific Integrated Circuit,ASIC)或可程序逻辑装置(Programmable Logic Device,PLD)之中的可程序化只读存储器(Programmable read-only memory,PROM)。当数据储存设备100被使用时,预测单元110可被读取并被执行之。或者,在另一实施例中,预测单元110可为软件的形式的应用程序(Application,APP)预先储存在存储器单元120或其他存储器当中,以当数据储存设备100被使用时,预测单元110可被处理器读取并被执行。
图2是依照本发明的图1实施例的数据预测方法的流程图。参考图1以及图2,图1的数据储存设备100可执行如图2的数据预测方法的步骤S210~S230。在步骤S210中,预测单元110取得存储器单元120的先前存取历史的多个数据存取动作的多个存取位置数据。在步骤S220中,预测单元110对所述多个存取位置数据进行量化处理,以取得对应于先前存取历史的多个量化数据。在步骤S230中,预测单元110依据所述多个量化数据来预测存储器单元120的数据预存取目标。因此,本实施例的数据预测方法可使数据储存设备100有效地预测存储器单元120的数据预存取目标,以提升存储器单元120的数据存取效率。
并且,在一实施例中,上述的所述多个存取位置数据可包括多个逻辑块地址(Logical Block Address,LBA)以及多个扇区长度(Sector length),但本发明并不限于此。此外,由于本实施例的数据储存设备100的预测单元110经由量化处理的方式,来取得用于预测存储器单元120的数据预存取目标的所述多个量化数据,因此本实施例的数据储存设备100还具有可有效地降低数据运算量的功效。
图3是依照本发明的另一实施例的数据储存设备的功能方块图。参考图3,数据储存设备300为本发明的一种数据储存设备的实施范例。在本实施例中,数据储存设备300包括预测单元310、高速缓存存储器320以及储存装置330。高速缓存存储器320耦接预测单元310以及储存装置330,并且还耦接外部的主机(Host)装置200。在本实施例中,数据储存设备300可例如是应用于云端运算(Cloud computing)设备、物联网(Intemet of Things,IoT)设备、大数据(Big data)运算设备或人工智能(Artificial Intelligence,AI)设备等相关有高速数据存取需求的相关设备,本发明并不加以限制。甚至,数据储存设备300亦可以是一般的个人电脑(Personal Computer,PC)架构或硬盘(Disk)设备等。在本实施例中,外部的主机装置200经由高速缓存存储器320来存取储存装置330。储存装置330可例如是暂时存储器或永久存储器。在本实施例中,储存装置330的类型可依据不同的数据储存应用来决定,本发明并不加以限制。
在本实施例中,高速缓存存储器320用以依据外部的主机设备200所提供的多个存取指令来对储存装置330进行多个数据存取(Access)动作。所述多个存取指令可例如是读取指令(Read command)或写入指令(Write command)。在本实施例中,数据储存设备300可进一步包括存储器控制器(Memory controller),并且存储器控制器例如进一步输出总线(Address)指令以及控制指令至高速缓存存储器320,以操作高速缓存存储器320从储存装置330读取或写入数据。
在本实施例中,为了加快数据的存取速度,本实施例的预测单元310可收集先前从外部的主机装置200接收的多个数据存取指令,以预测后续主机装置200具有较高机会或较低机会希望从储存装置330取得的目标数据。也就是说,存储器控制器可预先将目标数据从储存装置330移入高速缓存存储器320,并且移出其他不需要的数据,以加快高速缓存存储器320存取速度,并且大幅度节省数据搬运时间。
更进一步而言,本实施例的预测单元310可收集在外部的主机设备200先前所提供的多个存取指令当中的多个存取信息。所述多个存取信息包括对应于储存装置330的多个逻辑块地址以及多个扇区长度。预测单元310可先对所述多个逻辑块地址以及所述多个扇区长度进行量化处理,接着再依据多个量化数据来预测高速缓存存储器320的数据预存取目标,并且依据数据预存取目标将目标数据从储存装置330预先移入高速缓存存储器320,并且将不需要的数据移出高速缓存存储器320至储存装置330。换言之,本实施例的预测单元310可有效地判断记录在储存装置330当中的热数据或冷数据,其中所述热数据或所述冷数据可对应于先前存取的数据热度来决定。也就是说,本实施例所述的数据预存取目标可例如是指的是热数据移入需求以及对应的冷数据移出需求。因此,本实施例的数据储存设备300可以较低运算量的方式来提供高效率的数据存取功效。
图4是依照本发明的一实施例的预测单元的示意图。图5是依照本发明的图4实施例的量化处理的示意图。图6是依照本发明的图4实施例的相关性规则分析的示意图。参考图4至图6,预测单元410可依据相关性规则(Association rule)来分析存储器单元(例如图1的存储器单元120或图3的高速缓存存储器320)的先前存取历史,以预测存储器单元的数据预存取目标。在本实施例中,预测单元410先对所述多个逻辑块地址以及所述扇区长度进行量化处理,以产生先前存取历史的多个交易(Transaction)数据401_1、401_2~401_N,并且预测单元410依据所述多个交易数据401_1、401_2~401_N来建立交易数据库401,其中N为大于1的正整数。
举例而言,如图5所示,以线性的方式呈现储存装置的储存空间500,并且储存装置的储存空间500例如被划分为多个区域,并且所述多个区域对应于所述多个存取位置项目A~G。在此范例中,存取位置项目A可对应于储存空间500中的总线0x1000~0x1009之间的范围。存取位置项目B可对应于储存空间500中的总线0x100A~0x1020之间的范围。存取位置项目C可对应于储存空间500中的总线0x1021~0x1050之间的范围。存取位置项目D可对应于储存空间500中的总线0x1051~0x1060之间的范围。存取位置项目E可对应于储存空间500中的总线0x1061~0x1070之间的范围。存取位置项目F可对应于储存空间500中的总线0x1071~0x1090之间的范围。存取位置项目G可对应于储存空间500中的总线0x1091~0x10A0之间的范围。然而,本发明的所述多个存取位置项目A~G所对应于储存空间500中的总线范围不限于图5。本发明的所述多个存取位置项目A~G所对应于储存空间500中的总线范围可相同或不相同,并且可依不同的数据储存需求来决定。
在此例中,先前存取历史的所述多个交易数据401_1、401_2~401_N可例如包括以下表1所示的8笔交易数据。
表1
在上述表1中,交易数据401_1~401_8各别包括存取位置项目A~G的至少其中之一。也就是说,预测单元410对交易数据401_1~401_8的所述多个逻辑块地址以及所述多个扇区长度进行量化处理,以有效减少后续分析的数据运算量。接着,如图6所示的相关性规则分析的示意图。预测单元410可依据最小支持度(support)门限以及上述表1的交易数据401_1~401_8各别对应的存取位置项目来推算多个分类数据。
详细而言,预测单元410依据上述表1的交易数据401_1~401_8各别对应的存取位置项目来决定如图6所示的分类表601~607。分类表601~607各别包括所述多个分类数据,并且所述多个分类数据各别包括至少一存取位置项目以及分别对应的支持度。如分类表601所示,存取位置项目A的支持度为3。存取位置项目B的支持度为7。存取位置项目C的支持度为7。存取位置项目D的支持度为5。存取位置项目E的支持度为4。存取位置项目F的支持度为2。存取位置项目G的支持度为1。并且,最小支持度门限可例如是预设为2,因此预测单元410可依据分类表601来推算另一分类表602,其中预测单元410剔除低于最小支持度门限的存取位置项目以及对应的支持度。因此,如分类表602所示,存取位置项目A~F的分类数据被保留下来,并且存取位置项目G的分类数据被剔除。
接着,预测单元410可依据分类表602来推算另一分类表603。如分类表603所示,存取位置项目AB的支持度为3。存取位置项目AC的支持度为3。存取位置项目AD的支持度为1。存取位置项目AE的支持度为0。存取位置项目AF的支持度为0。存取位置项目BC的支持度为7。存取位置项目BD的支持度为4。存取位置项目BE的支持度为3。存取位置项目BF的支持度为2。存取位置项目CD的支持度为4。存取位置项目CE的支持度为3。存取位置项目CF的支持度为2。存取位置项目DE的支持度为4。存取位置项目DF的支持度为2。存取位置项目EF的支持度为2。并且,最小支持度门限可例如是预设为2,因此预测单元410可依据分类表603来推算另一分类表604,其中预测单元410剔除低于最小支持度门限的分类数据。因此,如分类表604所示,存取位置项目AB、AC、BC、BD、BE、BF、CD、CE、CF、DE、DF、EF的的分类数据被保留下来,并且其余存取位置项目的分类数据被剔除。
接着,预测单元410可依据分类表604来推算另一分类表605。如分类表605所示,存取位置项目ABC的支持度为3。存取位置项目BCD的支持度为4。存取位置项目BCE的支持度为3。存取位置项目BCF的支持度为2。存取位置项目BDE的支持度为3。存取位置项目BDF的支持度为2。存取位置项目BEF的支持度为2。存取位置项目CDE的支持度为3。存取位置项目CDF的支持度为2。存取位置项目CEF的支持度为2。存取位置项目DEF的支持度为2。并且,所有的存取位置项目的支持度接大于最小支持度门限,因此分类表605无须剔除低于最小支持度门限的分类数据。
接着,预测单元410可依据分类表605来推算另一分类表606。如分类表606所示,存取位置项目BCDE的支持度为3。存取位置项目BCDF的支持度为2。存取位置项目BCEF的支持度为2。存取位置项目BDEF的支持度为2。存取位置项目CDEF的支持度为2。并且,所有的存取位置项目的支持度皆大于最小支持度门限,因此分类表606无须剔除低于最小支持度门限的的分类数据。最后,预测单元410可依据分类表606来推算另一分类表607。如分类表607所示,存取位置项目BCDEF的支持度为2。
对此,本实施例的预测单元410可依据最小可信度(confidence)门限分析上述图6的经推算后所获得的表610~607的所述多个分类数据,以决定多个关联规则,以使预测单元410依据所述多个关联规则来预测存储器单元的数据预存取目标。并且,在一实施例中,最小可信度门限可例如为0.75,并且预测单元410可依据图6的分类表610~607的所述多个分类数据来验证多个相关性规则。以下将提出几个验证范例。
以验证存取位置项目BCD与存取位置项目F的关联性为例。存取位置项目BCDF的支持度为2,并且存取位置项目BCD的支持度为4。因此,如以下算式(1)的结果,存取位置项目BCD与存取位置项目F的可信度为0.5,并且小于最小可信度门限的0.75。因此,预测单元410不会建立存取位置项目BCD与存取位置项目F的关联规则。
Confidence=Support(BCDF)/Support(BCD)=2/4=0.5 (1)
以验证存取位置项目BD与存取位置项目E的关联性为例。存取位置项目BDE的支持度为3,并且存取位置项目BD的支持度为4。因此,如以下算式(2)的结果,存取位置项目BD与存取位置项目E的可信度为0.75,并且等于最小可信度门限的0.75。因此,预测单元410将会建立存取位置项目BD与存取位置项目E的关联规则。
Confidence=Support(BDE)/Support(BD)=3/4=0.75……(2)
以验证存取位置项目A与存取位置项目BC的关联性为例。存取位置项目ABC的支持度为3,并且存取位置项目A的支持度为3。因此,如以下算式(3)的结果,存取位置项目A与存取位置项目BC的可信度为1,并且大于最小可信度门限的0.75。因此,预测单元410将会建立存取位置项目A与存取位置项目BC的关联规则。
Confidence=Support(ABC)/Support(A)=3/3=1……(3)
以此类推,预测单元410可决定多个关联规则。当预测单元410接收到最近一笔存取位置数据时,预测单元410可同样将最近一笔存取位置数据以上述量化处理的方式来转换为对应的最近一笔交易数据402。因此,预测单元410可依据所述多个关联规则来判断与交易数据402的存取位置项目相关联的对应存取位置项目。对此,预测单元410可依据上述量化的方式来回推所述对应存取位置项目,以有效预测存储器单元的数据预存取目标803。
图7是依照本发明的另一实施例的数据预测方法的流程图。参考图1以及图7,本实施例的数据预测方法可至少适用于图1实施例的数据储存设备100。在步骤S710中,数据储存设备100的预测单元110取得存储器单元120的先前存取历史的多个数据存取动作的多个存取位置数据。在步骤S720中,预测单元110对所述多个存取位置数据的多个逻辑块地址以及多个扇区长度进行量化处理,以决定多个交易数据,并且预测单元110依据所述多个交易数据来建立交易数据库。在步骤S730中,预测单元110依据交易数据库以及最小支持度门限来推算多个分类数据。在步骤S740中,预测单元110依据最小可信度门限分析所述多个分类数据,以决定多个关联规则。在步骤S750中,当预设单元110接收到最近一笔交易数据时,预测单元110可依据所述多个关联规则来预测存储器单元的数据预存取目标。因此,本实施例的数据预测方法可通过相关性规则分析的方式来准确地预测存储器单元120的数据存取需求,以有效地提升存储器单元120的数据存取效率。
另外,关于本实施例的数据储存设备100的相关元件特征、实施方式以及技术细节,可参考上述图1至图6实施例的说明,因此不再赘述。
图8是依照本发明的另一实施例的预测单元的示意图。图9是依照本发明的图8实施例的量化处理的示意图。图10是依照本发明的图8实施例的图像数据的示意图。参考图8至图10,预测单元810可依据存储器单元(例如图1的存储器单元120或图3的高速缓存存储器320)的先前存取历史来建立神经网络模型,以识别先前存取历史的使用情境,并且预测单元810可依据神经网络模型来预测存储器单元的数据预存取目标。以下说明将以卷积神经网络模型(Convolutional Neural Networks,CNN)为例,但本发明并不限于此。在一实施例中,预测单元810亦可以是采用其他类型的神经网络模型。在本实施例中,预测单元810先对所述多个逻辑块地址以及所述扇区长度进行量化处理,以产生先前存取历史的多个图像数据801_1、801_2~801_M,并且预测单元810依据所述多个图像数据801_1、801_2~801_M来建立交易数据库801,其中M为大于1的正整数。
举例而言,图9以线性的方式呈现储存装置的储存空间900,并且以先前存取历史的某一次存取事件的一次或多次数据存取动作的一个或多个存取位置数据来说明。预测单元810对储存装置的储存空间900进行划分,以决定区域S1~S4。储存空间900是指起始逻辑块地址LBA_0到最后逻辑块地址LBA_k的空间,其中k为大于1的正整数。假设先前存取历史的某一个数据存取动作是只有存取区域S1当中的数据,则预测单元810对区域S1的数据存取分布数据进行量化处理。在本实施例中,区域S1是指起始逻辑块地址LBA_0到某一个逻辑块地址LBA_i的空间,其中i为大于1的正整数。在本实施例中,预测单元810依据区域S1~S4来产生对应的多个第一图像D11~D14(例如,曾经被存取的区域对应于像素值0,未被存取的区域对应于像素值1)。并且,预测单元810将区域S1的每一个或每多个逻辑块地址分别对应于一个像素数据(P0~Pi),以建立第二图像D21(例如,曾经被存取的总线对应于像素值0,未被存取的总线对应于像素值1)。也就是说,预测单元810依据此某一次存取事件的多个逻辑块地址以及多个扇区长度来决定于第二图像D21的这些像素数据P0~Pi。
因此,预测单元810将第一图像D11~D14以及第二图像D21合并,以产生如图10所示的图像数据D3(例如是所述多个图像数据801_1~801_M的其中之一)。以此类推,预测单元810可依据先前存取历史的多次存取事件的一次或多次数据存取动作来产生对应的所述多个图像数据801_1~801_M,并且通过所述多个图像数据801_1~801_M来训练卷积神经网络模型。当预测单元810接收到最近一笔存取位置数据时,预测单元810可同样将最近一笔存取位置数据以上述量化处理的方式来转换为对应的最近一笔图像数据802,并且输入至卷积神经网络模型。因此,预测单元810可依据卷积神经网络模型来辨识图像数据802的使用情境,而输出对应的图像辨识结果。图像辨识结果可同样是如图10的图像辨识结果。对此,预测单元810可依据上述量化的方式来回推图像辨识结果,以有效预测存储器单元的数据预存取目标803。
然而,本发明的图像数据的形式不限于图9以及图10,上述实施例的目的在于解释如何训练卷积神经网络模型并且以图像辨识的方式来实现预测数据预存取目标803的实施手段以技术功效。
图11是依照本发明的又一实施例的数据预测方法的流程图。参考图1以及图11,本实施例的数据预测方法可至少适用于图1实施例的数据储存设备100。在步骤S1110中,数据储存设备100的预测单元110取得存储器单元120的先前存取历史的多个数据存取动作的多个存取位置数据。在步骤S1120中,预测单元110对所述多个存取位置数据的多个逻辑块地址以及多个扇区长度进行量化处理,以建立图像数据库。在步骤S1130中,预测单元110依据图像数据库的多个图像数据来训练神经网络模型。在步骤S1140中,预测单元110将对应于先前存取位置数据的另一图像数据输入至神经网络模型,以输出图像辨识结果。在步骤S1150中,预测单元110依据图像辨识结果来预测存储器单元120的数据预存取目标。因此,本实施例的操作方法可通过训练神经网络模型的方式来准确地预测存储器单元120的数据存取需求,以有效地提升存储器单元120的数据存取效率。
另外,关于本实施例的数据储存设备100的相关内部电路元件、技术细节以及实施方式可参考上述图1至图10的实施例,而可获致足够的教示、建议与实施说明,因此不再赘述。
综上所述,本发明的数据储存设备及其数据预测方法可通过将先前存取历史的多个存取指令当中的多个逻辑块地址以及多个扇区长度经由量化处理后,进一步采用相关性规则分析或是神经网络运算的方式而有效地预测高速缓存存储器的数据存取需求,并且有效可降低数据运算量。换言之,本发明的数据储存设备及其数据预测方法可将预测的目标数据从储存装置预先移入存储器单元,并且将不需要的其他数据预先移出存储器单元至储存装置,以有效地加快存储器单元的数据存取效率,以及有效地减少存储器单元存取储存装置所需的等待时间。
虽然本发明已以实施例公开如上,然其并非用以限定本发明,任何所属技术领域中普通技术人员,在不脱离本发明的精神和范围内,当可作些许的更动与润饰,故本发明的保护范围当视随附的权利要求所界定的为准。
Claims (16)
1.一种数据储存设备,其特征在于,包括:
一存储器单元;
一储存装置,耦接所述存储器单元;以及
一预测单元,耦接所述存储器单元以及所述储存装置,用以取得所述存储器单元的一先前存取历史的多个数据存取动作的多个存取位置数据,并且分析所述存储器单元的所述先前存取历史,从而判断记录在所述储存装置当中对应于先前存取的数据热度的热数据或冷数据,其中这些存取位置数据包括所述储存装置的多个逻辑块地址以及多个扇区长度;
其中所述预测单元对这些逻辑块地址以及这些扇区长度进行一量化处理,以取得对应于所述先前存取历史的多个交易数据,并且所述预测单元依据这些交易数据来建立一交易数据库,
其中所述预测单元依据所述交易数据库以及一最小支持度门限来推算多个分类数据,并且所述预测单元依据一最小可信度门限分析这些分类数据,以决定多个关联规则,并且所述预测单元依据这些关联规则来预测所述存储器单元的一数据预存取目标。
2.如权利要求1所述的数据储存设备,其中所述存储器单元外部耦接一主机装置,并且所述存储器单元依据所述主机装置的多个存取指令来进行这些数据存取动作,其中这些存取指令包括这些存取位置数据。
3.如权利要求2所述的数据储存设备,其中所述存储器单元为一高速缓存存储器,并且所述存储器单元依据所述数据预存取目标来将一预存取数据经由所述储存装置移入或移出所述高速缓存存储器。
4.如权利要求1所述的数据储存设备,其中所述预测单元依据这些关联规则来分析所述存储器单元的所述先前存取历史,以预测所述存储器单元的所述数据预存取目标。
5.如权利要求1所述的数据储存设备,其中这些交易数据包括多个存取位置项目的至少其中之一。
6.如权利要求1所述的数据储存设备,其中所述预测单元依据所述存储器单元的所述先前存取历史来建立一神经网络模型,所述神经网络模型用以识别所述先前存取历史的一使用情境,并且所述预测单元依据所述神经网络模型来预测所述存储器单元的所述数据预存取目标。
7.如权利要求6所述的数据储存设备,其中所述预测单元对这些逻辑块地址以及这些扇区长度进行所述量化处理,以建立一图像数据库,并且所述预测单元依据所述图像数据库的多个图像数据来训练所述神经网络模型,
其中所述预测单元将对应于一先前存取位置数据的另一图像数据输入至所述神经网络模型,以输出一图像辨识结果,并且所述预测单元依据所述图像辨识结果来预测所述存储器单元的所述数据预存取目标。
8.如权利要求7所述的数据储存设备,其中这些图像数据各别包括多个第一图像以及多个第二图像,这些第一图像的多个第一像素数据依据这些逻辑块地址以及这些扇区长度的量化结果来决定,这些第二图像的多个第二像素数据依据这些第一像素数据的量化结果来决定。
9.一种数据预测方法,适于一数据储存设备,其特征在于,所述方法包括:
通过一预测单元取得一存储器单元的一先前存取历史的多个数据存取动作的多个存取位置数据;
通过所述预测单元分析所述存储器单元的所述先前存取历史,从而判断记录在储存装置当中对应于先前存取的数据热度的热数据或冷数据;
通过所述预测单元对这些逻辑块地址以及这些扇区长度进行一量化处理,以取得对应于所述先前存取历史的多个交易数据,并且通过所述预测单元依据这些交易数据来建立一交易数据库;
通过所述预测单元依据所述交易数据库以及一最小支持度门限来推算多个分类数据,并且通过所述预测单元依据一最小可信度门限分析这些分类数据,以决定多个关联规则;以及
通过所述预测单元依据这些关联规则来预测所述存储器单元的一数据预存取目标;
其中这些存取位置数据包括所述存储器单元的多个逻辑块地址以及多个扇区长度。
10.如权利要求9所述的数据预测方法,更包括:
通过所述存储器单元依据一主机装置的多个存取指令来进行这些数据存取动作,其中这些存取指令包括这些存取位置数据。
11.如权利要求10所述的数据预测方法,其中所述存储器单元为一高速缓存存储器,并且所述数据预测方法更包括:
通过所述存储器单元依据所述数据预存取目标来将一预存取数据经由所述储存装置移入或移出所述高速缓存存储器。
12.如权利要求9所述的数据预测方法,其中通过所述预测单元依据这些量化数据来预测所述存储器单元的所述数据预存取目标的步骤包括:
通过所述预测单元依据这些关联规则来分析所述存储器单元的所述先前存取历史,以预测所述存储器单元的所述数据预存取目标。
13.如权利要求9所述的数据预测方法,其中这些交易数据包括多个存取位置项目的至少其中之一。
14.如权利要求9所述的数据预测方法,其中通过所述预测单元依据这些量化数据来预测所述存储器单元的所述数据预存取目标的步骤包括:
通过所述预测单元依据所述存储器单元的所述先前存取历史来建立一神经网络模型,所述神经网络模型用以识别所述先前存取历史的一使用情境;以及
通过所述预测单元依据所述神经网络模型来预测所述存储器单元的所述数据预存取目标。
15.如权利要求14所述的数据预测方法,其中通过所述预测单元对这些存取位置数据进行所述量化处理,以取得对应于所述先前存取历史的这些量化数据的步骤包括:
通过所述预测单元对这些逻辑块地址以及这些扇区长度进行所述量化处理,以建立一图像数据库,并且通过所述预测单元依据所述图像数据库的多个图像数据来训练所述神经网络模型,
其中通过所述预测单元依据所述神经网络模型来预测所述存储器单元的所述数据预存取目标的步骤包括:
通过所述预测单元将对应于一先前存取位置数据的另一图像数据输入至所述神经网络模型,以输出一图像辨识结果,并且通过所述预测单元依据所述图像辨识结果来预测所述存储器单元的所述数据预存取目标。
16.如权利要求15所述的数据预测方法,其中这些图像数据各别包括多个第一图像以及多个第二图像,这些第一图像的多个第一像素数据依据这些逻辑块地址以及这些扇区长度的量化结果来决定,这些第二图像的多个第二像素数据依据这些第一像素数据的量化结果来决定。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW108113568 | 2019-04-18 | ||
TW108113568A TWI694463B (zh) | 2019-04-18 | 2019-04-18 | 資料儲存設備及其資料預測方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111831585A CN111831585A (zh) | 2020-10-27 |
CN111831585B true CN111831585B (zh) | 2023-08-08 |
Family
ID=71896254
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910687878.XA Active CN111831585B (zh) | 2019-04-18 | 2019-07-29 | 数据储存设备及其数据预测方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11494430B2 (zh) |
CN (1) | CN111831585B (zh) |
TW (1) | TWI694463B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117472801B (zh) * | 2023-12-28 | 2024-03-01 | 苏州元脑智能科技有限公司 | 显存带宽优化方法、装置、系统及bmc系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1366633A (zh) * | 2000-03-31 | 2002-08-28 | 松下电器产业株式会社 | 盘式存储装置、数据预读方法以及记录媒体 |
CN102270176A (zh) * | 2010-06-03 | 2011-12-07 | 智微科技股份有限公司 | 数据存取方法及其相关的控制系统 |
JP2012141885A (ja) * | 2011-01-05 | 2012-07-26 | Nippon Telegr & Teleph Corp <Ntt> | キャッシュシステム及びキャッシュ配置方法及びキャッシュ制御装置及びキャッシュ制御プログラム |
CN105051684A (zh) * | 2013-03-14 | 2015-11-11 | 桑迪士克科技股份有限公司 | 用于预测和改进启动序列的系统和方法 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH11110139A (ja) | 1997-09-26 | 1999-04-23 | Internatl Business Mach Corp <Ibm> | データ読み取り方法及びデータ読み取り装置 |
JP3848161B2 (ja) * | 1999-12-09 | 2006-11-22 | 富士通株式会社 | アドレス変換履歴テーブルを用いたメモリアクセス装置及び方法 |
JP2009080603A (ja) * | 2007-09-26 | 2009-04-16 | Hitachi Ltd | ストレージ装置及びその省電力方法 |
TWI382426B (zh) | 2007-10-04 | 2013-01-11 | Realtek Semiconductor Corp | 預測快取記憶體之存取位置的方法及系統 |
US9652343B2 (en) * | 2011-09-21 | 2017-05-16 | Kevin Mark Klughart | Raid hot spare system and method |
US9244861B2 (en) * | 2013-11-13 | 2016-01-26 | Violin Memory Inc. | Efficient caching system |
CN104714753A (zh) | 2013-12-12 | 2015-06-17 | 中兴通讯股份有限公司 | 一种数据访问存储方法及装置 |
US9311021B1 (en) * | 2014-08-27 | 2016-04-12 | Qlogic, Corporation | Methods and systems for performing a read ahead operation using an intelligent storage adapter |
US9977623B2 (en) * | 2015-10-15 | 2018-05-22 | Sandisk Technologies Llc | Detection of a sequential command stream |
US10320907B2 (en) * | 2016-09-26 | 2019-06-11 | Netapp, Inc. | Multi-stage prefetching to exploit long-term future data access sequence knowledge |
US20190065964A1 (en) * | 2017-08-30 | 2019-02-28 | Qualcomm Incorporated | Method and apparatus for load value prediction |
CN109189693B (zh) * | 2018-07-18 | 2020-10-30 | 深圳大普微电子科技有限公司 | 一种对lba信息进行预测的方法及ssd |
-
2019
- 2019-04-18 TW TW108113568A patent/TWI694463B/zh active
- 2019-06-14 US US16/441,032 patent/US11494430B2/en active Active
- 2019-07-29 CN CN201910687878.XA patent/CN111831585B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1366633A (zh) * | 2000-03-31 | 2002-08-28 | 松下电器产业株式会社 | 盘式存储装置、数据预读方法以及记录媒体 |
CN102270176A (zh) * | 2010-06-03 | 2011-12-07 | 智微科技股份有限公司 | 数据存取方法及其相关的控制系统 |
JP2012141885A (ja) * | 2011-01-05 | 2012-07-26 | Nippon Telegr & Teleph Corp <Ntt> | キャッシュシステム及びキャッシュ配置方法及びキャッシュ制御装置及びキャッシュ制御プログラム |
CN105051684A (zh) * | 2013-03-14 | 2015-11-11 | 桑迪士克科技股份有限公司 | 用于预测和改进启动序列的系统和方法 |
Also Published As
Publication number | Publication date |
---|---|
US11494430B2 (en) | 2022-11-08 |
CN111831585A (zh) | 2020-10-27 |
US20200334286A1 (en) | 2020-10-22 |
TW202040570A (zh) | 2020-11-01 |
TWI694463B (zh) | 2020-05-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11397529B2 (en) | Method and device for determining strategy for data placement within SSD | |
CN112970006B (zh) | 一种基于递归神经网络的内存访问预测方法和电路 | |
CN102236674B (zh) | 一种索引页更新方法及装置 | |
US20190361811A1 (en) | Data processing apparatus and prefetch method | |
CN111143243A (zh) | 一种基于nvm混合内存的缓存预取方法及系统 | |
US10303608B2 (en) | Intelligent data prefetching using address delta prediction | |
US20190012251A1 (en) | Distributed architecture for determining performance parameters | |
US20200285386A1 (en) | System and Method for Input/Output (I/O) Pattern Prediction using Recursive Neural Network and Proaction for Read/Write Optimization for Sequential and Random I/O | |
US20170046074A1 (en) | Adaptive Data Compression for Data Storage in a Memory Device | |
CN115470157A (zh) | 预取方法、电子设备、存储介质及程序产品 | |
CN111831585B (zh) | 数据储存设备及其数据预测方法 | |
CN114168318A (zh) | 存储释放模型的训练方法、存储释放方法及设备 | |
CN113408070B (zh) | 发动机参数的确定方法、装置、设备及存储介质 | |
US20200097412A1 (en) | Predictive dynamic contextual cache loading | |
CN113435601A (zh) | 数据预取方法、装置以及存储设备 | |
US11741182B1 (en) | Systems and methods for dynamic content distribution | |
CN113535658B (zh) | 一种文件预取方法、存储设备以及预取装置 | |
CN107169313A (zh) | Dna数据文件的读取方法及计算机可读存储介质 | |
CN110888588B (zh) | 快闪记忆体控制器及相关的访问方法及电子装置 | |
US11385798B1 (en) | Method and system for application aware, management of write operations on non-volatile storage | |
US11977485B2 (en) | Method of cache management based on file attributes, and cache management device operating based on file attributes | |
CN113268201B (zh) | 基于文件属性的缓存管理方法和装置 | |
KR102007086B1 (ko) | 프리페치 장치 및 방법과 이에 관한 기록매체 | |
Pham et al. | A Prediction-Based Cache Replacement Policy for Flash Storage | |
CN116361070A (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 |