TWI645295B - 資料儲存裝置與資料儲存方法 - Google Patents
資料儲存裝置與資料儲存方法 Download PDFInfo
- Publication number
- TWI645295B TWI645295B TW106120535A TW106120535A TWI645295B TW I645295 B TWI645295 B TW I645295B TW 106120535 A TW106120535 A TW 106120535A TW 106120535 A TW106120535 A TW 106120535A TW I645295 B TWI645295 B TW I645295B
- Authority
- TW
- Taiwan
- Prior art keywords
- volatile memory
- data storage
- memory controller
- storage device
- data
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0626—Reducing size or complexity of storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
- G06F3/0607—Improving or facilitating administration, e.g. storage management by facilitating the process of upgrading existing storage systems, e.g. for improving compatibility between host and storage device
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
- G06F3/0635—Configuration or reconfiguration of storage systems by changing the path, e.g. traffic rerouting, path reconfiguration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Read Only Memory (AREA)
Abstract
一種資料儲存裝置,包括至少一非揮發式記憶體以及具有兩階層架構之控制器。兩階層架構包括耦接主機之前端以及耦接非揮發式記憶體之後端。控制器包括指令處理器以及至少一非揮發式記憶體控制器。指令處理器配置於前端,並且與主機進行溝通,以及依據來自主機之外部指令對資料儲存裝置之運作進行排程。非揮發式記憶體控制器,配置於後端,依據指令處理器之排程而控制非揮發式記憶體。當非揮發式記憶體的數量增加時,非揮發式記憶體控制器的數量亦對應地增加,指令處理器的數量維持不變。
Description
本發明係關於一種資料儲存裝置與資料儲存方法,特別係關於一種具備可擴充性之資料儲存裝置與資料儲存方法。
快閃記憶體為一種普遍的非揮發式資料儲存裝置,係以電性方式抹除與程式化。以非及閘型的快閃記憶體(NAND FLASH)為例,常用作記憶卡(memory card)、通用序列匯流排閃存裝置(USB flash device)、固態硬碟(SSD)、嵌入式快閃記憶體模組(eMMC)、通用快閃記憶體(UFS)…等使用。
然而,當需要寫入較大量的資料、或是需要高速的資料吞吐流量時,原本的資料儲存裝置可能會不敷使用而需要擴充。舉例而言,上述擴充包括增加儲存容量或是處理器等。如何快速並且有效率地進行擴充,就成為資料儲存領域的一項重要課題。因此,需要一種能夠快速並且方便擴充之資料儲存裝置與資料儲存方法。
為了解決上述問題,本發明提出一種資料儲存裝置與資料儲存方法,能夠快速並且方便擴充資料儲存裝置以符合資料存取之需求。
詳細而言,本發明之資料儲存裝置包括至少一非
揮發式記憶體以及具有兩階層架構之控制器。兩階層架構包括耦接一主機之一前端以及耦接非揮發式記憶體之一後端。本發明之資料儲存裝置可隨著非揮發式記憶體的增加而對應地進行擴充。無論資料儲存裝置在後端擴充與增加多少個控制單元,前端的配置皆維持不變。換言之,前端的每個元件的數量都沒有增加。因此,藉由本發明所提供之兩階層架構之控制器,能夠在不變更前端的情況下,依據需求增加後端之控制單元的配置。此外,每個控制單元的組成與配置都是相同的,不需要為了擴充而重新設計。因此,本發明之兩階層架構之資料儲存裝置與資料儲存方法,提供了方便且快速的可擴充性。
本發明之一實施例提供了一種資料儲存裝置,包括至少一非揮發式記憶體以及具有兩階層架構之控制器。兩階層架構包括耦接一主機之一前端(Front End)以及耦接非揮發式記憶體之一後端(Back End)。控制器包括一指令處理器以及至少一非揮發式記憶體控制器。指令處理器配置於前端,並且與主機進行溝通,以及依據來自主機之指令對資料儲存裝置之運作進行排程。非揮發式記憶體控制器,配置於後端,依據指令處理器之排程而控制非揮發式記憶體。當非揮發式記憶體的數量增加時,非揮發式記憶體控制器的數量亦對應地增加,指令處理器的數量維持不變。
本發明之另一實施例提供了一種資料儲存方法,適用於一資料儲存裝置。上述資料儲存裝置具有至少一非揮發式記憶體以及具有兩階層架構之一控制器。兩階層架構包括耦接一主機之一前端以及耦接非揮發式記憶體之一後端。資料儲
存方法包括:與主機進行溝通,以及依據來自主機之指令對資料儲存裝置之運作進行排程;依據排程而控制非揮發式記憶體;以及當非揮發式記憶體的數量增加時,對應地增加非揮發式記憶體控制器的數量,並且維持指令處理器的數量。
關於本發明其他附加的特徵與優點,此領域之熟習技術人士,在不脫離本發明之精神和範圍內,當可根據本案實施方法中所揭露之資料儲存裝置與資料儲存方法。
100A、100B、100C‧‧‧資料儲存裝置
102‧‧‧控制器
102A-102Z‧‧‧控制單元
104‧‧‧主機
106‧‧‧匯流排介面
108‧‧‧指令協議控制器
110、120~126‧‧‧匯流排控制器
BE‧‧‧後端
BEP1-BEPZ‧‧‧非揮發式記憶體控制器
CH1、CH2‧‧‧通道
CmdP‧‧‧指令處理器
FE‧‧‧前端
MB1、MB2、MB3‧‧‧信箱
NVM1-NVMZ‧‧‧非揮發式記憶體
VM1-VMZ‧‧‧揮發式記憶體
VMCon1、VMCon2‧‧‧揮發式記憶體控制器
S400...S610‧‧‧步驟
根據以下的詳細說明並配合所附圖式做完整揭露。應注意的是,根據本產業的一般作業,圖示並未必按照比例繪製。事實上,可能任意的放大或縮小元件的尺寸,以做清楚的說明。
第1圖係顯示根據本發明一實施例所述之資料儲存裝置與主機之示意圖;第2圖係顯示根據本發明另一實施例所述之資料儲存裝置與主機之示意圖;第3圖係顯示根據本發明一實施例所述之資料儲存裝置之擴充性之示意圖;第4圖係顯示根據本發明一實施例所述之資料儲存方法之流程圖;第5圖係顯示根據本發明另一實施例所述之資料儲存方法之流程圖;第6圖係顯示根據本發明另一實施例所述之資料儲存方法
之流程圖。
為讓本發明之目的、特徵和優點能更明顯易懂,下文特舉出本發明之具體實施例,並配合所附圖式,作詳細說明如下。目的在於說明本發明之精神而非用以限定本發明之保護範圍,應理解下列實施例可經由軟體、硬體、韌體、或上述任意組合來實現。
資料儲存裝置所採用的非揮發式記憶體(non-volatile memory,簡稱NVM)有多種形式-例如,快閃記憶體(flash memory)、磁阻式隨機存取記憶體(Magnetoresistive RAM)、鐵電隨機存取記憶體(Ferroelectric RAM)、電阻式記憶體(Resistive RAM,RRAM)、自旋轉移力矩隨機存取記憶體(Spin Transfer Torque-RAM,STT-RAM)…等,用於長時間資料保存。為了提升主機與資料儲存裝置之間的數據流量(throughput),本案以兩階層架構實現資料儲存裝置之控制器。
第1圖係顯示根據本發明一實施例所述之資料儲存裝置100與主機104之示意圖。資料儲存裝置100係符合嵌入式快閃記憶體(eMMC,embedded MultiMediaCard)、通用快閃記憶體(UFS,Universal Flash Storage)、NVMe(Non-Volatile Memory express,非揮發性記憶體快捷),ATA(Advanced Technology Attachment,先進技術附件)、PATA(Parallel ATA)、SATA(Serial ATA),SCSI(Small Computer System Interface,小型電腦系統介面)規範。在下述說明中,將以NVMe規範為例進行說明,但不以此為限。主機104可以為手機、平板電腦、筆
記型電腦、導航機或車載系統等各種電子產品。如第1圖所示,資料儲存裝置100包括一控制器102、揮發式記憶體VM1、以及非揮發式記憶體NVM1。詳細而言,揮發式記憶體VM1係作為非揮發式記憶體NVM1之運作所需的數據暫存空間。揮發式記憶體VM1可以是內建或外接於控制器102。
在一實施例中,控制器102分為前端FE(front end)以及後端BE(back end)。前端FE負責資料儲存裝置100與主機104之溝通。後端BE負責控制非揮發式記憶體NVM1之運作,使得主機104可以對非揮發式記憶體NVM1進行資料之寫入或讀取。如此兩階層架構使得主機104以及資料儲存裝置之間的數據通訊被專責進行(前端FE),主機104與資料儲存裝置100之間的數據吞吐量(throughput)因而顯著提升,更可降低前端FE以及後端BE除錯的複雜度。
如第1圖所示,主機104透過匯流排介面106連結資料儲存裝置100A。經指令協議控制器108,主機104下達的符合NVMe規範的指令(以下簡稱為外部指令)將由指令處理器(command processor)CmdP排程,再交由後端BE處理。換言之,指令處理器CmdP藉由匯流排介面106與主機104進行溝通,可簡化且加速資料儲存裝置100A與主機104的溝通,指令處理器CmdP依優先權的設定或接收的先後順序來對外部指令進行排程。
在一實施例中,匯流排介面106可為eMMC、UFS、PCIE介面。指令協議控制器108除了是符合NVMe規範之外,亦可以符合ATA(advanced technology attachment,先進技術附件)、
PATA(Parallel ATA)、SATA(Serial ATA),SCSI(Small Computer System Interface,小型電腦系統介面SCSI)、eMMC或UFS等規範。在另一實施例中,指令協議控制器108具有加密機制,能夠對主機104所傳送之資料進行加密,然後再將加密後之資料藉由匯流排控制器110傳送或分配至後端BE。舉例而言,上述加密機制包括、進階加密標準(Advanced Encryption Standard,AES)、或是RSA加密演算法。除了加密機制之外,指令協議控制器108更具有檢驗機制以檢驗資料的正確性,上述檢驗機制較佳為安全雜湊機制(Secure Hash Algorithm,SHA)。
在一實施例中,前端FE所輸出的外部指令傳送或分配至後端BE,並交由後端BE的元件處理。如第1圖所示,基於接收到的外部指令,非揮發式記憶體控制器BEP1藉由揮發式記憶體控制器VMCon1操作揮發式記憶體VM1,以暫存非揮發式記憶體控制器BEP1所收到的外部指令。然後,非揮發式記憶體控制器BEP1再將外部指令轉化成讀寫指令,並於適當的時間點依據讀寫指令對非揮發式記憶體NVM1執行讀/寫的操作。在另一實施例中,非揮發式記憶體控制器BEP1會直接將外部指令轉化成讀寫指令,再將讀寫指令暫存於揮發式記憶體控制器VMCon1所操作的揮發式記憶體VM1,再於適當的時間點依據讀寫指令對非揮發式記憶體NVM1執行讀/寫的操作。
本案雙階層之控制單元具備多處理器(包括指令處理器CmdP、非揮發式記憶體控制器BEP1、以及揮發式記憶體控制器VMCon1)。處理器之間可採多處理器間溝通機制,例如:郵箱(mailbox)機制,以協調多處理器之間的運作。在一實施例
中,指令處理器CmdP具有郵箱MB1,非揮發式記憶體控制器BEP1具有郵箱MB2,郵箱MB1與郵箱MB2具有來源/目的關係或輪流為來源/目的關係。
此外,資料儲存裝置100A更包括複數個匯流排控制器110、120及122。如第1圖所示,匯流排控制器110配置於前端FE,匯流排控制器120和122配置於後端BE。上述郵箱MB1和MB2係配合匯流排控制器110、120及122進行資料與讀寫指令的傳輸,使的非揮發式記憶體控制器BEP1、揮發式記憶體控制器VMCon1與指令處理器CmdP的運作得以配合且協調。要注意的是,考量多個處理器之間韌體版本同步,本案較佳以非揮發式記憶體NVM1儲存各處理器的韌體映像檔(FW images),並由非揮發式記憶體控制器BEP1先於指令處理器CmdP進行開機/初始化,並將非揮發式記憶體NVM1上儲存的韌體映像檔讀出、並正確傳遞。
第2圖係顯示根據本發明另一實施例所述之資料儲存裝置100B與主機104之示意圖。由於具有二套後端BE,因此,資料儲存裝置100B理論上可以提供二倍於資料儲存裝置100A的資料儲存量。詳細而言,在第2圖所示之資料儲存裝置100B中,非揮發式記憶體NVM1以及NVM2的儲存容量為相同或等比例。第2圖之實施例中資料乃分流(相同或等比例)至非揮發式記憶體NVM1以及NVM2中,所以,資料存取所需的時間可有效地降低,增加資料儲存裝置100B的整體效能,也佐證高數據吞吐量之可行。其他實施方式可以更多數量的非揮發式記憶體實作。或者,單一的大尺寸非揮發式記憶體也是可能實施
方式。
在一種實施方式中,非揮發式記憶體NVM1以及NVM2為快閃記憶體。揮發式記憶體VM1以及VM2可為動態隨機存取記憶體(DRAM)。此外,資料儲存裝置100B具有對應非揮發式記憶體NVM1以及NVM2數量的揮發式記憶體VM1以及VM2、非揮發式記憶體控制器BEP1以及BEP2、揮發式記憶體控制器VMCon1以及VMcon2、信箱MB2以及MB3、以及匯流排控制器120~126。
如第2圖所示,控制單元102A係用以控制非揮發式記憶體NVM1與揮發式記憶體VM1,控制單元102B係用以控制非揮發式記憶體NVM2與揮發式記憶體VM2。詳細而言,控制單元102A係包括2個匯流排控制器120與122、揮發式記憶體控制器VMCon1、以及包含郵箱MB2之非揮發式記憶體控制器BEP1。控制單元102B係包括2個匯流排控制器124與126、揮發式記憶體控制器VMCon2、以及包含郵箱MB3之非揮發式記憶體控制器BEP2。
要注意的是,基於非揮發式記憶體NVM1與NVM2之配置方式,控制單元102B之配置亦相同或對應於控制單元102A之配置。當非揮發式記憶體NVM2之儲存容量相等於非揮發式記憶體NVM1之儲存容量時,則控制單元102B之配置相同於控制單元102A之配置。當非揮發式記憶體NVM2之儲存容量大於非揮發式記憶體NVM1之儲存容量時,則控制單元102B可能需要配置性能更優越的控制器(亦即揮發式記憶體控制器VMCon2以及非揮發式記憶體控制器BEP2),以提升存取較大容
量之非揮發式記憶體NVM2的速度,使其存取速度與較小容量之非揮發式記憶體NVM1的存取速度是一致的。
在一實施例中,非揮發式記憶體NVM1的儲存容量相等於非揮發式記憶體NVM2的儲存容量。在另一實施例中,非揮發式記憶體NVM1與NVM2可作為容錯式磁碟陣列(Redundant Array of Independent Disks,簡稱RAID),以提升資料可靠性以及增加資料儲存裝置100B之讀寫效能。在第一種RAID模式中,非揮發式記憶體NVM1與NVM2為鏡像對映,並且非揮發式記憶體NVM1所儲存之資料與非揮發式記憶體NVM2所儲存之資料是相同的。在第二種RAID模式中,非揮發式記憶體NVM1與NVM2分別儲存資料,其中,非揮發式記憶體NVM2除了資料之外,更儲存非揮發式記憶體NVM1與NVM2的資料的RAID校驗碼(parity code)。另外,RAID校驗碼除了可固定地儲存於非揮發式記憶體NVM2之外,亦可輪流地儲存於非揮發式記憶體NVM1~2中。資料儲存裝置100B可提供多種RAID模式供使用者選擇。
此外,本發明所提供之郵箱MB1接收/儲存非揮發式記憶體控制器BEP1與BEP2訊息(例如其對應記憶體的剩餘儲存容量以及空閒程度等),郵箱MB2-3分別接收並儲存指令處理器CmdP之訊息以協調前端FE以及後端BE之運作。舉例而言,非揮發式記憶體控制器BEP1與BEP2分別定時監測非揮發式記憶體NVM1與NVM2之空閒程度,並且分別將其所監測之空閒程度即時傳送至前端FE之信箱MB1。如此一來,指令處理器CmdP可以依據信箱MB1所接收/儲存的訊息寫入外部指令編號
至後端BE之郵箱MB2或MB3以將外部指令分配給較空閒之非揮發式記憶體NVM1或NVM2,避免過度干擾較忙碌之另一分揮發式記憶體,使資料儲存裝置100能夠運作順暢。
在一實施例中,指令處理器CmdP接收到主機104所傳送之外部指令後,將外部指令轉換成讀寫指令,並將外部指令所對應的資料分割為複數個子資料,並且交錯地將讀寫指令及子資料分配至非揮發式記憶體控制器BEP1~2及揮發式記憶體VM1~2,分別藉由非揮發式記憶體控制器BEP1~2依讀寫指令分別對非揮發式記憶體NVM1以及NVM2進行資料讀取或寫入的操作。
舉例而言,指令處理器CmdP將外部指令所對應的資料分割為編號01~20之20個子資料。然後,指令處理器CmdP將奇數編號之子資料透過非揮發式記憶體控制器BEP1寫入至非揮發式記憶體NVM1,並且將偶數編號之子資料透過非揮發式記憶體控制器BEP2寫入至非揮發式記憶體NVM2。換言之,非揮發式記憶體控制器BEP1~2輪流將子資料#01、子資料#02、子資料#03等寫入非揮發式記憶體NVM1與NVM2。要注意的是,上述分割數量以及資料的傳送或分配係作為例示之用,而非用以限制本發明。本領域所述技術人員分割為其他數量之資料以及其他方式之傳送亦不脫離本發明之精神與範疇。
在一實施例中,如果主機104沒有指定要寫入的是非揮發式記憶體NVM1與NVM2,則指令處理器CmdP可依據非揮發式記憶體NVM1與NVM2之狀態,對外部指令進行傳送或分配,以促進資料存取效率並且提升可靠度。在一實施例中,
藉由本發明所提供之信箱機制,指令處理器CmdP將較多外部指令以及資料(子資料)傳送或分配至至剩餘儲存容量較大之非揮發式記憶體。舉例而言,指令處理器CmdP藉由信箱機制而得知非揮發式記憶體NVM1之剩餘儲存容量為非揮發式記憶體NVM2之剩餘儲存容量之3倍。因此,指令處理器CmdP將20個子資料中的其中15個子資料傳送或分配至非揮發式記憶體NVM1,將其中5個子資料傳送或分配至非揮發式記憶體NVM2。也就是說,指令處理器CmdP將較多資料(子資料)分配至剩餘儲存容量較大之非揮發式記憶體。
此外,指令處理器CmdP安排將資料交錯地傳送或分配至非揮發式記憶體NVM1與NVM2以提升效率。換言之,指令處理器CmdP依序將子資料#01~03傳送或分配至非揮發式記憶體NVM1、將子資料#04傳送或分配至非揮發式記憶體NVM2、將子資料#05~07傳送或分配至非揮發式記憶體NVM1、將子資料#08傳送或分配至非揮發式記憶體NVM2等。要注意的是,上述剩餘儲存容量之差異以及資料傳送或分配係作為例示之用,而非用以限制本發明。本領域所述技術人員依據其他儲存儲存容量之差異而安排其他資料傳輸方式亦不脫離本發明之精神與範疇。
要注意的是,非揮發式記憶體NVM1/NVM2與該非揮發式記憶體控制器BEP1/BEP2之間具有複數個通道(channel),並且非揮發式記憶體控制器BEP1/BEP2將需要存取之資料平均分配給上述通道,以進行與非揮發式記憶體NVM1/NVM2之間的資料之寫入或讀取。
舉例而言,在上述實施例中,非揮發式記憶體NVM1與非揮發式記憶體控制器BEP1具有4個通道,則非揮發式記憶體控制器BEP1將子資料#01~04分別透過4個通道傳送或分配至非揮發式記憶體NVM1。相較於將子資料#01~04全都透過1個通道進行傳輸,本案之平均分配給每個通道能夠提升資料的傳輸效率,避免延遲的發生。要注意的是,上述通道數量以及資料傳送或分配係作為例示之用,而非用以限制本發明。本領域所述技術人員配置其他數量之通道與資料之分配亦不脫離本發明之精神與範疇。
在一實施例中,指令處理器CmdP藉由信箱機制而得知非揮發式記憶體NVM1處於忙碌狀態,非揮發式記憶體NVM2處於空閒狀態。因此,指令處理器CmdP將較多資料傳送或分配至較空閒之非揮發式記憶體NVM2。同樣地,指令處理器CmdP安排將資料交錯地寫入非揮發式記憶體NVM1與NVM2以提升效率。非揮發式記憶體控制器BEP1/BEP2將需要存取之資料平均分配給全部通道,以進行與非揮發式記憶體NVM1與NVM2之間的資料之寫入或讀取。
以上實施例為主機104並未指定要寫入的非揮發式記憶體。在另一實施例中,指令處理器CmdP接收到主機104所傳送之外部指令,並指定存取的儲存空間為非揮發式記憶體NVM1,則指令處理器CmdP將外部指令傳送或分配至非揮發式記憶體控制器BEP1以完成外部指令的執行。此外,非揮發式記憶體控制器BEP1將需要存取之資料平均分配給全部通道,以提升資料的傳輸效率。
第3圖係顯示根據本發明一實施例所述之資料儲存裝置100C。控制單元之數量係對應且正比於於記憶體(包括揮發式記憶體與非揮發式記憶體)之數量。記憶體之數量越多,則控制單元的數量就越多。控制單元的數量、非揮發式記憶體的數量、以及揮發式記憶體的數量,三者是相等的。在一實施例中,每個控制單元的組成與配置都是相同的。
詳細而言,前端FE之指令處理器CmdP主要係對後端BE之複數個控制單元102A~102Z進行溝通與管理,並不直接存取非揮發式記憶體之資料,其中,Z為正整數。換言之,前端FE之指令處理器CmdP之功能在於有效率地處理來自於主機104的外部指令,並將外部指令及資料傳送或分配給不同的控制單元102A~102Z。後端BE之複數個控制單元102A~102Z係用以對非揮發式記憶體NVM1~Z或揮發式記憶體VM1~Z進行溝通與管理,有效率地分配通道以進行資料的讀取或寫入。
要注意的是,前端FE的數量與後端BE的數量無直接相關,前端FE的數量較佳與匯流排介面106的頻寬直接相關,後端BE的數量較佳與匯流排介面106的頻寬、後端BE的頻寬及非揮發式記憶體的存取速度直接相關。非揮發式記憶體的存取速度較慢,是資料儲存裝置100C的系統效能的瓶頸。前端FE的數量小於後端BE的數量,後端BE的數量較佳是前端FE的數量的偶數倍。因此,藉由本發明所提供之兩階層架構之控制器102,能夠在不變更前端FE的情況下,依據使用者對於系統效能的需求來增加後端BE之控制單元的配置。此外,每個後端BE之控制單元的組成與配置基本上都是相同的,因此,後端
BE之控制單元的配置可輕易完成,滿足各種使用者之需求。因此,本發明之兩階層架構之資料儲存裝置100C與資料儲存方法,提供了方便且快速的可擴充性。
在一實施例中,非揮發式記憶體NVM1~Z的數量係決定於資料儲存裝置100C所儲存的資料量、資料儲存裝置100C以及主機104之間的流量、以及非揮發式記憶體NVM1~Z與非揮發式記憶體控制器BEP1~Z之間的通道數量。詳細而言,非揮發式記憶體NVM1~Z的數量係正比於資料儲存裝置100C所需儲存的資料量。如果資料儲存裝置100C所需儲存的資料量越大,則非揮發式記憶體NVM1~Z所需的數量就越多。
此外,非揮發式記憶體NVM1~Z的數量係正比於匯流排介面106的頻寬。匯流排介面106的頻寬越大,表示在一固定時間內資料儲存裝置100C需執行的外部指令愈多,所需寫入或讀取的資料越多,因此,資料儲存裝置100C需配置的非揮發式記憶體NVM1~Z的數量就越多。
在另一實施例中,非揮發式記憶體NVM1~Z的數量,係反比於非揮發式記憶體NVM1~Z與非揮發式記憶體控制器BEP1~Z之間的通道數量。一般而言,資料儲存裝置100C以及主機104之間的流量、以及非揮發式記憶體NVM1~Z與非揮發式記憶體控制器BEP1~Z之間的每個通道的流量都是固定的。如果非揮發式記憶體NVM1~Z與非揮發式記憶體控制器BEP1~Z之間的通道越多,就會更加消耗資料儲存裝置100C以及主機104之間的流量,能夠配置的非揮發式記憶體NVM1~Z的數量就越少。
第4圖係顯示根據本發明一實施例所述之資料儲存方法之流程圖。在步驟S400,配置第二信箱至非揮發式記憶體控制器BEP1、第三信箱至非揮發式記憶體控制器BEP2以及第一信箱至指令處理器CmdP。在步驟S402中,傳送與更新非揮發式記憶體控制器BEP1或非揮發式記憶體控制器BEP2之狀態至第一信箱。在步驟S404中,指令處理器CmdP依據第一信箱所儲存之狀態來傳送或分配指令處理器CmdP所接收的外部指令,其中,外部指令來自於主機104,且外部指令符合NVMe規範,另外,外部指令於傳送或分配之前,可佇列於指令處理器CmdP中,並依優先權的設定或接收的先後順序來對外部指令進行排程。在步驟S406中,指令處理器CmdP交錯地將外部指令傳送或分配至非揮發式記憶體控制器BEP1或BEP1。然後,在步驟S408,非揮發式記憶體控制器BEP1或BEP2分別地將外部指令轉化成讀寫指令。步驟S410,非揮發式記憶體控制器BEP1或BEP2分別地依據讀寫指令對非揮發式記憶體NVM1或NVM2執行存取操作,其中,非揮發式記憶體控制器BEP1或BEP2較佳係以多通道方式對非揮發式記憶體NVM1或NVM2執行存取操作。
第5圖係顯示根據本發明另一實施例所述之資料儲存方法之流程圖。在步驟S500,配置第二信箱至非揮發式記憶體控制器BEP1、第三信箱至非揮發式記憶體控制器BEP2以及第一信箱至指令處理器CmdP。在步驟S502中,傳送與更新非揮發式記憶體控制器BEP1或非揮發式記憶體控制器BEP2之狀態至第一信箱。在步驟S504中,指令處理器CmdP佇列來自
於主機104的外部指令,其中,指令處理器CmdP依據優先權的設定或接收的先後順序來對佇列的外部指令進行排程。在步驟S506中,指令處理器CmdP將佇列的外部指令轉化成讀寫指令。在步驟S508中,指令處理器CmdP依據第一信箱所儲存之狀態來傳送或分配讀寫指令至非揮發式記憶體控制器BEP1或BEP1。在步驟S510中,非揮發式記憶體控制器BEP1或BEP2分別地依據讀寫指令對非揮發式記憶體NVM1或NVM2執行存取操作,其中,非揮發式記憶體控制器BEP1或BEP2較佳係以多通道方式對非揮發式記憶體NVM1或NVM2執行存取操作。
第6圖係顯示根據本發明另一實施例所述之資料儲存方法之流程圖。在步驟S600,分別配置一信箱於第一非揮發式記憶體控制器、第二非揮發式記憶體控制器以及指令處理器CmdP。在步驟S602中,藉由信箱傳送與更新第一非揮發式記憶體控制器、第二非揮發式記憶體控制器以及指令處理器CmdP之狀態,以協調前端FE以及後段BE之運作。在步驟S604中,指令處理器CmdP接收來自主機104的外部指令,並對外部指令進行排程。
在步驟S606中,藉由第一非揮發式記憶體控制器以及第二非揮發式記憶體控制器之信箱MB2和MB3,分別將第一非揮發式記憶體以及第二非揮發式記憶體之狀態傳送至指令處理器CmdP之信箱MB1。在步驟S608中,依據所接收之狀態判斷第一非揮發式記憶體以及第二非揮發式記憶體之空閒狀態及/或剩餘儲存容量。
然後,在步驟S610,指令處理器CmdP優先將外部
指令或外部指令所轉化的讀寫指令傳送或分配至較空閒及/或剩餘儲存容量較大之第一非揮發式記憶體或第二非揮發式記憶體。要注意的是,第4~6圖所示之各種資料儲存方法個別單獨使用、也可以適當結合而一起使用以促進資料儲存裝置的擴充性以及讀寫效能,本發明並不加以限制。
本發明之方法,或特定型態或其部份,可以以程式碼的型態存在。程式碼可儲存於實體媒體,如軟碟、光碟片、硬碟、或是任何其他機器可讀取(如電腦可讀取)儲存媒體,亦或不限於外在形式之電腦程式產品,其中,當程式碼被機器,如電腦載入且執行時,此機器變成用以參與本發明之裝置。程式碼也可透過一些傳送媒體,如電線或電纜、光纖、或是任何傳輸型態進行傳送,其中,當程式碼被機器,如電腦接收、載入且執行時,此機器變成用以參與本發明之裝置。當在一般用途處理單元實作時,程式碼結合處理單元提供一操作類似於應用特定邏輯電路之獨特裝置。
在本說明書以及申請專利範圍中的序數,例如「第一」、「第二」、「第三」等等,彼此之間並沒有順序上的先後關係,其僅用於標示分割兩個具有相同名字之不同元件。本發明說明書中「耦接」一詞係泛指各種直接或間接之電性連接方式。本發明雖以較佳實施例揭露如上,然其並非用以限定本發明的範圍,任何熟習此項技藝者,在不脫離本發明之精神和範圍內,當可做些許的更動與潤飾,因此本發明之保護範圍當視後附之申請專利範圍所界定者為準。
Claims (21)
- 一種資料儲存裝置,包括:至少一非揮發式記憶體;以及具有兩階層架構之控制器,其中該兩階層架構包括耦接一主機之一前端(Front End)以及耦接該非揮發式記憶體之一後端(Back End),該控制器包括:一指令處理器,配置於該前端,並且與該主機進行溝通,以及依據來自該主機之一外部指令對該資料儲存裝置之運作進行排程;以及至少一非揮發式記憶體控制器,配置於該後端,依據該指令處理器之該排程而控制該非揮發式記憶體,其中當該非揮發式記憶體的數量增加時,該非揮發式記憶體控制器的數量亦對應地增加,該指令處理器的數量維持不變。
- 如申請專利範圍第1項所述之資料儲存裝置,其中該非揮發式記憶體的數量係決定於該資料儲存裝置所儲存的資料量、該資料儲存裝置以及該主機之間的流量、以及該非揮發式記憶體與該非揮發式記憶體控制器之間的通道數量。
- 如申請專利範圍第2項所述之資料儲存裝置,其中該非揮發式記憶體的數量係正比於該資料儲存裝置所儲存的資料量、正比於該資料儲存裝置以及該主機之間的流量、以及反比於該非揮發式記憶體與該非揮發式記憶體控制器之間的通道數量。
- 如申請專利範圍第1項所述之資料儲存裝置,其中該非揮發式記憶體與該非揮發式記憶體控制器之間具有複數個通道, 並且該非揮發式記憶體控制器將需要存取之資料平均分配給該等通道,以進行與該非揮發式記憶體之間的資料之寫入或讀取。
- 如申請專利範圍第1項所述之資料儲存裝置,其中該控制器更包括:一指令協議控制器,配置於該前端,用以支援該資料儲存裝置之指令協議(Protocol),以及對來自該主機之資料進行加密。
- 如申請專利範圍第1項所述之資料儲存裝置,其中該資料儲存裝置包括一第一非揮發式記憶體及其對應之第一非揮發式記憶體控制器、以及一第二非揮發式記憶體及其對應之第二非揮發式記憶體控制器,該第一非揮發式記憶體控制器、該第二非揮發式記憶體控制器以及該指令處理器分別包括一信箱,用以傳送與更新該第一非揮發式記憶體控制器、該第二非揮發式記憶體控制器以及該指令處理器之狀態,並且協調該前端以及該後端之運作。
- 如申請專利範圍第6項所述之資料儲存裝置,其中該指令處理器交錯地將該外部指令傳送或分配至該第一非揮發式記憶體控制器或該第二非揮發式記憶體控制器。
- 如申請專利範圍第7項所述之資料儲存裝置,其中該第一非揮發式記憶體控制器或該第二非揮發式記憶體控制器分別將該外部指令轉化成一讀寫指令,並且該第一非揮發式記憶體控制器或該第二非揮發式記憶體控制器分別依據該讀寫指令對該第一非揮發式記憶體或該第二非揮發式記憶體執 行存取操作。
- 如申請專利範圍第6項所述之資料儲存裝置,其中該第一非揮發式記憶體控制器以及該第二非揮發式記憶體控制器之信箱分別將該第一非揮發式記憶體以及該第二非揮發式記憶體之狀態傳送至該指令處理器之信箱,該指令處理器之信箱依據所接收之狀態判斷該第一非揮發式記憶體以及該第二非揮發式記憶體之空閒狀態,並且優先將需要寫入之資料傳送至較空閒之該第一非揮發式記憶體或該第二非揮發式記憶體。
- 如申請專利範圍第6項所述之資料儲存裝置,其中該第一非揮發式記憶體控制器以及該第二非揮發式記憶體控制器之信箱分別將該第一非揮發式記憶體以及該第二非揮發式記憶體之狀態傳送至該指令處理器之信箱,該指令處理器之信箱依據所接收之狀態判斷該第一非揮發式記憶體以及該第二非揮發式記憶體之剩餘儲存容量,並且優先將需要寫入之資料傳送至剩餘儲存容量較大之該第一非揮發式記憶體或該第二非揮發式記憶體。
- 如申請專利範圍第6項所述之資料儲存裝置,其中該第一非揮發式記憶體與該第二非揮發式記憶體為容錯式磁碟陣列(Redundant Array of Independent Disks,簡稱RAID)。
- 如申請專利範圍第11項所述之資料儲存裝置,其中該第一非揮發式記憶體與該第二非揮發式記憶體為鏡像,並且該第一非揮發式記憶體所儲存之資料相同於該第二非揮發式記憶體所儲存之資料。
- 一種資料儲存方法,適用於一資料儲存裝置,該資料儲存裝置具有至少一非揮發式記憶體以及具有兩階層架構之一控制器,該兩階層架構包括耦接一主機之一前端(Front End)以及耦接該非揮發式記憶體之一後端(Back End),該資料儲存方法包括:與該主機進行溝通,以及依據來自該主機之一外部指令對該資料儲存裝置之運作進行排程;依據該排程而控制該非揮發式記憶體;以及當該非揮發式記憶體的數量增加時,對應地增加該非揮發式記憶體控制器的數量,並且維持該指令處理器的數量。
- 如申請專利範圍第13項所述之資料儲存方法,其中該非揮發式記憶體的數量係決定於該資料儲存裝置所儲存的資料量、該資料儲存裝置以及該主機之間的流量、以及該非揮發式記憶體與該非揮發式記憶體控制器之間的通道數量。
- 如申請專利範圍第13項所述之資料儲存方法,更包括:配置複數個通道於該非揮發式記憶體與該非揮發式記憶體控制器之間;以及將需要存取之資料平均分配給該等通道,以進行該非揮發式記憶體控制器與該非揮發式記憶體之間的資料之寫入或讀取。
- 如申請專利範圍第13項所述之資料儲存方法,更包括:支援該資料儲存裝置之指令協議(Protocol),以及對來自該主機之資料進行加密。
- 如申請專利範圍第13項所述之資料儲存方法,其中該資料 儲存裝置包括一第一非揮發式記憶體及其對應之第一非揮發式記憶體控制器、以及一第二非揮發式記憶體及其對應之第二非揮發式記憶體控制器,該資料儲存方法更包括:分別配置一信箱於該第一非揮發式記憶體控制器、該第二非揮發式記憶體控制器以及該指令處理器;以及藉由該等信箱傳送與更新該第一非揮發式記憶體控制器、該第二非揮發式記憶體控制器以及該指令處理器之狀態,以協調該前端以及該後端之運作。
- 如申請專利範圍第17項所述之資料儲存方法,更包括:交錯地將該外部指令傳送或分配至該第一非揮發式記憶體控制器或該第二非揮發式記憶體控制器。
- 如申請專利範圍第18項所述之資料儲存方法,更包括:藉由該第一非揮發式記憶體控制器或該第二非揮發式記憶體控制器分別將該外部指令轉化成一讀寫指令;以及藉由該第一非揮發式記憶體控制器或該第二非揮發式記憶體控制器分別依據該讀寫指令對該第一非揮發式記憶體或該第二非揮發式記憶體執行存取操作。
- 如申請專利範圍第17項所述之資料儲存方法,更包括:藉由該第一非揮發式記憶體控制器以及該第二非揮發式記憶體控制器之信箱分別將該第一非揮發式記憶體以及該第二非揮發式記憶體之狀態傳送至該指令處理器之信箱;依據所接收之狀態判斷該第一非揮發式記憶體以及該第二非揮發式記憶體之空閒狀態;以及優先將需要寫入之資料傳送至較空閒之該第一非揮發式記 憶體或該第二非揮發式記憶體。
- 如申請專利範圍第17項所述之資料儲存方法,更包括:藉由該第一非揮發式記憶體控制器以及該第二非揮發式記憶體控制器之信箱分別將該第一非揮發式記憶體以及該第二非揮發式記憶體之狀態傳送至該指令處理器之信箱;依據所接收之狀態判斷該第一非揮發式記憶體以及該第二非揮發式記憶體之剩餘儲存容量;以及優先將需要寫入之資料傳送至剩餘儲存容量較大之該第一非揮發式記憶體或該第二非揮發式記憶體。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW106120535A TWI645295B (zh) | 2017-06-20 | 2017-06-20 | 資料儲存裝置與資料儲存方法 |
CN201810007265.2A CN109101189B (zh) | 2017-06-20 | 2018-01-04 | 数据储存装置与数据储存方法 |
US15/915,183 US11099775B2 (en) | 2017-06-20 | 2018-03-08 | Data storage device and data storage method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW106120535A TWI645295B (zh) | 2017-06-20 | 2017-06-20 | 資料儲存裝置與資料儲存方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
TWI645295B true TWI645295B (zh) | 2018-12-21 |
TW201905712A TW201905712A (zh) | 2019-02-01 |
Family
ID=64658011
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW106120535A TWI645295B (zh) | 2017-06-20 | 2017-06-20 | 資料儲存裝置與資料儲存方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11099775B2 (zh) |
CN (1) | CN109101189B (zh) |
TW (1) | TWI645295B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI819635B (zh) * | 2022-06-01 | 2023-10-21 | 瑞昱半導體股份有限公司 | 記憶體控制系統與記憶體控制方法 |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI660269B (zh) * | 2018-01-26 | 2019-05-21 | 慧榮科技股份有限公司 | 用來於一記憶裝置中進行寫入管理之方法以及記憶裝置及其控制器 |
TWI703501B (zh) * | 2018-08-23 | 2020-09-01 | 慧榮科技股份有限公司 | 具有分散式信箱架構的多處理器系統及其溝通方法 |
WO2020234616A1 (en) * | 2019-05-21 | 2020-11-26 | Micron Technology, Inc. | Bus encryption for non-volatile memories |
CN111008041B (zh) * | 2019-12-04 | 2022-03-11 | 北京百度网讯科技有限公司 | 用于主机的命令处理方法、装置、电子设备和存储介质 |
TWI778363B (zh) * | 2020-05-29 | 2022-09-21 | 慧榮科技股份有限公司 | 採多級架構控制器的資料儲存裝置 |
KR20220067795A (ko) * | 2020-11-18 | 2022-05-25 | 삼성전자주식회사 | 스토리지 장치 및 이를 포함하는 스토리지 시스템 |
EP4250105A1 (en) * | 2022-03-22 | 2023-09-27 | Samsung Electronics Co., Ltd. | Communication method between virtual machines using mailboxes, system-on chip performing communication method, and in-vehicle infotainment system including same |
TWI826216B (zh) * | 2022-12-29 | 2023-12-11 | 瑞昱半導體股份有限公司 | 記憶體控制系統與記憶體控制方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW201118883A (en) * | 2009-11-24 | 2011-06-01 | Mediatek Inc | Multi-channel memory apparatus and method for accessing a multi-channel memory apparatus |
CN103455462A (zh) * | 2012-05-29 | 2013-12-18 | 联发科技股份有限公司 | 通用串行总线主机控制器及其排程方法 |
TW201706850A (zh) * | 2015-07-13 | 2017-02-16 | 三星電子股份有限公司 | 電腦系統以及非揮發性記憶體的操作方法 |
TW201710904A (zh) * | 2015-08-27 | 2017-03-16 | 三星電子股份有限公司 | 記憶體系統及驅動該記憶體系統的方法、以及記憶體模組 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005309957A (ja) * | 2004-04-23 | 2005-11-04 | Denso Corp | マイクロコンピュータ、車載システム |
US20100250826A1 (en) * | 2009-03-24 | 2010-09-30 | Micron Technology, Inc. | Memory systems with a plurality of structures and methods for operating the same |
CN105706071A (zh) * | 2013-09-26 | 2016-06-22 | 英特尔公司 | 持久性存储器的块存储孔 |
US9129665B2 (en) * | 2013-12-17 | 2015-09-08 | Sandisk Enterprise Ip Llc | Dynamic brownout adjustment in a storage device |
US9952991B1 (en) * | 2014-04-17 | 2018-04-24 | Bitmicro Networks, Inc. | Systematic method on queuing of descriptors for multiple flash intelligent DMA engine operation |
US9720860B2 (en) * | 2014-06-06 | 2017-08-01 | Toshiba Corporation | System and method for efficient processing of queued read commands in a memory system |
WO2015200313A1 (en) | 2014-06-23 | 2015-12-30 | Liqid Inc. | Modular switched fabric for data storage systems |
US9548398B2 (en) | 2014-07-28 | 2017-01-17 | National Chiao Tung University | NAND type variable resistance random access memory and methods |
US10126950B2 (en) * | 2014-12-22 | 2018-11-13 | Intel Corporation | Allocating and configuring persistent memory |
US9996436B2 (en) * | 2015-10-22 | 2018-06-12 | Netapp Inc. | Service processor traps for communicating storage controller failure |
CN106708442B (zh) * | 2016-12-30 | 2020-02-14 | 硬石科技(武汉)有限公司 | 同时适应磁盘与固态硬盘读写特性的海量数据存储方法 |
-
2017
- 2017-06-20 TW TW106120535A patent/TWI645295B/zh active
-
2018
- 2018-01-04 CN CN201810007265.2A patent/CN109101189B/zh active Active
- 2018-03-08 US US15/915,183 patent/US11099775B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW201118883A (en) * | 2009-11-24 | 2011-06-01 | Mediatek Inc | Multi-channel memory apparatus and method for accessing a multi-channel memory apparatus |
CN103455462A (zh) * | 2012-05-29 | 2013-12-18 | 联发科技股份有限公司 | 通用串行总线主机控制器及其排程方法 |
TW201706850A (zh) * | 2015-07-13 | 2017-02-16 | 三星電子股份有限公司 | 電腦系統以及非揮發性記憶體的操作方法 |
TW201710904A (zh) * | 2015-08-27 | 2017-03-16 | 三星電子股份有限公司 | 記憶體系統及驅動該記憶體系統的方法、以及記憶體模組 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI819635B (zh) * | 2022-06-01 | 2023-10-21 | 瑞昱半導體股份有限公司 | 記憶體控制系統與記憶體控制方法 |
Also Published As
Publication number | Publication date |
---|---|
CN109101189B (zh) | 2021-12-24 |
TW201905712A (zh) | 2019-02-01 |
CN109101189A (zh) | 2018-12-28 |
US20180364945A1 (en) | 2018-12-20 |
US11099775B2 (en) | 2021-08-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI645295B (zh) | 資料儲存裝置與資料儲存方法 | |
US10949091B2 (en) | Memory controllers, memory systems, solid state drives and methods for processing a number of commands | |
US10101924B2 (en) | Storage processor managing NVMe logically addressed solid state disk array | |
JP5635200B2 (ja) | 不揮発半導体記憶システム | |
US8595414B2 (en) | Selectively combining commands for a system having non-volatile memory | |
JP5918359B2 (ja) | メモリシステムコントローラを含む装置および関連する方法 | |
JP2016115355A (ja) | 情報処理装置、プログラム、及び、情報処理システム | |
TWI506638B (zh) | 用於非揮發性半導體記憶體之介面管理控制系統及方法 | |
US10725902B2 (en) | Methods for scheduling read commands and apparatuses using the same | |
KR20120098505A (ko) | 비휘발성 메모리를 갖는 시스템에 대한 효율적인 버퍼링 | |
TW201142593A (en) | Method and system for concurrent background and foreground operations in a non-volatile memory array | |
US20210247922A1 (en) | Storage device and operating method thereof | |
KR20160031099A (ko) | 저장 장치 및 그것을 포함하는 데이터 저장 시스템의 가비지 컬렉션 방법 | |
US10048899B2 (en) | Storage device, computing system including the storage device, and method of operating the storage device | |
TWI730454B (zh) | 主機輸出入命令的執行裝置及方法及電腦程式產品 | |
US20210208800A1 (en) | Data storage device, and non-volatile memory control method | |
KR20190130831A (ko) | 컨트롤러 및 이를 포함하는 메모리 시스템 | |
US20180364946A1 (en) | Data storage device | |
US11899947B2 (en) | Storage device, storage system, and operating method thereof capable of dynamically allocating write blocks to a stream | |
JP5782556B2 (ja) | 不揮発半導体記憶システム | |
JP5968508B2 (ja) | 不揮発半導体記憶システム | |
JP6313242B2 (ja) | メモリシステム及びプログラム | |
TWI835027B (zh) | 更新主機與閃存位址對照表的方法及電腦程式產品及裝置 | |
US20240095192A1 (en) | Memory system, control device, and method | |
JP6276208B2 (ja) | メモリシステム及びプログラム |