本發(fā)明涉及一種數(shù)據(jù)儲(chǔ)存的相關(guān)技術(shù),且特別是關(guān)于一種儲(chǔ)存裝置及其控制單元,以及一種可用于儲(chǔ)存裝置的數(shù)據(jù)儲(chǔ)存方法。
背景技術(shù):
一般而言,儲(chǔ)存裝置主要由控制單元與數(shù)據(jù)儲(chǔ)存媒體(例如是閃存)所構(gòu)成,其中數(shù)據(jù)儲(chǔ)存媒體具有多個(gè)數(shù)據(jù)區(qū)塊(datablock),而控制單元電性耦接數(shù)據(jù)儲(chǔ)存媒體,以對(duì)上述數(shù)據(jù)區(qū)塊進(jìn)行數(shù)據(jù)之存取或擦除。
具有三階儲(chǔ)存單元(triple-levelcell,以下簡(jiǎn)稱tlc)型態(tài)的閃存因?yàn)榫哂袕?qiáng)大的數(shù)據(jù)儲(chǔ)存能力而廣泛地被使用在固態(tài)硬盤(ssd,solidstatedrive)。然而,當(dāng)控制單元欲頻繁地讀取常用的數(shù)據(jù)時(shí),其低落的數(shù)據(jù)存取速度往往成為固態(tài)硬盤的整理效能的瓶頸。
技術(shù)實(shí)現(xiàn)要素:
因此,本發(fā)明的之一目的在于提出一種儲(chǔ)存裝置,其可提高常用數(shù)據(jù)的讀取速度。
本發(fā)明的另一目的在于提出一種儲(chǔ)存裝置的控制單元,其可提高常用數(shù)據(jù)的讀取速度。
本發(fā)明的再一目的在于提出提供一種可用于儲(chǔ)存裝置的數(shù)據(jù)儲(chǔ)存方法,其可提高常用數(shù)據(jù)的讀取速度。
本發(fā)明提出一種儲(chǔ)存裝置,其包括數(shù)據(jù)儲(chǔ)存媒體與控制單元。數(shù)據(jù)儲(chǔ)存媒體具有數(shù)據(jù)儲(chǔ)存區(qū),數(shù)據(jù)儲(chǔ)存區(qū)具有多個(gè)第一數(shù)據(jù)區(qū)塊,每一第一數(shù)據(jù)區(qū)塊具有多個(gè)第一儲(chǔ)存單元,且每一第一儲(chǔ)存單元可儲(chǔ)存m個(gè)比特?cái)?shù)據(jù)??刂茊卧娦择罱訑?shù)據(jù)儲(chǔ)存媒體,且控制單元用以在對(duì)數(shù)據(jù)區(qū)塊執(zhí)行數(shù)據(jù)讀取操作時(shí),判斷數(shù)據(jù)區(qū)塊之讀取次數(shù)是否大于第一預(yù)設(shè)次數(shù),并判斷數(shù)據(jù)區(qū)塊是否為其中一第一數(shù)據(jù)區(qū)塊??刂茊卧€依據(jù)判斷之結(jié)果而自數(shù)據(jù)儲(chǔ)存區(qū)中選取多個(gè)第一數(shù)據(jù)區(qū)塊,并將選取之第一數(shù)據(jù)區(qū)塊轉(zhuǎn)換成多個(gè)其每一儲(chǔ)存單元可儲(chǔ)存n個(gè)比特?cái)?shù)據(jù)的數(shù)據(jù)區(qū)塊,以及將數(shù)據(jù)區(qū)塊中的數(shù)據(jù)搬移至選取之?dāng)?shù)據(jù)區(qū)塊中,其中n與m皆為自然數(shù),且n小于m。
本發(fā)明另提出一種控制單元,其包括控制邏輯與微處理器。控制邏輯電性耦接數(shù)據(jù)儲(chǔ)存媒體,所述數(shù)據(jù)儲(chǔ)存媒體具有數(shù)據(jù)儲(chǔ)存區(qū),數(shù)據(jù)儲(chǔ)存區(qū)具有多個(gè)第一數(shù)據(jù)區(qū)塊,每一第一數(shù)據(jù)區(qū)塊具有多個(gè)第一儲(chǔ)存單元,且每一第一儲(chǔ)存單元可儲(chǔ)存m個(gè)比特的數(shù)據(jù)。微處理器電性耦接控制邏輯,且微處理器用以在透過控制邏輯對(duì)數(shù)據(jù)區(qū)塊執(zhí)行數(shù)據(jù)讀取操作時(shí),判斷數(shù)據(jù)區(qū)塊之讀取次數(shù)是否大于第一預(yù)設(shè)次數(shù),并判斷數(shù)據(jù)區(qū)塊是否為其中之一第一數(shù)據(jù)區(qū)塊。微處理器還依據(jù)判斷之結(jié)果而自數(shù)據(jù)儲(chǔ)存區(qū)中選取多個(gè)第一數(shù)據(jù)區(qū)塊,并將選取之第一數(shù)據(jù)區(qū)塊轉(zhuǎn)換成多個(gè)其每一儲(chǔ)存單元可儲(chǔ)存n個(gè)比特?cái)?shù)據(jù)的數(shù)據(jù)區(qū)塊,以及透過控制邏輯將數(shù)據(jù)區(qū)塊中的數(shù)據(jù)搬移至選取之?dāng)?shù)據(jù)區(qū)塊中,其中n與m皆為自然數(shù),且n小于m。
本發(fā)明再提出一種可用于儲(chǔ)存裝置的數(shù)據(jù)儲(chǔ)存方法,其包括下列步驟:在對(duì)數(shù)據(jù)區(qū)塊執(zhí)行數(shù)據(jù)讀取操作時(shí),判斷數(shù)據(jù)區(qū)塊之讀取次數(shù)是否大于第一預(yù)設(shè)次數(shù),并判斷數(shù)據(jù)區(qū)塊是否為數(shù)據(jù)儲(chǔ)存區(qū)中之多個(gè)第一數(shù)據(jù)區(qū)塊的其中之一,其中每一第一數(shù)據(jù)區(qū)塊具有多個(gè)第一儲(chǔ)存單元,且每一第一儲(chǔ)存單元可儲(chǔ)存m個(gè)比特的數(shù)據(jù);以及依據(jù)判斷之結(jié)果自數(shù)據(jù)儲(chǔ)存區(qū)中選取多個(gè)第一數(shù)據(jù)區(qū)塊,并將選取之第一數(shù)據(jù)區(qū)塊轉(zhuǎn)換成多個(gè)其每一儲(chǔ)存單元可儲(chǔ)存n個(gè)比特?cái)?shù)據(jù)的數(shù)據(jù)區(qū)塊,以及將數(shù)據(jù)區(qū)塊中的數(shù)據(jù)搬移至選取之?dāng)?shù)據(jù)區(qū)塊中,其中n與m皆為自然數(shù),且n小于m。
本發(fā)明系使儲(chǔ)存裝置之控制單元在對(duì)數(shù)據(jù)區(qū)塊執(zhí)行數(shù)據(jù)讀取操作時(shí),判斷數(shù)據(jù)區(qū)塊之讀取次數(shù)是否大于第一預(yù)設(shè)次數(shù),并判斷數(shù)據(jù)區(qū)塊是否為第一數(shù)據(jù)區(qū)塊。當(dāng)皆判斷為是時(shí),控制單元便將多個(gè)第一數(shù)據(jù)區(qū)塊轉(zhuǎn)換成儲(chǔ)存容量較小但存取速度較快的多個(gè)數(shù)據(jù)區(qū)塊,并進(jìn)行數(shù)據(jù)搬移操作。因此,本發(fā)明之儲(chǔ)存裝置可提高常用數(shù)據(jù)的讀取速度。
上述說明僅是本發(fā)明技術(shù)方案的概述,為了能夠更清楚了解本發(fā)明的技術(shù)手段,而可依照說明書的內(nèi)容予以實(shí)施,并且為了讓本發(fā)明的上述和其他目的、特征和優(yōu)點(diǎn)能夠更明顯易懂,以下特舉優(yōu)選實(shí)施例,并配合附圖,詳細(xì)說明如下。
附圖說明
圖1為依照本發(fā)明一實(shí)施例之儲(chǔ)存裝置的電路方塊圖。
圖2為依照本發(fā)明一實(shí)施例之一種可用于儲(chǔ)存裝置之?dāng)?shù)據(jù)儲(chǔ)存方法的流程圖。
具體實(shí)施方式
圖1為依照本發(fā)明一實(shí)施例之儲(chǔ)存裝置的電路方塊圖。如圖1所示,儲(chǔ)存裝置100主要包括有控制單元110與數(shù)據(jù)儲(chǔ)存媒體120。此數(shù)據(jù)儲(chǔ)存媒體120包括以非揮發(fā)性內(nèi)存來實(shí)現(xiàn),例如是以閃存(flashmemory)、磁阻式隨機(jī)存取內(nèi)存(magnetoresistiveram)、相變內(nèi)存(phase-changememory)、鐵電隨機(jī)存取內(nèi)存(ferroelectricram)等具有長(zhǎng)時(shí)間數(shù)據(jù)保存能力之?dāng)?shù)據(jù)儲(chǔ)存裝置來實(shí)現(xiàn)。以下將以閃存作為數(shù)據(jù)儲(chǔ)存媒體120為例來說明本發(fā)明。
在此例中,數(shù)據(jù)儲(chǔ)存媒體120具有數(shù)據(jù)儲(chǔ)存區(qū)130與數(shù)據(jù)暫存區(qū)140。數(shù)據(jù)儲(chǔ)存區(qū)130具有多個(gè)第一數(shù)據(jù)區(qū)塊(如標(biāo)示132所示),每一第一數(shù)據(jù)區(qū)塊132具有多個(gè)第一儲(chǔ)存單元(如標(biāo)示134所示),且每一第一儲(chǔ)存單元134可儲(chǔ)存m個(gè)比特(bit)的數(shù)據(jù)。至于數(shù)據(jù)暫存區(qū)140,其具有多個(gè)第二數(shù)據(jù)區(qū)塊(如標(biāo)示142所示),每一第二數(shù)據(jù)區(qū)塊142具有多個(gè)第二儲(chǔ)存單元(如標(biāo)示144所示),每一第二儲(chǔ)存單元144可儲(chǔ)存n個(gè)比特的數(shù)據(jù),其中n與m皆為自然數(shù),且n小于m。
舉例來說,上述各第一數(shù)據(jù)區(qū)塊132可以是tlc型態(tài)的數(shù)據(jù)區(qū)塊,因此每一第一儲(chǔ)存單元134可以儲(chǔ)存三個(gè)比特的數(shù)據(jù)。在這樣的情況下,上述各第二數(shù)據(jù)區(qū)塊142可以是多階儲(chǔ)存單元(multi-levelcell,以下簡(jiǎn)稱mlc)型態(tài)的數(shù)據(jù)區(qū)塊,因此每一第二儲(chǔ)存單元144可以儲(chǔ)存二個(gè)比特的數(shù)據(jù)。又或者,在這樣的情況下,上述各第二數(shù)據(jù)區(qū)塊142可以是單階儲(chǔ)存單元(singlelevelcell,以下簡(jiǎn)稱slc)型態(tài)的數(shù)據(jù)區(qū)塊,因此每一第二儲(chǔ)存單元144可以儲(chǔ)存一個(gè)比特的數(shù)據(jù)。
當(dāng)然,上述各第一數(shù)據(jù)區(qū)塊132也可以是mlc型態(tài)的數(shù)據(jù)區(qū)塊,因此每一第一儲(chǔ)存單元134可以儲(chǔ)存二個(gè)比特的數(shù)據(jù)。在這樣的情況下,上述各第二數(shù)據(jù)區(qū)塊142可以是slc型態(tài)的數(shù)據(jù)區(qū)塊,因此每一第二儲(chǔ)存單元144可以儲(chǔ)存一個(gè)比特的數(shù)據(jù)。
另外,上述各第一數(shù)據(jù)區(qū)塊132以及上述各第二數(shù)據(jù)區(qū)塊142可以是相同型態(tài)的數(shù)據(jù)區(qū)塊,例如:皆為tlc或mcl型態(tài)的數(shù)據(jù)區(qū)塊。然而在使用上可將上述各第二數(shù)據(jù)區(qū)塊142切換為另一種型態(tài)(另一種模式)的數(shù)據(jù)區(qū)塊,例如:slc模式的數(shù)據(jù)區(qū)塊??梢岳斫獾?,由于物理上的限制,當(dāng)上述各第二數(shù)據(jù)區(qū)塊142切換為另一種模式的數(shù)據(jù)區(qū)塊,并不表示上述各第二數(shù)據(jù)區(qū)塊142的所有效能跟原本的slc型態(tài)的數(shù)據(jù)區(qū)塊相同。
理論上而言,tlc型態(tài)之?dāng)?shù)據(jù)區(qū)塊所能儲(chǔ)存的數(shù)據(jù)量是slc型態(tài)之?dāng)?shù)據(jù)區(qū)塊所能儲(chǔ)存的數(shù)據(jù)量的三倍。當(dāng)tlc型態(tài)的數(shù)據(jù)區(qū)塊被切換為slc模式的數(shù)據(jù)區(qū)塊時(shí),其數(shù)據(jù)儲(chǔ)存量將只有預(yù)設(shè)的三分之一,換句話說,三個(gè)被切換為slc模式的數(shù)據(jù)區(qū)塊才能提供一個(gè)原本tlc型態(tài)的數(shù)據(jù)區(qū)塊的數(shù)據(jù)儲(chǔ)存量,然而,slc模式的數(shù)據(jù)區(qū)塊可提供較佳的數(shù)據(jù)存取能力。
為了簡(jiǎn)化說明,第一數(shù)據(jù)區(qū)塊132皆采用tlc型態(tài)的數(shù)據(jù)區(qū)塊,其功能上是用來儲(chǔ)存數(shù)據(jù),第二數(shù)據(jù)區(qū)塊142皆采用slc型態(tài)的數(shù)據(jù)區(qū)塊,由于具有快速寫入的特質(zhì),其功能上是用來作數(shù)據(jù)緩沖器(buffer),以此架構(gòu)為例,來說明本發(fā)明。
請(qǐng)?jiān)賲⒄請(qǐng)D1,控制單元110系電性耦接數(shù)據(jù)儲(chǔ)存媒體120,并用以控制數(shù)據(jù)儲(chǔ)存媒體120的操作(例如進(jìn)行數(shù)據(jù)的存取或擦除)。在此例中,控制單元110包括有接口邏輯112、微處理器114與控制邏輯116。微處理器114系電性耦接接口邏輯112,用以透過接口邏輯112接收來自主機(jī)(例如是計(jì)算機(jī)、手機(jī)、數(shù)字相機(jī)等具運(yùn)算功能的電子裝置,未繪示)之命令或數(shù)據(jù),例如:寫入命令、讀取命令、抺除命令等。此外,微處理器114還透過控制邏輯116電性耦接數(shù)據(jù)儲(chǔ)存媒體120,并用以透過控制邏輯116對(duì)數(shù)據(jù)儲(chǔ)存媒體120進(jìn)行數(shù)據(jù)之存取,或進(jìn)行數(shù)據(jù)之擦除。
圖2為依照本發(fā)明一實(shí)施例之一種可用于儲(chǔ)存裝置之?dāng)?shù)據(jù)儲(chǔ)存方法的流程圖。請(qǐng)同時(shí)參照?qǐng)D1與圖2。當(dāng)微處理器114透過接口邏輯112接收來自主機(jī)之讀取命令,或者由微處理器114自行發(fā)起數(shù)據(jù)讀取操作,例如進(jìn)行垃圾收集(garbagecollection)所自行發(fā)起之?dāng)?shù)據(jù)讀取操作,并據(jù)以透過控制邏輯116對(duì)數(shù)據(jù)儲(chǔ)存媒體120中的某一數(shù)據(jù)區(qū)塊執(zhí)行數(shù)據(jù)讀取操作時(shí),微處理器114就會(huì)啟動(dòng)圖2所示之操作流程。
在開始執(zhí)行數(shù)據(jù)讀取操作(如步驟s202所示)之后,微處理器114會(huì)去判斷目前正在執(zhí)行數(shù)據(jù)讀取操作的數(shù)據(jù)區(qū)塊的讀取次數(shù)(readcount)是否大于第一預(yù)設(shè)次數(shù)(如步驟s204所示),以便判斷此數(shù)據(jù)區(qū)塊中所儲(chǔ)存的數(shù)據(jù)是否為常用數(shù)據(jù)。當(dāng)判斷為否時(shí),微處理器114便直接結(jié)束此流程(如步驟s220所示)。反之,當(dāng)判斷為是時(shí),微處理器114便會(huì)判斷目前這個(gè)數(shù)據(jù)區(qū)塊是否為第一數(shù)據(jù)區(qū)塊(如步驟s206所示),以此例來說就是判斷目前這個(gè)數(shù)據(jù)區(qū)塊是否為tlc型態(tài)的數(shù)據(jù)區(qū)塊。
在步驟s206中,當(dāng)判斷為否時(shí),微處理器114便執(zhí)行第二數(shù)據(jù)區(qū)塊142之?dāng)?shù)據(jù)搬移操作(如步驟s208所示),以此例來說就是執(zhí)行第二數(shù)據(jù)區(qū)塊142之?dāng)?shù)據(jù)搬移至另一第二數(shù)據(jù)區(qū)塊142或第一數(shù)據(jù)區(qū)塊132。而在執(zhí)行完步驟s208后,微處理器114便結(jié)束此流程(如步驟s220所示)。反之,在步驟s206中,當(dāng)判斷為是時(shí),微處理器114便會(huì)判斷數(shù)據(jù)儲(chǔ)存區(qū)130中所儲(chǔ)存的數(shù)據(jù)量是否小于預(yù)設(shè)數(shù)據(jù)量(如步驟s210所示),或判斷數(shù)據(jù)儲(chǔ)存區(qū)130的未使用數(shù)據(jù)區(qū)塊的數(shù)目是否大于預(yù)設(shè)值,上述二種判斷方式皆可以用判斷數(shù)據(jù)儲(chǔ)存區(qū)130是否有足夠的第一數(shù)據(jù)區(qū)塊可供切換為slc模式的數(shù)據(jù)區(qū)塊。
預(yù)設(shè)數(shù)據(jù)量可為介于5%至95%的總體數(shù)據(jù)儲(chǔ)存量,較佳值介于50%至90%總體數(shù)據(jù)儲(chǔ)存量。以90%總體數(shù)據(jù)儲(chǔ)存量為例,這表示數(shù)據(jù)儲(chǔ)存區(qū)130中有90%的第一數(shù)據(jù)區(qū)塊132可用來儲(chǔ)存數(shù)據(jù),有10%的第一數(shù)據(jù)區(qū)塊132可以切換至slc模式的數(shù)據(jù)區(qū)塊。此外,用戶可透過軟件來執(zhí)行上述模式的切換,使tlc型態(tài)之?dāng)?shù)據(jù)區(qū)塊中的儲(chǔ)存單元由儲(chǔ)存三個(gè)位限制成儲(chǔ)存一個(gè)位,切換至slc模式之?dāng)?shù)據(jù)區(qū)塊。
在步驟s210中,當(dāng)判斷為否時(shí),微處理器114便會(huì)透過控制邏輯116執(zhí)行第一數(shù)據(jù)區(qū)塊132之?dāng)?shù)據(jù)搬移操作。來將目前第一數(shù)據(jù)區(qū)塊中的數(shù)據(jù)搬移至另一個(gè)第一數(shù)據(jù)區(qū)塊132中(如步驟s214所示),以此例來說就是將目前這個(gè)數(shù)據(jù)區(qū)塊中的數(shù)據(jù)搬移至另一個(gè)tlc型態(tài)的空白數(shù)據(jù)區(qū)塊中。另外,微處理器114可透過控制邏輯116對(duì)目前第一數(shù)據(jù)區(qū)塊執(zhí)行垃圾收集,以降低數(shù)據(jù)儲(chǔ)存區(qū)130中的第一數(shù)據(jù)區(qū)塊132的使用量。而在執(zhí)行完步驟s214后,微處理器114便結(jié)束此流程(如步驟s220所示)。反之,在步驟s210中,當(dāng)判斷為是時(shí),微處理器114便會(huì)判斷數(shù)據(jù)儲(chǔ)存區(qū)130中之第一數(shù)據(jù)區(qū)塊132的平均寫入/擦除次數(shù)(program/erasecount,p/ecount)是否小于第二預(yù)定次數(shù)(如步驟s212所示),以此例來說就是判斷tlc型態(tài)之?dāng)?shù)據(jù)區(qū)塊的平均寫入/擦除次數(shù)是否小于2000次。由于第一數(shù)據(jù)區(qū)塊132的寫入/擦除次數(shù)超過一特定的數(shù)值后,例如2500次,其數(shù)據(jù)儲(chǔ)存能力將明顯地降低。由于將第一數(shù)據(jù)區(qū)塊132切換至slc模式之?dāng)?shù)據(jù)區(qū)塊后,其寫入/擦除次數(shù)可能會(huì)明顯地增加而超過特定的數(shù)值,造成其使用壽命的降低,步驟s212可避免上述情況之發(fā)生。
在步驟s212中,當(dāng)判斷為否時(shí),微處理器114便會(huì)執(zhí)行步驟s214所示操作,并在執(zhí)行完步驟s214后結(jié)束此流程(如步驟s220所示)。反之,在步驟s212中,當(dāng)判斷為是時(shí),微處理器114便自數(shù)據(jù)儲(chǔ)存區(qū)130中選取多個(gè)第一數(shù)據(jù)區(qū)塊132,并將選取之第一數(shù)據(jù)區(qū)塊132切換至slc模式的數(shù)據(jù)區(qū)塊(如步驟s216所示),以此例來說就是自數(shù)據(jù)儲(chǔ)存區(qū)130中選取三個(gè)tlc型態(tài)的第一數(shù)據(jù)區(qū)塊132,并將所選的這三個(gè)tlc型態(tài)的數(shù)據(jù)區(qū)塊切換至slc模式。
接著,微處理器114便透過控制邏輯116將目前這個(gè)數(shù)據(jù)區(qū)塊中的數(shù)據(jù)搬移至切換至slc模式的數(shù)據(jù)區(qū)塊中(如步驟s218所示),以此例來說就是將目前這個(gè)第一數(shù)據(jù)區(qū)塊132中的數(shù)據(jù)搬移至已切換至slc模式的三個(gè)數(shù)據(jù)區(qū)塊中。而在執(zhí)行完步驟s218后,微處理器114便結(jié)束此流程(如步驟s220所示)。
相較于tlc型態(tài)之第一數(shù)據(jù)區(qū)塊132,雖然切換至slc模式的數(shù)據(jù)區(qū)塊的數(shù)據(jù)儲(chǔ)存容量降低,然其數(shù)據(jù)的存取速度卻增加,因此在經(jīng)過上述操作后,本發(fā)明之儲(chǔ)存裝置便能提高對(duì)常用數(shù)據(jù)的讀取速度。值得一提的是,圖2所示之步驟的順序僅是用以舉例,并非用以限制本發(fā)明。舉例來說,使用者可將步驟s210與s212的順序?qū)φ{(diào),此仍不影響本發(fā)明之實(shí)現(xiàn)。另外,若欲再提高執(zhí)行速度,可省略步驟s210之執(zhí)行。
綜上所述,本發(fā)明系使儲(chǔ)存裝置之控制單元在對(duì)數(shù)據(jù)區(qū)塊執(zhí)行數(shù)據(jù)讀取操作時(shí),判斷數(shù)據(jù)區(qū)塊之讀取次數(shù)是否大于第一預(yù)設(shè)次數(shù),并判斷數(shù)據(jù)區(qū)塊是否為第一數(shù)據(jù)區(qū)塊。當(dāng)皆判斷為是時(shí),控制單元便將多個(gè)第一數(shù)據(jù)區(qū)塊轉(zhuǎn)換成儲(chǔ)存容量較小但存取速度較快的多個(gè)slc模式的數(shù)據(jù)區(qū)塊,并進(jìn)行數(shù)據(jù)搬移操作。因此,本發(fā)明之儲(chǔ)存裝置可提高常用數(shù)據(jù)的讀取速度。
雖然本發(fā)明以前述的實(shí)施例揭露如上,然其并非用以限定本發(fā)明,任何熟習(xí)此技藝者,在不脫離本發(fā)明的精神和范圍內(nèi),當(dāng)可作些許的更動(dòng)與潤(rùn)飾,因此本發(fā)明的專利保護(hù)范圍須視本說明書所附的申請(qǐng)專利范圍所界定者為準(zhǔn)。