TW202131344A - 資料儲存裝置以及非揮發式記憶體控制方法 - Google Patents

資料儲存裝置以及非揮發式記憶體控制方法 Download PDF

Info

Publication number
TW202131344A
TW202131344A TW109103149A TW109103149A TW202131344A TW 202131344 A TW202131344 A TW 202131344A TW 109103149 A TW109103149 A TW 109103149A TW 109103149 A TW109103149 A TW 109103149A TW 202131344 A TW202131344 A TW 202131344A
Authority
TW
Taiwan
Prior art keywords
channel
flag
data
system memory
host bridge
Prior art date
Application number
TW109103149A
Other languages
English (en)
Other versions
TWI718858B (zh
Inventor
李安邦
Original Assignee
慧榮科技股份有限公司
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by 慧榮科技股份有限公司 filed Critical 慧榮科技股份有限公司
Priority to TW109103149A priority Critical patent/TWI718858B/zh
Priority to CN202010187007.4A priority patent/CN113204309B/zh
Priority to US17/152,138 priority patent/US11366775B2/en
Application granted granted Critical
Publication of TWI718858B publication Critical patent/TWI718858B/zh
Publication of TW202131344A publication Critical patent/TW202131344A/zh
Priority to US17/690,535 priority patent/US11526454B2/en
Priority to US17/690,555 priority patent/US11550740B2/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4027Coupling between buses using bus bridges
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0656Data buffering arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0658Controller construction arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Computer Hardware Design (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Bus Control (AREA)

Abstract

一種非揮發式記憶體的高效控制技術。一控制器中,一主機橋接控制器以及一主運算單元係經一片內總線耦接一系統記憶體、再耦接一非揮發式記憶體介面控制器。相應一主機發出的一讀取指令,該非揮發式記憶體介面控制器將讀取自一非揮發式記憶體的一資料暫存至該系統記憶體,並在該系統記憶體對應該資料之暫存設定一旗標。該主機橋接控制器是經該片內總線的一第一通道確認該旗標為設定,以對該系統記憶體進行該資料之讀取,回應該主機。該主運算單元係經該片內總線的一第二通道讀取該系統記憶體。

Description

資料儲存裝置以及非揮發式記憶體控制方法
本發明係有關於非揮發式記憶體之控制器的硬件設計。
非揮發式記憶體有多種形式─例如,快閃記憶體(flash memory)、磁阻式隨機存取記憶體(Magnetoresistive RAM)、鐵電隨機存取記憶體(Ferroelectric RAM)、電阻式隨機存取記憶體(Resistive  RAM)、自旋轉移力矩隨機存取記憶體(Spin Transfer Torque-RAM, STT-RAM)…等,用於長時間資料保存,可做為儲存媒體實現一資料儲存裝置。
如何在硬件設計上提升資料儲存裝置之效能為本技術領域一項重要議題。
本案為非揮發式記憶體揭露一種高效控制技術。
根據本案一種實施方式實現的一資料儲存裝置包括一非揮發式記憶體以及一控制器。該控制器具有一主機橋接控制器、一主運算單元、一片內總線、一系統記憶體、以及一非揮發式記憶體介面控制器。該主機橋接控制器耦接一主機。該非揮發式記憶體介面控制器耦接該非揮發式記憶體。該主機橋接控制器以及該主運算單元係經該片內總線耦接該系統記憶體、再耦接該非揮發式記憶體介面控制器。相應該主機發出的一讀取指令,該非揮發式記憶體介面控制器將讀取自該非揮發式記憶體的一資料暫存至該系統記憶體,並在該系統記憶體對應該資料之暫存設定(set,或assert)一旗標。該主機橋接控制器是經該片內總線的一第一通道確認該旗標為設定,以對該系統記憶體進行該資料之讀取。該主運算單元經該片內總線的一第二通道讀取該系統記憶體。
如此一來,旗標之確認不會阻礙主運算單元對系統記憶體之操作。控制器效能高。
一種實施方式中,該片內總線的該第一通道為對該系統記憶體的一寫入通道;且該片內總線的該第二通道為對該系統記憶體的一讀取通道。
該主機橋接控制器可以一資料檢測指令或是一預設供應商指令提出一預設值寫入要求,使該主機橋接控制器經該寫入通道與該系統記憶體交握,在允與該預設值寫入要求時判斷該旗標為設定,並在非允與該預設值寫入實判斷該旗標未設定。
該主機橋接控制器可以一資料檢測指令或是一預設供應商指令對一虛擬位址要求寫入,使該主機橋接控制器經該寫入通道與該系統記憶體交握,自該系統記憶體得知該旗標設定與否。
確認該旗標為設定後,該主機橋接控制器可經該讀取通道取得該系統記憶體暫存的該資料,並經該寫入通道重置(reset或deassert)該旗標。
該主機橋接控制器經該寫入通道判斷該旗標設定與否的同時,該主運算單元可經該讀取通道讀取該系統記憶體。
該片內總線可包括一第一從輸入/輸出埠、一第二從輸入輸出埠、以及一主輸入/輸出埠。該第一從輸入/輸出埠耦接該主運算單元。該第二從輸入/輸出埠耦接該主機橋接控制器。該主輸入/輸出埠耦接該系統記憶體。由該主運算單元應用時,該讀取通道、以及該寫入通道係經該第一從輸入/輸出埠以及該主輸入/輸出埠建立。由該主機橋接控制器應用時,該讀取通道、以及該寫入通道係經該第二從輸入/輸出埠以及該主輸入/輸出埠建立。
一種實施方式中,該片內總線的該第一通道為對應該系統記憶體一旗標區的一旗標讀取通道;該片內總線的該第二通道為對應該系統記憶體一資料區的一資料讀取通道;該片內總線更對應該旗標區提供一旗標寫入通道;且該片內總線更對應該資料區提供一資料寫入通道。
該主機橋接控制器可經該旗標讀取通道,自該系統記憶體得知該旗標設定與否。確認該旗標為設定後,該主機橋接控制器可經該資料讀取通道取得該系統記憶體暫存的該資料,並經該旗標寫入通道重置該旗標。
該主機橋接控制器經該旗標讀取通道判斷該旗標設定與否的同時,該主運算單元可經該資料讀取通道讀取該資料區、或經該資料寫入通道程式化該資料區。
該片內總線可包括一第一從輸入/輸出埠、一第二從輸入輸出埠、一第一主輸入/輸出埠、以及一第二主輸入/輸出埠。該第一從輸入/輸出埠耦接該主運算單元。該第二從輸入/輸出埠耦接該主機橋接控制器。該第一主輸入/輸出埠耦接該系統記憶體的該資料區。該第二主輸入/輸出埠耦接該系統記憶體的該旗標區。由該主運算單元應用時,該資料讀取通道、以及該資料寫入通道係經該第一從輸入/輸出埠以及該第一主輸入/輸出埠建立。由該主機橋接控制器應用時,該資料讀取通道、以及該資料寫入通道係經該第二從輸入/輸出埠以及該第一主輸入/輸出埠建立,且該旗標讀取通道、以及該旗標寫入通道係經該第二從輸入/輸出埠以及該第二主輸入/輸出埠建立。
以上控制器對非揮發式記憶體之操作也可以由其他結構實現。本案更可以前述概念實現非揮發式記憶體的控制方法。
下文特舉實施例,並配合所附圖示,詳細說明本發明內容。
以下敘述列舉本發明的多種實施例。以下敘述介紹本發明的基本概念,且並非意圖限制本發明內容。實際發明範圍應依照申請專利範圍界定之。
非揮發式記憶體可以是快閃記憶體(Flash Memory)、磁阻式隨機存取記憶體(Magnetoresistive RAM)、鐵電隨機存取記憶體(Ferroelectric RAM)、電阻式記憶體(Resistive RAM,RRAM)、自旋轉移力矩隨機存取記憶體(Spin Transfer Torque-RAM, STT-RAM)…等,提供長時間資料保存之儲存媒體。以下特別以快閃記憶體為例進行討論。
現今資料儲存裝置常以快閃記憶體為儲存媒體,實現記憶卡(Memory Card)、通用序列匯流排閃存裝置(USB Flash Device)、固態硬碟(SSD) …等產品。有一種應用是採多晶片封裝、將快閃記憶體與其控制器包裝在一起─稱為嵌入式快閃記憶體模組(如eMMC)。
以快閃記憶體為儲存媒體的資料儲存裝置可應用於多種電子裝置中。所述電子裝置包括智慧型手機、穿戴裝置、平板電腦、虛擬實境設備…等。電子裝置的運算模塊可視為主機(Host),操作所使用的資料儲存裝置,以存取其中快閃記憶體。
以快閃記憶體為儲存媒體的資料儲存裝置也可用於建構資料中心。例如,伺服器可操作固態硬碟(SSD)陣列形成資料中心。伺服器即可視為主機,操作所連結之固態硬碟,以存取其中快閃記憶體。
第1圖為根據本案一種實施方式實現的資料儲存裝置100,包括快閃記憶體102以及控制器104。資料儲存裝置100可執行來自主機106的命令。
控制器104以主機橋接控制器(Host Bridge Controller)108與主機106通訊,並以快閃記憶體介面控制器(Flash Memory Interface Controller,一種非揮發式記憶體介面控制器)110耦接快閃記憶體102。控制器104還包括中央處理單元112、系統記憶體114以及高級可拓展接口(AXI)總線116。AXI總線116為片內總線一種,用於應付片上系統SoC的片內通訊。AXI總線116具有兩個從(Slave)輸入/輸出埠118以及120、與一個主(Master)輸入/輸出埠122。從輸入/輸出埠118耦接中央處理單元112。從輸入/輸出埠120耦接主機橋接控制器108。主輸入/輸出埠122耦接系統記憶體114。主機橋接控制器108以及中央處理單元112透過高級可拓展接口(AXI)總線116使用系統記憶體114與快閃記憶體介面控制器110通訊。
相對於從輸入/輸出埠118以及120,主機橋接控制器108、以及中央處理單元112為主操作端的運算單元。相對於主輸入/輸出埠122,系統記憶體114為從操作端的元件。從輸入/輸出埠118以及120通過主輸入/輸出埠122對系統記憶體114所作的讀取動作,係採用同一通道,例如:AXI總線116的讀取通道。為了避免讀取動作的衝突,中央處理單元112以及主機橋接控制器108必須錯開對讀取通道的使用權。從輸入/輸出埠118以及120通過主輸入/輸出埠122對系統記憶體114所作的寫入動作,則是採用另一通道,例如:AXI總線116的寫入通道。寫入通道與讀取通道可並行使用。AXI總線116可包括一條以上寫入通道以及一條以上讀取通道;例如,不只擁有主輸入/輸出埠122單個主輸入/輸出埠的設計提供有複數條寫入通道以及複數條讀取通道。複數條寫入通道之間、或複數條讀取通道之間亦可並行使用。
第1圖特別討論單個主輸入/輸出埠122的設計。中央處理單元112欲存取系統記憶體114時,AXI總線116的讀取通道以及寫入通道係經從輸入/輸出埠118以及主輸入/輸出埠122建立。另一方面,主機橋接控制器108欲存取系統記憶體114時,AXI總線116的讀取通道以及寫入通道係經從輸入/輸出埠120以及主輸入/輸出埠122建立。
第1圖特別相應主機106要求的讀取指令,標註系統記憶體114內容之來源以及流向。控制器104收到主機106下達的讀取指令後,中央處理單元112以觸發信號124觸發主機橋接控制器108、並以觸發信號126觸發快閃記憶體介面控制器110。被觸發之後,快閃記憶體介面控制器110啟動直接記憶體存取(DMA),將讀取指令所要求的資料自快閃記憶體102讀出,並寫入系統記憶體114中,如資料128所示。當資料128已寫入完成時,快閃記憶體介面控制器110設定(Set)系統記憶體114中的旗標130,例如,設定為”1”,表示資料128可進行資料讀取。另一方面,被觸發之後,主機橋接控制器108執行(或是多次執行)資料檢測指令或是預設供應商指令(vendor command),經由AXI總線116的寫入通道與系統記憶體114進行交握(handshake),要求寫入預設值(箭頭132)至系統記憶體114中,藉此預設值寫入要求,判讀旗標130是否已被設定。
一種實施方式中,旗標130之狀況由上述虛擬寫入要求是否被允許來判讀。例如,如果可以寫入預設值至系統記憶體114,表示旗標130已被設定,則主機橋接控制器108經由AXI總線116的讀取通道,自系統記憶體114取得資料128,如箭頭134所示。當資料128已被讀取,主機橋接控制器108經AXI總線116的寫入通道重置(Reset)旗標130,例如,重置旗標130為”0”,表示資料128可被覆蓋或回收。如果不行寫入預設值至系統記憶體114,表示旗標130未被設定,則主機橋接控制器108可重覆上述步驟,直到可以寫入預設值至系統記憶體114中。
一種實施方式中,資料檢測指令或是預設供應商指令是對虛擬位址要求寫入,以啟動主機橋接控制器108與系統記憶體114透過該寫入通道之交握,達到判斷/確認旗標130之值的目的。
特別是,在上述過程中,旗標130之確認是採用AXI總線116的寫入通道,因此,並不佔用AXI總線116的讀取通道。在此設定下,中央處理單元112(或主操作端的其他主運算單元)若有讀取系統記憶體114的需求,可即時地獲得AXI總線116的讀取通道的使用權,且旗標130之確認並不會造成中央處理單元112對AXI總線116的讀取通道的中斷。換句話說,中央處理單元112對系統記憶體114的讀取(如箭頭136所示)可與主機橋接控制器108對系統記憶體114所做的旗標130確認(如箭頭132所示)並行。由於系統記憶體114的讀取不會因為旗標130之確認而造成中斷,因此,中央處理單元112在進行系統記憶體114的資料讀取時可具有最佳的效能,因此,資料儲存裝置100的整個效能極佳。
第2圖為流程圖,根據本案一種實施方式圖解主機橋接控制器108如何回應主機106發出的讀取指令。
步驟S202,收到觸發信號。中央處理單元112根據主機106要求的讀取指令而發出觸發信號124至主機橋接控制器108。讀取指令較佳包括資料128的邏輯位址,觸發信號124較佳包括資料128在系統記憶體114的指定物理位址。
步驟S204,利用AXI總線116的寫入通道以判斷系統記憶體114的旗標130之值。主機橋接控制器108以資料檢測指令或是預設供應商指令,經由AXI總線116的寫入通道與系統記憶體114進行交握,並依據是否能寫入預設值(箭頭132)至系統記憶體114中以進行旗標130之值的判斷。
步驟S206,判斷旗標130是否已被設定,如果是,則執行步驟S208;如果否,則執行步驟S204,主機橋接控制器108繼續與系統記憶體114交握並進行旗標130之值的判斷。如果主機橋接控制器108可以寫入預設值(箭頭132)至系統記憶體114,則判斷旗標130已被設定,否則,重回步驟S204。
步驟S208,利用AXI總線116的讀取通道以讀取系統記憶體114的資料128。由於旗標130已被設定,這表示快閃記憶體介面控制器110已取得資料128並將資料128暫存至系統記憶體114上的指定物理位址。主機橋接控制器108經AXI總線116的讀取通道,至系統記憶體114的指定物理位址讀取資料128。
步驟S210,經AXI總線116的寫入通道以重置旗標130。在讀取資料128之後,主機橋接控制器108經由AXI總線116的寫入通道,將旗標130重置,這表示資料128已被讀取完畢。之後,中央處理單元112可回收資料128的指定物理位址(記憶體空間),或直接寫入另一筆資料至資料128的指定物理位址。
藉由上述的設定,中央處理單元112可讀取系統記憶體114的資料,同時間,主機橋接控制器108也可進行旗標130之值的判斷,不會產生操作上的衝突。
第3圖為流程圖,根據本案一種實施方式圖解快閃記憶體介面控制器110如何回應主機106發出的讀取指令。
步驟S302,收到觸發信號,其中,觸發信號包括資料128的邏輯位址以及系統記憶體114上的指定物理位址。中央處理單元112根據主機106要求的讀取指令而發出觸發信號126至快閃記憶體介面控制器110,觸發信號126較佳包括資料128的邏輯位址以及系統記憶體114上的指定物理位址。
步驟S304,將邏輯位址映射至快閃記憶體102一物理位址。快閃記憶體介面控制器110依據邏輯-物理位址映射表(Logical-Physical addresses Mapping Table)而取得邏輯位址所對應的快閃記憶體102物理位址。
步驟S306,讀取快閃記憶體102上的物理位址以取得資料128。快閃記憶體介面控制器110讀取快閃記憶體102上的物理位址即可取得資料128。
步驟S308,將自快閃記憶體102取得的資料128上傳至系統記憶體114。快閃記憶體介面控制器110將取得的資料上傳至系統記憶體114的指定物理位址。
步驟S310,設定旗標130。快閃記憶體介面控制器110設定旗標130。
整理之,當讀取系統記憶體114時,主機橋接控制器108利用AXI總線116的寫入通道以確認旗標130是否已被設定,而中央處理單元112採用AXI總線116的讀取通道以讀取系統記憶體114中的資料。由於各自採用AXI總線116上的不同通道,中央處理單元112以及主機橋接控制器108可同時讀取系統記憶體114且不會造成操作衝突(Conflict),達到本發明的目的。
第4圖根據本案另外一種實施方式圖解資料儲存裝置400,其中採用的AXI總線402具有二個主(Master)輸入/輸出埠122以及404,分別耦接至系統記憶體114的資料區408以及旗標區406。由於主輸入/輸出埠122以及404可分別且並行地存取資料區408以及旗標區406,因此,中央處理單元112以及主機橋接控制器108可分別且並行地讀取系統記憶體114中的資料以及確認旗標130的值。在此實施例中,主機橋接控制器108無需使用資料檢測指令或是預設供應商指令以確認旗標130是否已被設定。
在此實施例中,AXI總線402為旗標區406提供旗標讀取通道以及旗標寫入通道,且為資料區408提供讀取通道以及寫入通道。中央處理單元112存取系統記憶體114中的資料時,讀取通道以及寫入通道係經由從輸入/輸出埠118以及主輸入/輸出埠122建立。主機橋接控制器108存取系統記憶體114中的資料時,讀取通道以及寫入通道係由從輸入/輸出埠120以及主輸入/輸出埠122建立,主機橋接控制器108存取旗標130時,讀取通道以及寫入通道係由從輸入/輸出埠120以及主輸入/輸出埠404建立。
一種實施方式中,旗標130的值經主輸入/輸出埠404以及從輸入/輸出埠120傳回主機橋接控制器108時,中央處理單元112可經從輸入/輸出埠118以及主輸入/輸出埠122組成的資料讀取通道、以及資料寫入通道存取資料區408。中央處理單元112對資料區408之讀以及寫,都不受主機橋接控制器108對旗標區406之動作影響。特別是,在之前實施例中,利用AXI總線116的寫入通道進行旗標130確認時,中央處理單元112不能對系統記憶體114進行寫入。然而,在本實施例中,旗標130之存取乃使用旗標區406專用的通道,故中央處理單元112可以並行讀取資料區408的資料128。此實施例較上述實施例可提供更佳的效能。
第4圖架構下,關於主機106發下的讀取指令,快閃記憶體介面控制器110之動作同第3圖流程,但主機橋接控制器108之操作有不同,而主機橋接控制器108如何回應主機106發出的讀取指令如第5圖所示。
步驟S502,收到觸發信號。中央處理單元112根據主機106要求的讀取指令而發出觸發信號124至主機橋接控制器108。讀取指令較佳包括資料128的邏輯位址,觸發信號124較佳包括資料128在系統記憶體114的指定物理位址。
步驟S504,利用AXI總線402的第一讀取通道以讀取系統記憶體114的旗標130之值。主機橋接控制器108經AXI總線402的旗標區406讀取通道(經從輸入/輸出埠120至主輸入/輸出埠404),讀取系統記憶體114的旗標區406的旗標130之值。
步驟S506,判斷旗標130是否已被設定,如果是,則執行步驟S508;如果否,則執行步驟S504,主機橋接控制器108繼續讀取旗標130之值。
步驟S508,利用AXI總線402的第二讀取通道以讀取系統記憶體114的資料128。由於旗標130已被設定,這表示快閃記憶體介面控制器110已取得資料128並將資料128暫存至系統記憶體114上的指定物理位址。主機橋接控制器108利用AXI總線402的資料區408讀取通道(經從輸入/輸出埠120至主輸入/輸出埠122)的讀取通道,讀取系統記憶體114的指定物理位址的資料128。
步驟S510,經AXI總線402的寫入通道以重置旗標130。在讀取資料128之後,主機橋接控制器108經由AXI總線402的旗標區406寫入通道(經從輸入/輸出埠120至主輸入/輸出埠404)的寫入通道,重置系統記憶體114的旗標區406的旗標130,這表示資料128已被讀取完畢。之後,中央處理單元112可回收資料128的指定物理位址(記憶體空間),或直接寫入另一筆資料至資料128的指定物理位址。
中央處理單元112對資料區408的讀以及寫操作,可與步驟S504(旗標130確認)並行進行。
以上控制器也可以由其他結構實現。凡是根據前述概念提供不同的片內總線通道,使主機橋接控制器對系統記憶體內的旗標確認,不干擾其他主運算單元對系統記憶體之讀取者,都屬於本案欲保護範圍。本案更可以前述概念實現非揮發式記憶體的控制方法。
雖然本發明已以較佳實施例揭露如上,然其並非用以限定本發明,任何熟悉此項技藝者,在不脫離本發明之精神和範圍內,當可做些許更動與潤飾,因此本發明之保護範圍當視後附之申請專利範圍所界定者為準。
100:資料儲存裝置 102:快閃記憶體 104:控制器 106:主機 108:主機橋接控制器 110:快閃記憶體介面控制器 112:中央處理單元 114:系統記憶體 116:高級可拓展接口(AXI)總線 118、120:從(slave)輸入/輸出埠 122:主(master) 輸入/輸出埠 124、126:觸發信號 128:資料 130:旗標 132:預設值寫入 134:回傳之資料128 136:取自系統記憶體114的資料 400:資料儲存裝置; 402:高級可拓展接口(AXI)總線 404:主輸入/輸出埠 406:旗標區 408:資料區以及 S202…S210、S302…S310、S502…S510:步驟
第1圖為根據本案一種實施方式實現的一資料儲存裝置100; 第2圖為流程圖,根據本案一種實施方式圖解主機橋接控制器108如何回應主機106發出的一讀取指令; 第3圖為流程圖,根據本案一種實施方式圖解快閃記憶體介面控制器110如何回應主機106發出的該讀取指令; 第4圖根據本案另外一種實施方式圖解一資料儲存裝置400;以及 第5圖為流程圖,對應第4圖架構根據本案一種實施方式圖解主機橋接控制器108如何回應主機106發出的該讀取指令。
100:資料儲存裝置
102:快閃記憶體
104:控制器
106:主機
108:主機橋接控制器
110:快閃記憶體介面控制器
112:中央處理單元
114:系統記憶體
116:高級可拓展接口(AXI)總線
118、120:從(slave)輸入/輸出埠
122:主(master)輸入/輸出埠
124、126:觸發信號
128:資料
130:旗標
132:預設值寫入
134:回傳之資料128
136:取自系統記憶體114的資料

Claims (22)

  1. 一種資料儲存裝置,包括: 一非揮發式記憶體;以及 一控制器,具有一主機橋接控制器、一主運算單元、一片內總線、一系統記憶體、以及一非揮發式記憶體介面控制器,該主機橋接控制器耦接一主機,該非揮發式記憶體介面控制器耦接該非揮發式記憶體,該主機橋接控制器以及該主運算單元係經該片內總線耦接該系統記憶體、再耦接該非揮發式記憶體介面控制器, 其中: 相應該主機發出的一讀取指令,該非揮發式記憶體介面控制器將讀取自該非揮發式記憶體的一資料暫存至該系統記憶體,並在該系統記憶體對應該資料之暫存設定一旗標; 該主機橋接控制器是經該片內總線的一第一通道確認該旗標為設定,以對該系統記憶體進行該資料之讀取;且 該主運算單元經該片內總線的一第二通道讀取該系統記憶體。
  2. 如申請專利範圍第1項所述之資料儲存裝置,其中: 該片內總線的該第一通道為對該系統記憶體的一寫入通道;且 該片內總線的該第二通道為對該系統記憶體的一讀取通道。
  3. 如申請專利範圍第2項所述之資料儲存裝置,其中: 該主機橋接控制器係以一資料檢測指令或是一預設供應商指令提出一預設值寫入要求,使該主機橋接控制器經該寫入通道與該系統記憶體交握,在允與該預設值寫入要求時判斷該旗標為設定,並在非允與該預設值寫入實判斷該旗標未設定。
  4. 如申請專利範圍第2項所述之資料儲存裝置,其中: 該主機橋接控制器係以一資料檢測指令或是一預設供應商指令對一虛擬位址要求寫入,使該主機橋接控制器經該寫入通道與該系統記憶體交握,自該系統記憶體得知該旗標設定與否。
  5. 如申請專利範圍第2項所述之資料儲存裝置,其中: 確認該旗標為設定後,該主機橋接控制器經該讀取通道取得該系統記憶體暫存的該資料,並經該寫入通道重置該旗標。
  6. 如申請專利範圍第5項所述之資料儲存裝置,其中: 該主機橋接控制器經該寫入通道判斷該旗標設定與否的同時,該主運算單元經該讀取通道讀取該系統記憶體。
  7. 如申請專利範圍第6項所述之資料儲存裝置,其中: 該片內總線包括一第一從輸入/輸出埠、一第二從輸入輸出埠、以及一主輸入/輸出埠; 該第一從輸入/輸出埠耦接該主運算單元; 該第二從輸入/輸出埠耦接該主機橋接控制器; 該主輸入/輸出埠耦接該系統記憶體; 由該主運算單元應用時,該讀取通道、以及該寫入通道係經該第一從輸入/輸出埠以及該主輸入/輸出埠建立;且 由該主機橋接控制器應用時,該讀取通道、以及該寫入通道係經該第二從輸入/輸出埠以及該主輸入/輸出埠建立。
  8. 如申請專利範圍第1項所述之資料儲存裝置,其中: 該片內總線的該第一通道為對應該系統記憶體一旗標區的一旗標讀取通道; 該片內總線的該第二通道為對應該系統記憶體一資料區的一資料讀取通道; 該片內總線更對應該旗標區提供一旗標寫入通道;且 該片內總線更對應該資料區提供一資料寫入通道。
  9. 如申請專利範圍第8項所述之資料儲存裝置,其中: 該主機橋接控制器經該旗標讀取通道,自該系統記憶體得知該旗標設定與否;且 確認該旗標為設定後,該主機橋接控制器經該資料讀取通道取得該系統記憶體暫存的該資料,並經該旗標寫入通道重置該旗標。
  10. 如申請專利範圍第9項所述之資料儲存裝置,其中: 該主機橋接控制器經該旗標讀取通道判斷該旗標設定與否的同時,該主運算單元經該資料讀取通道讀取該資料區、或經該資料寫入通道程式化該資料區。
  11. 如申請專利範圍第10項所述之資料儲存裝置,其中: 該片內總線包括一第一從輸入/輸出埠、一第二從輸入輸出埠、一第一主輸入/輸出埠、以及一第二主輸入/輸出埠; 該第一從輸入/輸出埠耦接該主運算單元; 該第二從輸入/輸出埠耦接該主機橋接控制器; 該第一主輸入/輸出埠耦接該系統記憶體的該資料區; 該第二主輸入/輸出埠耦接該系統記憶體的該旗標區; 由該主運算單元應用時,該資料讀取通道、以及該資料寫入通道係經該第一從輸入/輸出埠以及該第一主輸入/輸出埠建立;且 由該主機橋接控制器應用時,該資料讀取通道、以及該資料寫入通道係經該第二從輸入/輸出埠以及該第一主輸入/輸出埠建立,且該旗標讀取通道、以及該旗標寫入通道係經該第二從輸入/輸出埠以及該第二主輸入/輸出埠建立。
  12. 一種非揮發式記憶體控制方法,包括: 提供一主機橋接控制器耦接一主機,提供一非揮發式記憶體介面控制器耦接一非揮發式記憶體; 令該主機橋接控制器以及一主運算單元係經一片內總線耦接一系統記憶體、再耦接該非揮發式記憶體介面控制器; 相應該主機發出的一讀取指令,觸發該非揮發式記憶體介面控制器將讀取自該非揮發式記憶體的一資料暫存至該系統記憶體,並在該系統記憶體對應該資料之暫存設定一旗標; 令該主機橋接控制器是經該片內總線的一第一通道確認該旗標為設定,以對該系統記憶體進行該資料之讀取;且 令該主運算單元經該片內總線的一第二通道讀取該系統記憶體。
  13. 如申請專利範圍第12項所述之非揮發式記憶體控制方法,其中: 該片內總線的該第一通道為對該系統記憶體的一寫入通道;且 該片內總線的該第二通道為對該系統記憶體的一讀取通道。
  14. 如申請專利範圍第13項所述之非揮發式記憶體控制方法,其中: 該主機橋接控制器係以一資料檢測指令或是一預設供應商指令提出一預設值寫入要求,使該主機橋接控制器經該寫入通道與該系統記憶體交握,在允與該預設值寫入要求時判斷該旗標為設定,並在非允與該預設值寫入實判斷該旗標未設定。
  15. 如申請專利範圍第13項所述之非揮發式記憶體控制方法,其中: 該主機橋接控制器係以一資料檢測指令或是一預設供應商指令對一虛擬位址要求寫入,使該主機橋接控制器經該寫入通道與該系統記憶體交握,自該系統記憶體得知該旗標設定與否。
  16. 如申請專利範圍第13項所述之非揮發式記憶體控制方法,其中: 確認該旗標為設定後,該主機橋接控制器經該讀取通道取得該系統記憶體暫存的該資料,並經該寫入通道重置該旗標。
  17. 如申請專利範圍第16項所述之非揮發式記憶體控制方法,其中: 該主機橋接控制器經該寫入通道判斷該旗標設定與否的同時,該主運算單元經該讀取通道讀取該系統記憶體。
  18. 如申請專利範圍第17項所述之非揮發式記憶體控制方法,其中: 該片內總線包括一第一從輸入/輸出埠、一第二從輸入輸出埠、以及一主輸入/輸出埠; 該第一從輸入/輸出埠耦接該主運算單元; 該第二從輸入/輸出埠耦接該主機橋接控制器; 該主輸入/輸出埠耦接該系統記憶體; 由該主運算單元應用時,該讀取通道、以及該寫入通道係經該第一從輸入/輸出埠以及該主輸入/輸出埠建立;且 由該主機橋接控制器應用時,該讀取通道、以及該寫入通道係經該第二從輸入/輸出埠以及該主輸入/輸出埠建立。
  19. 如申請專利範圍第12項所述之非揮發式記憶體控制方法,其中: 該片內總線的該第一通道為對應該系統記憶體一旗標區的一旗標讀取通道; 該片內總線的該第二通道為對應該系統記憶體一資料區的一資料讀取通道; 該片內總線更對應該旗標區提供一旗標寫入通道;且 該片內總線更對應該資料區提供一資料寫入通道。
  20. 如申請專利範圍第19項所述之非揮發式記憶體控制方法,其中: 該主機橋接控制器經該旗標讀取通道,自該系統記憶體得知該旗標設定與否;且 確認該旗標為設定後,該主機橋接控制器經該資料讀取通道取得該系統記憶體暫存的該資料,並經該旗標寫入通道重置該旗標。
  21. 如申請專利範圍第20項所述之非揮發式記憶體控制方法,其中: 該主機橋接控制器經該旗標讀取通道判斷該旗標設定與否的同時,該主運算單元經該資料讀取通道讀取該資料區、或經該資料寫入通道程式化該資料區。
  22. 如申請專利範圍第21項所述之非揮發式記憶體控制方法,其中: 該片內總線包括一第一從輸入/輸出埠、一第二從輸入輸出埠、一第一主輸入/輸出埠、以及一第二主輸入/輸出埠; 該第一從輸入/輸出埠耦接該主運算單元; 該第二從輸入/輸出埠耦接該主機橋接控制器; 該第一主輸入/輸出埠耦接該系統記憶體的該資料區; 該第二主輸入/輸出埠耦接該系統記憶體的該旗標區; 由該主運算單元應用時,該資料讀取通道、以及該資料寫入通道係經該第一從輸入/輸出埠以及該第一主輸入/輸出埠建立;且 由該主機橋接控制器應用時,該資料讀取通道、以及該資料寫入通道係經該第二從輸入/輸出埠以及該第一主輸入/輸出埠建立,且該旗標讀取通道、以及該旗標寫入通道係經該第二從輸入/輸出埠以及該第二主輸入/輸出埠建立。
TW109103149A 2020-02-03 2020-02-03 資料儲存裝置以及非揮發式記憶體控制方法 TWI718858B (zh)

Priority Applications (5)

Application Number Priority Date Filing Date Title
TW109103149A TWI718858B (zh) 2020-02-03 2020-02-03 資料儲存裝置以及非揮發式記憶體控制方法
CN202010187007.4A CN113204309B (zh) 2020-02-03 2020-03-17 数据储存装置以及非挥发式存储器控制方法
US17/152,138 US11366775B2 (en) 2020-02-03 2021-01-19 Data storage device with an exclusive channel for flag checking of read data, and non-volatile memory control method
US17/690,535 US11526454B2 (en) 2020-02-03 2022-03-09 Data storage device with an exclusive channel for flag checking of read data, and non-volatile memory control method
US17/690,555 US11550740B2 (en) 2020-02-03 2022-03-09 Data storage device with an exclusive channel for flag checking of read data, and non-volatile memory control method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW109103149A TWI718858B (zh) 2020-02-03 2020-02-03 資料儲存裝置以及非揮發式記憶體控制方法

Publications (2)

Publication Number Publication Date
TWI718858B TWI718858B (zh) 2021-02-11
TW202131344A true TW202131344A (zh) 2021-08-16

Family

ID=75745840

Family Applications (1)

Application Number Title Priority Date Filing Date
TW109103149A TWI718858B (zh) 2020-02-03 2020-02-03 資料儲存裝置以及非揮發式記憶體控制方法

Country Status (3)

Country Link
US (3) US11366775B2 (zh)
CN (1) CN113204309B (zh)
TW (1) TWI718858B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11972113B2 (en) * 2022-07-26 2024-04-30 Silicon Motion, Inc. Method and apparatus for performing link management of memory device in predetermined communications architecture with aid of handshaking phase transition control

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003281080A (ja) * 2002-03-20 2003-10-03 Matsushita Electric Ind Co Ltd データ転送制御装置
JP4328581B2 (ja) * 2003-08-22 2009-09-09 富士通株式会社 モジュール間データ転送確認機能を有する装置並びにストレージ制御装置および同装置用インターフェイスモジュール
US7778271B2 (en) * 2005-08-19 2010-08-17 International Business Machines Corporation Method for communicating instructions and data between a processor and external devices
JP5063428B2 (ja) * 2007-03-30 2012-10-31 株式会社日立製作所 ホストバスアダプタ用ドライバ及びオペレーティングシステムのインストール方法
JP2010026933A (ja) * 2008-07-23 2010-02-04 Toshiba Corp メモリシステム、ホスト装置
JP2010128696A (ja) * 2008-11-26 2010-06-10 Toshiba Corp バスブリッジ装置およびそれを用いたバスブリッジシステム
CN103106155B (zh) * 2011-11-10 2015-10-21 群联电子股份有限公司 存储器储存装置、存储器控制器与其数据传输方法
TWI524179B (zh) * 2014-04-22 2016-03-01 新唐科技股份有限公司 儲存單元控制器及其控制方法、以及儲存裝置
US9542321B2 (en) * 2014-04-24 2017-01-10 Avago Technologies General Ip (Singapore) Pte. Ltd. Slice-based random access buffer for data interleaving
KR102238652B1 (ko) * 2014-11-12 2021-04-09 삼성전자주식회사 데이터 저장 장치, 이의 작동 방법, 및 이를 포함하는 데이터 처리 시스템의 작동 방법
KR102319402B1 (ko) * 2015-06-30 2021-11-01 에스케이하이닉스 주식회사 복수의 채널들을 통해 반도체 메모리 장치들을 제어하는 메모리 시스템
US10579296B2 (en) * 2017-08-01 2020-03-03 International Business Machines Corporation Providing track format information when mirroring updated tracks from a primary storage system to a secondary storage system
US11003375B2 (en) * 2018-05-15 2021-05-11 Micron Technology, Inc. Code word format and structure
CN110716691B (zh) * 2018-07-13 2021-10-01 华为技术有限公司 调度方法、装置、闪存设备和系统

Also Published As

Publication number Publication date
US20220197835A1 (en) 2022-06-23
US20210240642A1 (en) 2021-08-05
US20220197836A1 (en) 2022-06-23
CN113204309A (zh) 2021-08-03
US11550740B2 (en) 2023-01-10
US11526454B2 (en) 2022-12-13
TWI718858B (zh) 2021-02-11
CN113204309B (zh) 2024-08-27
US11366775B2 (en) 2022-06-21

Similar Documents

Publication Publication Date Title
US11635902B2 (en) Storage device processing stream data, system including the same, and operation method
US8990462B2 (en) Storage device, computing system including the same and data transferring method thereof
US20190042147A1 (en) Data storage device and data processing system having the same
TWI439861B (zh) 記憶體系統、主機控制器裝置及控制與運作ㄧ記憶體裝置之方法
TWI699646B (zh) 記憶體裝置、記憶體定址方法與包括非暫時性儲存媒體的物品
US11645011B2 (en) Storage controller, computational storage device, and operational method of computational storage device
US10585822B2 (en) Operation method of host system including storage device and operation method of storage device controller
US10303366B2 (en) Data storage device that divides and processes a command and data processing system including the same
US20220100425A1 (en) Storage device, operating method of storage device, and operating method of computing device including storage device
KR20160111124A (ko) 데이터 저장 장치와 이를 포함하는 데이터 처리 시스템
US20230229357A1 (en) Storage controller, computational storage device, and operational method of computational storage device
TWI718858B (zh) 資料儲存裝置以及非揮發式記憶體控制方法
KR20220050177A (ko) 3단의 계층적 메모리 시스템
Khalifa et al. Memory controller architectures: A comparative study
TWI820251B (zh) 多主機控制器及包括所述多主機控制器的半導體裝置
KR20220044069A (ko) 스토리지 장치, 스토리지 장치의 동작 방법, 그리고 스토리지 장치를 포함하는 컴퓨팅 장치의 동작 방법
EP3974954A1 (en) Storage device, operating method of storage device, and operating method of computing device including storage device
US20210255806A1 (en) Memory module interfaces
US11016903B2 (en) Hierarchical memory systems
US20240168675A1 (en) Storage apparatus and method for data integrity
TWI591532B (zh) 電腦系統及其硬碟存取方法
TW202409844A (zh) 資料儲存裝置以及非揮發式記憶體控制方法