存儲器晶片、其資料讀取方法以及資料儲存系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及一種資料存取方法,且尤其涉及一種存儲器晶片、其資料讀取方法以 及資料儲存系統(tǒng)。
【背景技術(shù)】
[0002] 隨著半導(dǎo)體技術(shù)的進(jìn)步,存儲器的容量大幅提升。而快閃存儲器(Flash Memory) 具有非揮發(fā)性、省電、體積小等特性,因此在移動裝置中的應(yīng)用相當(dāng)廣泛。在快閃存儲器的 技術(shù)中,反及快閃(NAND Flash)存儲器技術(shù)亦越趨成熟,更于近年來被應(yīng)用于做為資料存 取媒介的固態(tài)硬盤(Solid State Disk ;SSD)。固態(tài)硬盤的特別之處在于,其利用快閃存儲 器的特性來取代傳統(tǒng)硬盤的機(jī)械結(jié)構(gòu),并藉由區(qū)塊寫入和抹除的方式進(jìn)行資料存取,可大 幅提升儲存裝置的讀寫速度。與傳統(tǒng)的儲存裝置相較,固態(tài)硬盤具有低耗電、耐震、耐低溫、 穩(wěn)定性1?等優(yōu)點。
[0003] -般而言,當(dāng)固態(tài)硬盤使用序列先進(jìn)技術(shù)連接(Serial Advanced Technology Attachment ;SATA)匯流排介面來連接主機(jī)時,因受限于每秒600百萬位元組(MB/s)的頻 寬限制,固態(tài)硬盤便無法達(dá)到更高的存取速度。因此,具有l(wèi)OOOMB/s傳輸頻寬的周邊裝置 連接快遞(Peripheral Component Interconnection Express ;PCIe)介面的固態(tài)硬盤便逐 漸在市場上流行起來。
[0004] 然而,無論是使用SATA介面或PCIe介面,當(dāng)面對小檔案(例如,4千位元組(KB)) 的隨機(jī)存取時,都無法有效改善存取速度。而操作系統(tǒng)(Operating System ;0S)中的程序 庫檔案大多以例如是4KB (增強(qiáng)型文件系統(tǒng)(New Technology File System ;NTFS)格式的 最小單位為4KB)為單位來進(jìn)行存取操作,因此小檔案傳輸是系統(tǒng)反應(yīng)的重要指標(biāo)。有鑒于 此,需要提出一種改善隨機(jī)存取小檔案的存取速度的方法。
【發(fā)明內(nèi)容】
[0005] 本發(fā)明提供一種存儲器晶片、其資料讀取方法以及資料儲存系統(tǒng),透過介面控制 器傳送特定讀取指令而使存儲器晶片輸出對應(yīng)的小檔案,從而提升小檔案的存取速度。
[0006] 本發(fā)明提出一種存儲器晶片,此存儲器晶片包括存儲器單元、緩沖單元及控制單 元。當(dāng)發(fā)生讀取操作時,此緩沖單元對存儲器單元讀取緩沖資料。此外,控制單元耦接緩沖 單元及存儲器單元。而當(dāng)控制單元接收到要求小于緩沖資料之大小的讀取指令時,控制單 元自緩沖單元中輸出對應(yīng)于讀取指令的部份的緩沖資料。
[0007] 本發(fā)明還提出一種資料儲存系統(tǒng),此資料儲存系統(tǒng)包括介面控制器以及存儲器晶 片。存儲器晶片耦接介面控制器,且存儲器晶片包括存儲器單元及緩沖單元。當(dāng)發(fā)生讀取 操作時,此緩沖單元對存儲器單元讀取緩沖資料。而介面控制器接收讀取命令,并判斷讀取 命令所要求的資料大小是否小于緩沖資料的大小,從而選擇對應(yīng)于資料大小的讀取指令并 傳送至存儲器晶片。當(dāng)存儲器晶片接收到要求小于緩沖資料之大小的讀取指令時,存儲器 晶片自緩沖單元中輸出對應(yīng)于讀取指令的部份的緩沖資料至介面控制器。
[0008] 本發(fā)明還提出一種資料讀取方法,適用于存儲器晶片。此資料讀取方法在接收到 要求小于緩沖資料之大小的讀取指令時,自存儲器晶片的緩沖單元中輸出對應(yīng)于讀取指令 的部份的緩沖資料。其中,當(dāng)發(fā)生讀取動作時,自存儲器晶片的存儲器單元中讀出緩沖資料 至緩沖單元。
[0009] 基于上述,本發(fā)明的存儲器晶片、其資料讀取方法以及資料儲存系統(tǒng)是在存儲器 晶片的控制單元接收到小于緩沖資料之大小的讀取指令時,自緩沖單元中輸出部份的緩沖 資料至介面控制器,其中控制單元自存儲器單元中將頁面單位容量的緩沖資料讀取至緩沖 單元。藉此,針對小檔案的隨機(jī)存取,便能有效提升存儲器晶片與介面控制器之間的存取速 度。
【附圖說明】
[0010] 圖1是依據(jù)本發(fā)明一實施例說明一種資料儲存系統(tǒng)的結(jié)構(gòu)框圖。
[0011] 圖2說明頁面讀取操作的時序圖。
[0012] 圖3是依據(jù)本發(fā)明一實施例說明一種資料儲存系統(tǒng)的資料讀取方法的流程圖。
[0013] 圖4是依據(jù)本發(fā)明一實施例說明介面控制器決定讀取指令的方法流程圖。
[0014] 圖5是依據(jù)本發(fā)明一實施例說明存儲器晶片的資料讀取方法的流程圖。
[0015] 圖中符號說明:
[0016] 10 :資料儲存系統(tǒng); CE :晶片致能;
[0017] 100:介面控制器; CLE:指令鎖存致能;
[0018] 150:存儲器晶片; ALE:位址鎖存致能;
[0019] 151:存儲器單元; WE:寫入致能;
[0020] 153 :緩沖單元; RE :讀取致能;
[0021] 155:控制單元; DQS:資料選通;
[0022] 210、240 :指令; DQx :資料輸入輸出;
[0023] 220 :儲存位址; R/B :就緒/忙碌;
[0024] 250 :讀取資料;
[0025] S310 ~S350、S410 ~490、S510 :步驟。
【具體實施方式】
[0026] 為讓本發(fā)明的上述特征和優(yōu)點能更明顯易懂,下文特舉實施例,并配合所附圖式 作詳細(xì)說明如下。
[0027] -般而言,固態(tài)硬盤(SSD)介面控制器是以100百萬赫茲(MHz)8比特(bit)雙倍 資料速率(double data rate ;DDR)來對存儲器晶片(例如,反及快閃(NAND Flash)晶片) 進(jìn)行控制,即,傳輸速率約為200每秒百萬位元組(MB/s)。而SSD介面控制器與存儲器晶 片之間的傳輸介面相較于在傳輸系統(tǒng)中的檔案傳輸而言,是最慢的一層傳輸介面。此外,存 儲器晶片通常是以例如是16KB為單位進(jìn)行傳輸,即使操作系統(tǒng)(0S)要求讀取小于16KB的 小檔案,存儲器晶片仍會輸出16KB的資料至介面控制器。據(jù)此,本發(fā)明實施例便是在存儲 器晶片接收到特定讀取指令時,依據(jù)此讀取指令所指示的位置自存儲器單元中讀出緩沖資 料,并自緩沖資料中輸出對應(yīng)于此讀取指令的部份的緩沖資料。藉此,存儲器晶片便能輸出 小于緩沖資料之大小的小檔案,并藉以加快讀取小檔案之存取速度。
[0028] 圖1是依據(jù)本發(fā)明一實施例說明一種資料儲存系統(tǒng)的結(jié)構(gòu)框圖。請參照圖1,資料 儲存系統(tǒng)10包括介面控制器100及存儲器晶片150。資料儲存系統(tǒng)10可以是各種硬盤(例 如,固態(tài)硬盤(SSD))、隨身盤、記憶卡、嵌入式多媒體記憶卡(embedded multimedia card; eMMC)、嵌入式多晶片封裝(embedded multi-chip package)等儲存裝置。
[0029] 介面控制器100可以是具備序列先進(jìn)技術(shù)連接(SATA)、周邊裝置連接快遞 (PCIe)、小電腦系統(tǒng)介面(Small Computer System Interface ;SCSI)、通用序列匯流排 (universal serial bus ;USB)、整合驅(qū)動電子(Integrated Drive Electronics ;IDE)等 傳輸介面的嵌入式控制器(embedded controller)或控制晶片(control chip)等晶片以 及其他電路所組成的控制器。介面控制器100作為存儲器晶片150與主機(jī)(例如,個人 電腦、筆記本電腦、伺服器等)之間的橋接器(例如與主機(jī)端的進(jìn)階主機(jī)控制匯流排介面 (Advanced Host Controller Interface ;AHCI)主機(jī)匯流排配接器(Host Bus Adapter ; HBA)連接),以使主機(jī)可存取儲存于存儲器晶片150中的資料。介面控制器100包括處 理單元(未繪示)以執(zhí)行韌體(firmware)階層的功能,這些功能例如是錯誤校正編碼 (Error-correcting code ;ECC)、平均磨損(Wear leveling)、損壞區(qū)塊(bad block)映射、 讀取及寫入快?。╟ache)及加密(Encryption)等功能。
[0030] 存儲器晶片150包括存儲器單元151、緩沖單元153及控制單元155,存儲器單元 151、緩沖單元153及控制單元155可內(nèi)嵌(embedded)于存儲器晶片150上,亦可以是透過 任何線路或傳輸介面相互連接。存儲器單元151例如是反及快閃(NAND Flash)存儲器、反 或快閃(NOR Flash)存儲器或其他揮發(fā)性或非揮發(fā)性存儲器之存儲器。緩沖單元153例 如是靜態(tài)隨機(jī)存取存儲器(Static Random Access Memory ;SRAM)、靜態(tài)隨機(jī)存取存儲器 (Dynamic Random Access Memory ;DRAM)等類型的緩沖器。其中,當(dāng)發(fā)生讀取操作時,控制 單元155對存儲器單元151讀出緩沖資料至緩沖單元153,且透過緩沖單元153輸出緩沖資 料(例如,透過開放式反及閘快閃存儲器介面(Open NAND Flash Interface ;0NFI)、觸發(fā) 雙倍資料速率(toggle DDR)介面)。
[0031] 圖2說明頁面讀取操作的時序圖。請參照圖2,當(dāng)存儲器晶片150接收到介面控制 器100所傳送包括指令210 (例如,指令集(CMD Set) 00h)、儲存位址220 (例如,包括區(qū)塊 索引(block index)、頁面(page)索引及位元組位址)及指令240 (例如,CMD Set 30h)的 讀取指令,控制單元155便會依據(jù)讀取指令所指示的儲存位址220而自存儲器單元151中 讀出一個頁面單位容量(例如,16千位元組(KB)、8千位元組、32千位元組等)的緩沖資料 250至緩沖單元153,并透過緩沖單元153輸出緩沖資料250。
[0032] 值得說明的是,在傳統(tǒng)的頁面讀取操作中,緩沖單元153將整個頁面單位容量的 緩沖資料250直接輸出至介面控制器100。其中,無論主機(jī)所要求讀取的資料大小是否等于 此頁面單位容量,緩沖單元153仍會輸出頁面單位容量的緩沖資料。此外,存儲器晶片150 與介面控制器100之間的資料傳輸速度于整個資料傳輸系統(tǒng)(例如包括存儲器晶片150、介 面控制器100及主機(jī))中是最慢的。因此,本發(fā)明實施例便是著重于提升存儲器晶片150 與介面控制器100之間的小檔案的存取速度,以下將舉實施例說明之。
[0033] 圖3是依據(jù)本發(fā)明一實施例說明一種資料儲存系統(tǒng)10的資料讀取方法的流程圖。 請參照圖3,本實施例的資料讀取方法適用于圖1的資料儲存系統(tǒng)10。下文中,將結(jié)合資料 儲存系統(tǒng)10中的各項元件說明本發(fā)明實施例所述的資料讀取方法。本方法的各個流程可 依照實施情形而隨之調(diào)整,且并不僅限于此。
[0034] 在步驟S310中,介面控制器100接收讀取命令。具體而言,當(dāng)主機(jī)的操作系統(tǒng)欲 讀取儲存于資料儲存系統(tǒng)10中的程序庫檔案(library file)、文件檔案、多媒體檔案等類 型的檔案時,主機(jī)將透過其與介面控制器100連接的傳輸介面(例如,AHCI、IDE等)傳送 讀取命令至介面控制器