亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

支持加速數(shù)據(jù)庫操作的數(shù)據(jù)存儲設(shè)備的制造方法

文檔序號:9916586閱讀:442來源:國知局
支持加速數(shù)據(jù)庫操作的數(shù)據(jù)存儲設(shè)備的制造方法
【技術(shù)領(lǐng)域】
[0001]本公開涉及非易失性數(shù)據(jù)存儲設(shè)備以及用于加速在這樣的設(shè)備中的數(shù)據(jù)操作的方法。
【背景技術(shù)】
[0002]經(jīng)常在執(zhí)行速度非常重要的環(huán)境中執(zhí)行數(shù)據(jù)庫操作。諸如返回查詢結(jié)果和進(jìn)行索引等的常見操作通常是I/O密集的并且在主機(jī)系統(tǒng)(例如,計(jì)算設(shè)備)與這樣的操作在其上執(zhí)行的數(shù)據(jù)存儲設(shè)備之間消耗大的數(shù)據(jù)帶寬。
【附圖說明】
[0003]現(xiàn)在將參照下面的附圖來描述實(shí)現(xiàn)本發(fā)明的各種實(shí)施例的各種特征的系統(tǒng)和方法,在附圖中:
[0004]圖1A示出了根據(jù)本發(fā)明的一個實(shí)施例的示例數(shù)據(jù)存儲設(shè)備。
[0005]圖1B示出了根據(jù)本發(fā)明的一個實(shí)施例的示例數(shù)據(jù)庫操作加速方法。
[0006]圖2示出了根據(jù)一個實(shí)施例的數(shù)據(jù)存儲設(shè)備的內(nèi)部數(shù)據(jù)布局。
[0007]圖3A和3B是示出了根據(jù)一個實(shí)施例的數(shù)據(jù)庫元素的示例布局的框圖。
[0008]圖4A和4B是示出了根據(jù)一個實(shí)施例的可以如何執(zhí)行過濾讀(filtered read)操作的流程圖。
[0009]圖5是示出了根據(jù)一個實(shí)施例的可以如何執(zhí)行索引操作的流程圖。
【具體實(shí)施方式】
[0010]本公開的一些實(shí)施例涉及被配置為加速數(shù)據(jù)庫操作的數(shù)據(jù)存儲設(shè)備(例如,固態(tài)驅(qū)動器(SSD))。在實(shí)施例中,數(shù)據(jù)存儲設(shè)備支持可變大小的邏輯頁,該邏輯頁的大小可以被定制以與數(shù)據(jù)庫數(shù)據(jù)結(jié)構(gòu)內(nèi)的各個數(shù)據(jù)單元(例如,元組)相匹配。其結(jié)果是,一些數(shù)據(jù)庫操作可以被加速,這是因?yàn)榭梢月赃^一些數(shù)據(jù)的邏輯地址范圍以減少從存儲介質(zhì)讀出并且傳送到主機(jī)的數(shù)據(jù)量,這實(shí)現(xiàn)了更加高效的數(shù)據(jù)庫操作。
[0011]盡管描述了本公開的一些實(shí)施例,但這些實(shí)施例僅以示例的方式給出,而不是要限制本公開的范圍。事實(shí)上,本文所描述的新穎的方法和系統(tǒng)可以以各種其它形式來實(shí)現(xiàn)。此外,可以在本文所描述的方法和系統(tǒng)的形式上做出各種省略、替代和變化,而不偏離本公開的精神。
[0012]數(shù)據(jù)存儲系統(tǒng)概述
[0013]圖1A示出了根據(jù)本發(fā)明的一個實(shí)施例的示例數(shù)據(jù)存儲設(shè)備120。如圖所示,數(shù)據(jù)存儲設(shè)備120(例如,固態(tài)驅(qū)動器、混合驅(qū)動器等)包括控制器130和非易失性固態(tài)存儲器140,非易失性固態(tài)存儲器140包括一個或多個存儲單元,例如存儲塊。圖1A示出了塊被標(biāo)識為塊“A”142到塊“N”的示例。盡管為方便起見,示出了單個的非易失性固態(tài)存儲器140,但存儲設(shè)備可以包括多個這樣的存儲器。非易失性固態(tài)存儲器140的每個塊包括多個閃速頁(F頁)。例如,圖1A的塊A 142包括多個F頁,被標(biāo)識為F頁A 143、B、到N。在一些實(shí)施例中,每個“F頁”是非易失性固態(tài)存儲器140中能夠在單個的操作中被編程或者被作為單元被編程的存儲器單元的最小分組。替代非易失性固態(tài)存儲器140或者除了非易失性固態(tài)存儲器140之外,可以使用磁旋轉(zhuǎn)介質(zhì)和/或諸如MRAM和/或相變存儲器之類的其它非易失性存儲器。
[0014]控制器130可以從主機(jī)系統(tǒng)110中的存儲接口112(例如,設(shè)備驅(qū)動器)接收數(shù)據(jù)和/或存儲訪問命令。由存儲接口 112傳送的存儲訪問命令可以包括由主機(jī)系統(tǒng)110發(fā)出的寫命令和讀命令。命令可以指定數(shù)據(jù)存儲設(shè)備120中的邏輯塊地址,并且控制器130可以在非易失性固態(tài)存儲器140中執(zhí)行接收到的命令。在混合硬盤驅(qū)動器中,除了非易失性固態(tài)存儲器140以外,數(shù)據(jù)可以存儲在磁介質(zhì)存儲部件(未在圖1A中不出)中。
[0015]數(shù)據(jù)存儲設(shè)備120可以存儲從主機(jī)系統(tǒng)110接收到的數(shù)據(jù),以使得數(shù)據(jù)存儲設(shè)備120可以充當(dāng)主機(jī)系統(tǒng)110的存儲器存儲設(shè)備。為便于該功能,控制器130可以實(shí)現(xiàn)邏輯接口。邏輯接口可以將存儲設(shè)備的存儲器向主機(jī)系統(tǒng)110呈現(xiàn)為可以在其中存儲數(shù)據(jù)的邏輯地址的集合(例如,連續(xù)地址)。在內(nèi)部,控制器130可以將邏輯地址映射到非易失性固態(tài)存儲器140和/或其它(多個)存儲器模塊中的各種物理存儲器地址。
[0016]在一個實(shí)施例中,控制器130包括存儲設(shè)備硬件和固件148以及用于數(shù)據(jù)庫操作代碼/固件的存儲器150。存儲設(shè)備硬件和固件148用于控制數(shù)據(jù)存儲設(shè)備內(nèi)的數(shù)據(jù)操作。在一個實(shí)施例中,存儲器150中的數(shù)據(jù)庫操作代碼/固件能夠由主機(jī)配置,并且可以在其自有的專用的處理器(未在圖1A中示出)中執(zhí)行。對存儲在非易失性固態(tài)存儲器140中的數(shù)據(jù)執(zhí)行那些查詢。與查詢有關(guān)的數(shù)據(jù)被臨時地存儲在查詢處理緩沖器160中并且結(jié)果經(jīng)由主機(jī)響應(yīng)緩沖器162被返回到主機(jī)系統(tǒng)110。下面提供了與部件如何交互有關(guān)的額外的細(xì)節(jié)。注意的是,在各種實(shí)施例中,這些部件可以被不同地布置。這些部件可以被省略、組合或者分離成另外的子部件。此外,部件148、150、160、和162可以集成到單個的處理器封裝中或者被實(shí)現(xiàn)為相互通信的各種分立部件。
[0017]圖1B示出了根據(jù)一個實(shí)施例的示例數(shù)據(jù)庫操作加速方法。在一個實(shí)施例中,控制器130被配置為執(zhí)行圖1B中所示的流程。在框168中,控制器被配置為將指令/代碼加載到存儲器150中。指令/代碼可以來自主機(jī)系統(tǒng)。在框170中,控制器被配置為執(zhí)行存儲器150中的指令。在一個實(shí)施例中,可以使用專用處理器來處理這些執(zhí)行以提供進(jìn)一步的加速。在框172中,控制器被配置為使得數(shù)據(jù)從固態(tài)存儲器140被讀取到查詢處理緩沖器160中。在框174中,控制器被配置為確定數(shù)據(jù)是否與由指令指定的數(shù)據(jù)庫查詢相匹配。在框176中,控制器被配置為基于查詢匹配的確定來執(zhí)行數(shù)據(jù)庫操作。在一個實(shí)施例中,框172-176中的一個或多個動作可以作為執(zhí)行指令的結(jié)果被觸發(fā)。如下面進(jìn)一步說明的,所執(zhí)行的數(shù)據(jù)庫操作可以例如包括以下中的一個或多個:(I)將與查詢相匹配的數(shù)據(jù)返回到主機(jī)系統(tǒng)110; (2)當(dāng)數(shù)據(jù)與查詢匹配時,將指示添加到索引;(3)修改與查詢相匹配的數(shù)據(jù)并且將修改后的數(shù)據(jù)寫回到固態(tài)存儲器。
[0018]對數(shù)據(jù)庫操作的加速
[0019]圖2示出了根據(jù)一個實(shí)施例的數(shù)據(jù)存儲設(shè)備的內(nèi)部數(shù)據(jù)布局。如圖所示,可變尺寸的邏輯頁(L頁)212存儲跨各種錯誤校正頁(E頁210),這些錯誤校正頁本身是物理閃頁F頁208的物理細(xì)分。在一些實(shí)施例中,每個F頁存在一個E頁,S卩,F(xiàn)頁不被細(xì)分。L頁可以跨過E頁、F頁的底層物理邊界,以及非易失性固態(tài)存儲器140內(nèi)的管芯/塊/單元的邊界(如邊界217所示)。例如,如圖所示,L頁可以分布跨多個E頁。在示例實(shí)現(xiàn)中,E頁210可以具有由ECC部分216保護(hù)的數(shù)據(jù)部分214。在一些實(shí)現(xiàn)中,可以使用壓縮來進(jìn)一步改變被寫到非易失性固態(tài)存儲器中的L頁的大小。
[0020]在一個實(shí)施例中,邏輯頁的大小被配置為等于數(shù)據(jù)庫的元組的大小,或者是數(shù)據(jù)庫的元組的整數(shù)倍。由于邏輯頁大小的這種靈活性,當(dāng)設(shè)計(jì)/配置數(shù)據(jù)庫時,數(shù)據(jù)庫管理員可以創(chuàng)建在存儲的數(shù)據(jù)與訪問索引之間的匹配相關(guān)。例如,如圖3A所示,如果一個元組占用2個邏輯頁,則為了讀取元組7,讀邏輯塊地址(LBA)H和15將被讀取?;谶壿嫷刂穪韺?shù)據(jù)進(jìn)行索引提供了許多優(yōu)點(diǎn),包括消除了由主機(jī)系統(tǒng)的操作系統(tǒng)(OS)進(jìn)行劃分的開銷并且允許使用所有可用的存儲。
[0021]此外,邏輯頁和數(shù)據(jù)庫數(shù)據(jù)對齊可以允許在查詢操作中(例如,在圖1B中的框172中的動作的執(zhí)行期間)選擇性地略過某些邏輯頁范圍。例如,在圖3B中,建立數(shù)據(jù)記錄以使得邏輯頁邊界與數(shù)據(jù)庫記錄的各個字段對齊。例如,如果用戶僅對訪問名稱和地址字段感興趣,則可以執(zhí)行目標(biāo)讀取來讀取L頁O和
當(dāng)前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1