TWI768799B - 資料讀取方法及電子系統 - Google Patents
資料讀取方法及電子系統 Download PDFInfo
- Publication number
- TWI768799B TWI768799B TW110111695A TW110111695A TWI768799B TW I768799 B TWI768799 B TW I768799B TW 110111695 A TW110111695 A TW 110111695A TW 110111695 A TW110111695 A TW 110111695A TW I768799 B TWI768799 B TW I768799B
- Authority
- TW
- Taiwan
- Prior art keywords
- storage medium
- controller
- sub
- host
- specific data
- Prior art date
Links
Images
Landscapes
- Radar Systems Or Details Thereof (AREA)
- Communication Control (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本發明提供一種資料讀取方法及電子系統。所述方法包括::反應於偵測到儲存裝置自主機接收資料讀取請求,要求儲存裝置的主控制器將第一、第二儲存媒介個別的查找表載入系統記憶體,其中資料讀取請求用於讀取儲存於儲存裝置的特定資料;反應於判定第二儲存媒介的查找表指示特定資料未儲存於第二儲存媒介中,要求主控制器將特定資料從第一儲存媒介複製至第二儲存媒介,並相應地更新第一儲存媒介及第二儲存媒介個別的查找表,其中主控制器將儲存於第二儲存媒介中的特定資料提供予主機。
Description
本發明是有關於一種資料讀取方法及電子系統,且特別是有關於一種可應用於固態硬碟(solid state disk,SSD)的資料讀取方法及電子系統
請參照圖1A及圖1B,其繪示兩種混合式固態硬碟(hybrid SSD)及其控制架構圖。在現有技術中,混合式SSD一般是採用如圖1A架構101所示的雙控制器架構。如架構101所示,其中的混合式SSD 101a包括低速儲存媒介(例如NAND)及高速儲存媒介(例如Optane),而其分別由對應的控制器C1及C2控制。
在架構101中,控制器C1及C2可透過平台控制中心(Platform Control Hub,PCH)受控於相關的驅動程式(例如容量管理裝置(volume management device,VMD)驅動程式),而此驅動程式可將控制器C1、C2及高、低速儲存媒介組成單一碟機,並將其作為單一個儲存裝置向主機回報。
另外,相關的混合式SSD廠商未來預計推出僅具有單一控制器的混合式SSD,例如圖1B架構102中的混合式SSD 102a。
在架構101中,高速儲存媒介的致能、快取資料管理及查找表(look up table,LUT)皆仰賴VMD驅動程式控制。並且,由於本質上底層的高、低速儲存媒介即為兩個SSD(分別對應兩個實體LUT)),故此二SSD的LUT 實質上需要經由VMD驅動程式讀取至主機以實現資料加速、讀取等等。在此機制中,除了讀取操作過於繁冗,也大幅增加了主機對於資料管理的負荷。
然而,在未來即將推出的單一控制器架構(即,架構102)中,預期應該會採用具有兩個名稱空間的NVMe(NVMe(Non-Volatile Memory Express) Controller with Two Namespaces )的方式來實現。亦即,可藉由同一個控制器創建兩個名稱空間(Namespace),而此方式可讓此二名稱空間對於主機而言可以被視為兩個儲存媒介。
在架構101中,由於高、低速儲存媒介彼此不知道對方的LUT,故資料加速及資料讀取皆需要由主機來主導。然而,由於架構102中存在兩個名稱空間,因此對於本領域技術人員而言,應可試圖構思出不同於現行方法的新資料管理方法,以增進整體資料讀取效率。
有鑑於此,本發明提供一種資料讀取方法及電子系統,其可用於解決上述技術問題。
本發明提供一種資料讀取方法,適於控制一儲存裝置的一晶片組,其中儲存裝置包括一主控制器、一第一儲存媒介及一第二儲存媒介,第一儲存媒介及第二儲存媒介皆受控於主控制器,所述方法包括:反應於偵測到儲存裝置自一主機接收一資料讀取請求,要求主控制器將第一儲存媒介及第二儲存媒介個別的一查找表載入一系統記憶體,其中第二儲存媒介的存取速度高於第一儲存媒介,且資料讀取請求用於讀取儲存於儲存裝置的一特定資料;反應於判定第二儲存媒介的查找表指示特定資料未儲存於第二儲存媒介中,要求主控制器將特定資料從第一儲存媒介複製至第二儲存媒介,並相應地更新第一儲存媒介及第二儲存媒介個別的查找表,其中主控制器將儲存於第二儲存媒介中的特定資料提供予主機。
本發明提供一種電子系統,包括儲存裝置及晶片組。儲存裝置包括一主控制器、一第一儲存媒介及一第二儲存媒介,且第一儲存媒介及第二儲存媒介皆受控於主控制器。晶片組經載入一驅動程式以執行:反應於偵測到儲存裝置自一主機接收一資料讀取請求,要求主控制器將第一儲存媒介及第二儲存媒介個別的一查找表載入一系統記憶體,其中第二儲存媒介的存取速度高於第一儲存媒介,且資料讀取請求用於讀取儲存於儲存裝置的一特定資料;反應於判定第二儲存媒介的查找表指示特定資料未儲存於第二儲存媒介中,要求主控制器將特定資料從第一儲存媒介複製至第二儲存媒介,並相應地更新第一儲存媒介及第二儲存媒介個別的查找表,其中主控制器將儲存於第二儲存媒介中的特定資料提供予主機。
請參照圖2,其是依據圖1A繪示的儲存裝置及其控制架構圖。在本實施例中,所示的儲存裝置201、主機HO(例如是中央處理器(CPU))及系統記憶體SM(例如是動態隨機存取記憶體(DRAM))例如可安裝於電子系統200(例如是各式電腦裝置及/或智慧型裝置)中,而此電子系統200可安裝有晶片組CS。
在本發明的實施例中,儲存裝置201可具有相似於圖1A架構101中的混合式SSD 101a的架構,而晶片組CS可運行有用於控制儲存裝置201的驅動程式DV,但可不限於此。
在一實施例中,當主機HO欲讀取儲存在儲存裝置201中的一特定資料D1時,主機HO可向儲存裝置201發送資料讀取請求RQ1。在此情況下,當驅動程式DV偵測到儲存裝置201接收來自主機HO的資料讀取請求RQ1時,可要求控制器C1及C2(其分別用於控制較低速的第一儲存媒介201a及較高速的第二儲存媒介201b)將第一儲存媒介201a的查找表T1及第二儲存媒介201b的查找表T2載入系統記憶體SM。
之後,驅動程式DV可基於查找表T2判斷主機HO所需的特定資料D1是否儲存於第二儲存媒介201b中。若是,則驅動程式DV可要求控制器C2直接將特定資料D1提供予主機HO。另一方面,若查找表T2指示特定資料D1未儲存於第二儲存媒介201b中,此即代表此特定資料D1係儲存於第一儲存媒介201b中。
在此情況下,驅動程式DV可要求控制器C1及C2將特定資料D1從第一儲存媒介201a搬移/複製至第二儲存媒介201b,再由控制器C2將儲存於第二儲存媒介201b中的特定資料D1提供予主機HO。
然而,如先前所提及的,若將圖2機制用於控制圖1B中的混合式SSD 102a,則會產生冗餘的動作,造成主機HO的負擔及系統記憶體SM資源的浪費。並且,也可能因未善加利用名稱空間的特性而無法產生較佳的效能。有鑑於此,本發明提出一種資料讀取機制,其可用於解決上述技術問題。
請參照圖3,其是依據圖1B繪示的儲存裝置及其控制架構圖。在本實施例中,所示的儲存裝置301、主機HO及系統記憶體SM例如可安裝於電子系統300(例如是各式電腦裝置及/或智慧型裝置)中,而此電子系統300可安裝有晶片組CS。
在本發明的實施例中,儲存裝置301可具有相似於圖1B架構102中的混合式SSD 102a的架構。具體而言,儲存裝置301可包括主控制器CC及受控於主控制器CC的第一儲存媒介301a及第二儲存媒介301b,其中第二儲存媒介301b的存取速度可高於第一儲存媒介301a。在一實施例中,第一儲存媒介301a例如是用於儲存實體系統資料的媒介(例如NAND),而第二儲存媒介301b例如是快取(例如Optane),但可不限於此。
在一實施例中,晶片組CS可運行有驅動程式DV,以實現本發明提出的資料讀取方法,其細節詳述如下。
請參照圖4,其是依據本發明之一實施例繪示的資料讀取方法流程圖。本實施例的方法可由圖3的晶片組CS載入驅動程式DV以執行,以下即搭配圖3所示的元件說明圖4各步驟的細節。
在一實施例中,當主機HO欲讀取儲存在儲存裝置301中的特定資料D1時,主機HO可向儲存裝置301發送資料讀取請求RQ1。接著,在步驟S410中,反應於偵測到儲存裝置301自主機HO接收資料讀取請求RQ1,晶片組CS的驅動程式DV可要求主控制器CC將第一儲存媒介301a及第二儲存媒介301b個別的查找表T1、T2載入系統記憶體SM
之後,晶片組CS的驅動程式DV可基於查找表T2判斷主機HO所需的特定資料D1是否儲存於第二儲存媒介301b中。若是,則驅動程式DV可要求主控制器CC直接將特定資料D1提供予主機HO。另一方面,若查找表T2指示特定資料D1未儲存於第二儲存媒介301b中,此即代表此特定資料D1係儲存於第一儲存媒介301b中。
相應地,在步驟S420中,反應於判定第二儲存媒介301b的查找表T2指示特定資料D1未儲存於第二儲存媒介301b中,晶片組CS的驅動程式DV可要求主控制器CC將特定資料D1從第一儲存媒介301a複製至第二儲存媒介301b,並相應地更新第一儲存媒介301a及第二儲存媒介301b個別的查找表T1、T2。
在圖3中,儲存裝置301可包括分別對應於第一儲存媒介301a及第二儲存媒介301b的第一子控制器N1及第二子控制器N2。在本發明的實施例中,第一子控制器N1及第二子控制器N2可為分別對應於第一儲存媒介301a及第二儲存媒介301b的第一名稱空間及第二名稱空間。從另一觀點而言,當第一子控制器N1及第二子控制器N2分別實現為第一名稱空間及第二名稱空間時,第一子控制器N1及第二子控制器N2可理解為一種虛擬的控制器。換言之,此情境中的儲存裝置301僅具有單一個實體控制器(即,主控制器CC),但可不限於此。
在一實施例中,晶片組CS的驅動程式DV可發送資料複製指令S1至主控制器CC,其中主控制器CC可因應於資料複製指令S1而要求第一子控制器N1及第二子控制器N2協同將特定資料D1從第一儲存媒介301a複製至第二儲存媒介301b,並相應地更新第一儲存媒介301a及第二儲存媒介301b個別的查找表T1、T2。
在將特定資料D1從第一儲存媒介301a複製至第二儲存媒介301b之後,主控制器CC可將儲存於第二儲存媒介301b中的特定資料D1提供予主機HO。
綜上所述,本發明提出的資料讀取方法可讓晶片組控制僅具有單一控制器的儲存裝置(例如混合式SSD)進行更有效率的資料讀取。進一步而言,當主機所需的資料未儲存於較高速的儲存媒介上時,對於具有對應於不同儲存媒介的名稱空間的儲存裝置而言,晶片組可藉由控制主控制器直接將所需的資料進行內部的搬移/複製。換言之,原本需由主機及晶片組執行的資料交換工作可改由儲存裝置中的主控制器直接完成,因而可增加整體的讀取效率。
雖然本發明已以實施例揭露如上,然其並非用以限定本發明,任何所屬技術領域中具有通常知識者,在不脫離本發明的精神和範圍內,當可作些許的更動與潤飾,故本發明的保護範圍當視後附的申請專利範圍所界定者為準。
101,102:架構
101a,102a:混合式SSD
200,300:電子系統
201,301:儲存裝置
201a,301a:第一儲存媒介
201b,301b:第二儲存媒介
C1,C2:控制器
CC:主控制器
CS:晶片組
DV:驅動程式
D1:特定資料
HO:主機
N1:第一子控制器
N2:第二子控制器
RQ1:資料讀取請求
S1:資料複製指令
SM:系統記憶體
T1,T2:查找表
S410,S420:步驟
圖1A及圖1B繪示兩種混合式固態硬碟及其控制架構圖。
圖2是依據圖1A繪示的儲存裝置及其控制架構圖。
圖3是依據圖1B繪示的儲存裝置及其控制架構圖。
圖4是依據本發明之一實施例繪示的資料讀取方法流程圖。
S410,S420:步驟
Claims (6)
- 一種資料讀取方法,適於控制一儲存裝置的一晶片組,其中該儲存裝置包括一主控制器、一第一儲存媒介及一第二儲存媒介,該第一儲存媒介及該第二儲存媒介皆受控於該主控制器,所述方法包括:反應於偵測到該儲存裝置自一主機接收一資料讀取請求,要求該主控制器將該第一儲存媒介及該第二儲存媒介個別的一查找表載入一系統記憶體,其中該第二儲存媒介的存取速度高於該第一儲存媒介,且該資料讀取請求用於讀取儲存於該儲存裝置的一特定資料;反應於判定該第二儲存媒介的該查找表指示該特定資料未儲存於該第二儲存媒介中,要求該主控制器將該特定資料從該第一儲存媒介複製至該第二儲存媒介,並相應地更新該第一儲存媒介及該第二儲存媒介個別的該查找表,其中該主控制器將儲存於該第二儲存媒介中的該特定資料提供予該主機,其中該儲存裝置更包括分別對應於該第一儲存媒介及該第二儲存媒介的一第一子控制器及一第二子控制器,且要求該主控制器將該特定資料從該第一儲存媒介複製至該第二儲存媒介的步驟包括:發送一資料複製指令至該主控制器,其中該主控制器因應於該資料複製指令而要求該第一子控制器及該第二子控制器協同將該特定資料從該第一儲存媒介複製至該第二儲存媒介,其中該第一子控制器及該第二子控制器為分別對應於該第一儲存媒介及該 第二儲存媒介的一第一名稱空間及一第二名稱空間。
- 如請求項1所述的方法,其中該系統記憶體為一動態隨機存取記憶體。
- 如請求項1所述的方法,其中該儲存裝置為一混合式固態硬碟。
- 如請求項1所述的方法,反應於判定該第二儲存媒介的該查找表指示該特定資料儲存於該第二儲存媒介中,要求該主控制器將儲存於該第二儲存媒介中的該特定資料提供予該主機。
- 一種電子系統,包括:一儲存裝置,其包括一主控制器、一第一儲存媒介及一第二儲存媒介,且該第一儲存媒介及該第二儲存媒介皆受控於該主控制器;一晶片組,其經載入一驅動程式以執行:反應於偵測到該儲存裝置自一主機接收一資料讀取請求,要求該主控制器將該第一儲存媒介及該第二儲存媒介個別的一查找表載入一系統記憶體,其中該第二儲存媒介的存取速度高於該第一儲存媒介,且該資料讀取請求用於讀取儲存於該儲存裝置的一特定資料;反應於判定該第二儲存媒介的該查找表指示該特定資料未儲存於該第二儲存媒介中,要求該主控制器將該特定資料從該第一儲存媒介複製至該第二儲存媒介,並相應地更新該第一 儲存媒介及該第二儲存媒介個別的該查找表,其中該主控制器將儲存於該第二儲存媒介中的該特定資料提供予該主機,其中該儲存裝置更包括分別對應於該第一儲存媒介及該第二儲存媒介的一第一子控制器及一第二子控制器,且該晶片組載入該驅動程式以執行:發送一資料複製指令至該主控制器,其中該主控制器因應於該資料複製指令而要求該第一子控制器及該第二子控制器協同將該特定資料從該第一儲存媒介複製至該第二儲存媒介,其中該第一子控制器及該第二子控制器為分別對應於該第一儲存媒介及該第二儲存媒介的一第一名稱空間及一第二名稱空間。
- 如請求項5所述的電子系統,其中該系統記憶體為一動態隨機存取記憶體,且該儲存裝置為一混合式固態硬碟。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW110111695A TWI768799B (zh) | 2021-03-30 | 2021-03-30 | 資料讀取方法及電子系統 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW110111695A TWI768799B (zh) | 2021-03-30 | 2021-03-30 | 資料讀取方法及電子系統 |
Publications (2)
Publication Number | Publication Date |
---|---|
TWI768799B true TWI768799B (zh) | 2022-06-21 |
TW202238387A TW202238387A (zh) | 2022-10-01 |
Family
ID=83103964
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW110111695A TWI768799B (zh) | 2021-03-30 | 2021-03-30 | 資料讀取方法及電子系統 |
Country Status (1)
Country | Link |
---|---|
TW (1) | TWI768799B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105468294A (zh) * | 2014-09-29 | 2016-04-06 | Hgst荷兰有限公司 | 用于固态存储设备的脱机去重 |
US20170371749A1 (en) * | 2015-01-30 | 2017-12-28 | Hewlett-Packard Development Company, L.P. | Backup image restore |
US20180253240A1 (en) * | 2017-03-01 | 2018-09-06 | Seagate Technology Llc | Open block handling to reduce write errors |
US20200401311A1 (en) * | 2015-07-23 | 2020-12-24 | Toshiba Memory Corporation | Memory system for controlling nonvolatile memory |
-
2021
- 2021-03-30 TW TW110111695A patent/TWI768799B/zh active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105468294A (zh) * | 2014-09-29 | 2016-04-06 | Hgst荷兰有限公司 | 用于固态存储设备的脱机去重 |
US20170371749A1 (en) * | 2015-01-30 | 2017-12-28 | Hewlett-Packard Development Company, L.P. | Backup image restore |
US20200401311A1 (en) * | 2015-07-23 | 2020-12-24 | Toshiba Memory Corporation | Memory system for controlling nonvolatile memory |
US20180253240A1 (en) * | 2017-03-01 | 2018-09-06 | Seagate Technology Llc | Open block handling to reduce write errors |
Also Published As
Publication number | Publication date |
---|---|
TW202238387A (zh) | 2022-10-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11216214B2 (en) | Memory system and operation method thereof | |
JP5420814B2 (ja) | バッファメモリに貯蔵されたデータを無効化させるスキームを有する貯蔵システム及びそれを含んだコンピューティングシステム | |
US7979631B2 (en) | Method of prefetching data in hard disk drive, recording medium including program to execute the method, and apparatus to perform the method | |
US9256542B1 (en) | Adaptive intelligent storage controller and associated methods | |
US9128618B2 (en) | Non-volatile memory controller processing new request before completing current operation, system including same, and method | |
JP6882662B2 (ja) | マイグレーションプログラム、情報処理装置およびマイグレーション方法 | |
US20140095555A1 (en) | File management device and method for storage system | |
US20180107598A1 (en) | Cluster-Based Migration in a Multi-Level Memory Hierarchy | |
US10990463B2 (en) | Semiconductor memory module and memory system including the same | |
JP2011060007A (ja) | 制御装置 | |
US8433847B2 (en) | Memory drive that can be operated like optical disk drive and method for virtualizing memory drive as optical disk drive | |
JP3872968B2 (ja) | コンピュータ・システムにおいてメモリを動的に再割当てするシステムおよび方法 | |
US20160124639A1 (en) | Dynamic storage channel | |
US11132291B2 (en) | System and method of FPGA-executed flash translation layer in multiple solid state drives | |
CN110597742A (zh) | 用于具有持久系统存储器的计算机系统的改进存储模型 | |
CN110543433B (zh) | 一种混合内存的数据迁移方法及装置 | |
US11157342B2 (en) | Memory systems and operating methods of memory systems | |
JP4461089B2 (ja) | ストレージ制御装置およびストレージ制御方法 | |
US9335935B2 (en) | Enhanced interface to firmware operating in a solid state drive | |
WO2018139223A1 (ja) | 情報処理装置,制御プログラムおよび情報処理方法 | |
TWI768799B (zh) | 資料讀取方法及電子系統 | |
KR20110116404A (ko) | 하이브리드 하드 디스크 드라이브 장치 및 그 리드/라이트 제어 방법 | |
KR20210022260A (ko) | 메모리 컨트롤러의 구동방법, 메모리 컨트롤러 및 스토리지 장치 | |
US20220197548A1 (en) | Memory controller and storage device including the same | |
JP2013109404A (ja) | 情報処理装置 |