[go: up one dir, main page]

TWI682395B - 固態硬碟的未映射位址的重導向方法 - Google Patents

固態硬碟的未映射位址的重導向方法 Download PDF

Info

Publication number
TWI682395B
TWI682395B TW108104149A TW108104149A TWI682395B TW I682395 B TWI682395 B TW I682395B TW 108104149 A TW108104149 A TW 108104149A TW 108104149 A TW108104149 A TW 108104149A TW I682395 B TWI682395 B TW I682395B
Authority
TW
Taiwan
Prior art keywords
address
pages
block
data
unmapped
Prior art date
Application number
TW108104149A
Other languages
English (en)
Other versions
TW202030733A (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 TW108104149A priority Critical patent/TWI682395B/zh
Application granted granted Critical
Publication of TWI682395B publication Critical patent/TWI682395B/zh
Publication of TW202030733A publication Critical patent/TW202030733A/zh

Links

Images

Landscapes

  • Memory System (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

本發明係揭露一種固態硬碟的未映射位址的重導向方法,提供一個NAND記憶體。該NAND記憶體有若干區塊,且每個區塊有若干頁。從該NAND記憶體的區塊選一個區塊。從被選的區塊選若干頁當作「0」的專用頁,且將其資料寫為「0」,並另選若干頁當作「1」的專用頁,且將其資料寫為「1」。從主機接收一個讀取固態硬碟的某位址的資料的要求,隨後判斷這位址是否一個未映射位址。若這位址是未映射位址,則從「0」或「1」的專用頁傳「0」或「1」給主機。

Description

固態硬碟的未映射位址的重導向方法
本發明關於固態硬碟,特別是固態硬碟的未映射位址的重導向方法。
當一個主機(host)要從一個固態硬碟(solid state drive或SSD)的未映射位址(unmapped addresses)讀資料,主機就要求固態硬碟提供「0」或「1」。為應付主機的要求,就把在NAND記憶體的一部分(「0」的專用部)裡的資料全寫為「0」,並把在NAND記憶體的另外一部分(「1」的專用部)裡的資料全寫為「1」。每一次主機要讀一個未映射位址的資料,若主機要求以「0」當作未映射位址的資料,則從「0」的專用部傳「0」給主機,若主機要求以「1」當作未映射資料,則從「1」的專用部傳「1」給主機。這種程序被稱為重導向(redirecting)。
參考第4圖,依一傳統方式,用NAND記憶體的一個區塊(block)的第一頁(page)當作「0」的專用部,並用NAND記憶體的同一個區塊的第二頁當作「1」的專用部。在主機要求下,可能從NAND記憶體的「0」的專用部或「1」的專用部,讀很多次資料。這必然導致”read disturb”,亦即從一頁讀資料的次數達一個值時,整個NAND記憶體就會失效,即使很少用NAND記憶體的其他頁。
參考第5圖,依另一傳統方式,用固態硬碟的一 個隨機存取記憶體(RAM)的第一個緩衝區當作「0」的專用部,並用隨機存取記憶體的第二個緩衝區當作「1」的專用部。如此,就避免”read disturb”。然而,為用隨機存取記憶體來處理重導向,就導致一些問題。首先,須使用容量較大的隨機存取記憶體,這不可避免地增加成本。其次,因可能從隨機存取記憶體或NAND記憶體讀取資料,這增加軟體設計的複雜度。
有鑑於習知技藝之上述問題,本發明之目的在於提供一種有效且省錢的固態硬碟的未映射位址的重導向方法。
為達成上述目的,在本發明的固態硬碟的未映射位址的重導向方法中,提供一個NAND記憶體。該NAND記憶體有若干區塊,且每個區塊有若干頁。從該NAND記憶體的區塊選一個區塊。從被選的區塊選若干頁當作「0」的專用頁,且將其資料寫為「0」,並另選若干頁當作「1」的專用頁,且將其資料寫為「1」。從主機接收一個讀取固態硬碟的某位址的資料的要求,隨後判斷這位址是否一個未映射位址。若這位址是一個未映射位址,則從「0」或「1」的專用頁傳「0」或「1」給主機。
10‧‧‧固態硬碟資料貯存裝置
Core 0,Core 1‧‧‧中央處理單元
12‧‧‧NAND記憶體
14‧‧‧元資料
16‧‧‧NAND快閃記憶體控制器
18‧‧‧快閃記憶體轉換層
20‧‧‧後端
22‧‧‧前端
24‧‧‧資料快取
26‧‧‧主機
S10~S28‧‧‧步驟
第1圖是一個固態硬碟的方塊圖;第2圖是本發明的較佳實施例的固態硬碟的未映射位址的重導向方法的流程圖,此方法被用於第1圖所示的資料貯存裝置;第3圖是以第2圖所示的方法管理下,NAND記憶體的方 塊圖;第4圖是以一種傳統的固態硬碟的未映射位址的重導向方法下的資料貯存裝置的方塊圖;及第5圖是以另一種傳統的固態硬碟的未映射位址的重導向方法下的資料貯存裝置的方塊圖。
以下參考相關圖式說明本發明的固態硬碟的未映射位址的重導向方法的較佳實施例。為便於理解本發明,以下用相同符號標示相同元件。
參考第1圖,一個固態硬碟10包括兩個中央處理單元(CPU)及一個NAND記憶體12。這兩個中央處理單元被稱為Core 0及Core 1。
中央處理單元Core 0執行若干韌體,例如元資料(system metadata或SysMeta)14、NAND快閃記憶體控制器(NAND flash controller;NFC)16、快閃記憶體轉換層(flash translation layer或FTL)18、及後端(back end或BE)20。
中央處理單元Core 1執行若干韌體,例如前端(front end或FE)22資料及快取(data cache或DC)24。
NAND記憶體12有許多區塊(block),每個區塊有許多頁(page)。在較佳實施例中,這些區塊組成N群,每群有若干區塊。在另一實施例中,不以這些區塊組成若干群。
參考第2圖,本發明的較佳實施例的固態硬碟的未映射位址的重導向方法(「程序」)被用於第1圖所示的固態硬碟10。
參考第2圖及第3圖,在S10,程序開始。
在S12,執行元資料14而從這N群選一群。
在S14,元資料14呼叫NAND快閃記憶體控制器16,從被選的這群的許多頁,選M/2頁並把它們的資料寫為「0」,並另外選M/2頁且把它們的資料寫為「1」。為方便描述,稱這M頁為「專用頁」,稱載滿「0」的M/2頁為「0」的專用頁,稱載滿「1」的M/2頁為「1」的專用頁,稱其餘頁為「普通頁」。當選用一群時,就用這群的普通頁貯存資料,亦即把資料寫入這群的普通頁。
在S16,前端22從主機26接收一個讀資料的要求。這要求包括一個邏輯位址(「原始邏輯位址」)。因此,前端22準備且傳送一個請求(request)到資料快取24。。
在S18,從前端22收到請求後,資料快取24準備並傳送一個請求到快閃記憶體轉換層18。
在S20,從資料快取24收到請求後,快閃記憶體轉換層18將原始邏輯位址轉換成原始實體位址,並傳送一個請求到後端20。
在S22,後端20判斷原始實體位址是否一個未映射位址。
若原始實體位址不是未映射位址,則程序直接走到S24,且原始實體位址被傳到NAND快閃記憶體控制器16。
若原始實體位址是未映射位址,則程序先走到S23,後走到S24。
在S23,後端20向元資料14取得一個重導向實體位址,並以重導向實體位址取代原始實體位址。並把重導向實體位址傳到NAND快閃記憶體控制器16。
在S24,NAND快閃記憶體控制器16從原始實體 位址或重導向實體位址,把「0」、「1」或其他資料傳到主機26。
在S26,判斷這群的全部普通頁的是否被寫滿。若是,則程序走到S27,否則程序走到S28。
在S27,元資料14選另一群。
在S28,程序結束。
與先前技藝相比,本發明有幾個優點。第一,壽命長。用M乘N專用頁貯存「0」及「1」,故不易發生”read disturb”。第二,成本低,固態硬碟10不佔用隨機存取記憶體的容量,故不必用容量大且貴的隨機存取記憶體。第三,軟體複雜度低,因資料的來源只有NAND記憶體12。
以上僅為描述本發明的較佳實施方式,非用以限定本發明的範圍。本技術領域內的一般技術人員根據上述實施例所作的均等變化,以及本領域內技術人員熟知的改變,仍在本發明的範圍內。
10‧‧‧固態硬碟資料貯存裝置
12‧‧‧NAND記憶體
14‧‧‧元資料
16‧‧‧NAND快閃記憶體控制器
18‧‧‧快閃記憶體轉換層
20‧‧‧後端
22‧‧‧前端
24‧‧‧資料快取
26‧‧‧主機

Claims (4)

  1. 一種固態硬碟的未映射位址的重導向方法,包括以下步驟:提供一個NAND記憶體,其中該NAND記憶體有若干區塊,且每個區塊有若干頁;從該NAND記憶體的區塊選一個區塊;從被選的該區塊選若干頁當作「0」的專用頁,且將其資料全寫為「0」,並從被選的該區塊另外選若干頁當作「1」的專用頁,且將其資料全寫為「1」,其他頁當作普通頁;從一主機(26)接收一個讀取固態硬碟(10)的一位址的資料的要求;並判斷該位址是否一個未映射位址;若該位址是一個未映射位址,則把「0」或「1」的專用頁的「0」或「1」傳到該主機(26)。
  2. 如請求項1所述之固態硬碟的未映射位址的重導向方法,還包括以下步驟:判斷是否寫完被選的該區塊的普通頁的位元;若否,則續用該區塊;及若是,則選另一區塊。
  3. 一種固態硬碟的未映射位址的重導向方法,其中一固態硬碟包括一NAND記憶體(12)、一元資料(14)、一NAND快閃記憶體控制器(16)、一快閃記憶體轉換層(18)、一後端(20)、一前端(22)、一資料快取(24),該NAND記憶體(12)有許多區塊,且每 個區塊有若干頁,該方法包括以下步驟:(S12)執行該元資料(14)而從該些區塊選一區塊;(S14)該元資料(14)呼叫該NAND快閃記憶體控制器(16)而從被選的該區塊的許多頁選M/2頁當作「0」的專用頁,且將其資料寫為「0」,並另外選M/2頁當作「1」的專用頁,且將其資料寫為「1」,其他頁當作普通頁;(S16)該前端(22)從一主機(26)接收一個讀資料的要求,其中這要求包括一個原始邏輯位址,且該前端(22)準備且傳送一個DC請求到該資料快取(24);(S18)該資料快取(24)準備並傳送一個FTL請求到該快閃記憶體轉換層(18);(S20)該快閃記憶體轉換層(18)將該原始邏輯位址轉換成一原始實體位址,並傳送一個請求到該後端(20);(S22)該後端(20)判斷該原始實體位址是否一個未映射位址;(S24)若該原始實體位址非未映射位址,則把該原始實體位址傳到該NAND快閃記憶體控制器(16);(S23)若該原始實體位址是未映射位址,則該後端(20)向該元資料(14)取得一個重導向實體位址,取代該原始實體位址,並把該重導向實體位址傳到該NAND快閃記憶體控制器(16);(S24)該NAND快閃記憶體控制器(16)從該原始實體位址或 該重導向實體位址,把「0」、「1」或其他資料傳到該主機(26)。
  4. 如請求項3所述之固態硬碟的未映射位址的重導向方法,還包括以下步驟:(S26)判斷是否寫滿該區塊的普通頁;(S27)若是,則該元資料(14)選另一群。(S28)否則程序結束。
TW108104149A 2019-02-01 2019-02-01 固態硬碟的未映射位址的重導向方法 TWI682395B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
TW108104149A TWI682395B (zh) 2019-02-01 2019-02-01 固態硬碟的未映射位址的重導向方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW108104149A TWI682395B (zh) 2019-02-01 2019-02-01 固態硬碟的未映射位址的重導向方法

Publications (2)

Publication Number Publication Date
TWI682395B true TWI682395B (zh) 2020-01-11
TW202030733A TW202030733A (zh) 2020-08-16

Family

ID=69942968

Family Applications (1)

Application Number Title Priority Date Filing Date
TW108104149A TWI682395B (zh) 2019-02-01 2019-02-01 固態硬碟的未映射位址的重導向方法

Country Status (1)

Country Link
TW (1) TWI682395B (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1995016963A1 (en) * 1993-12-15 1995-06-22 Silicon Graphics, Inc. Variable page size translation lookaside buffer
US20040268116A1 (en) * 2003-06-30 2004-12-30 Vasisht Virender K Fault tolerant recovery block with reduced flash footprint
US7461213B2 (en) * 2002-10-08 2008-12-02 Rmi Corporation Advanced processor system using request, data, snoop, and response rings
US20090119089A1 (en) * 2007-10-31 2009-05-07 International Business Machines Corporation Method, apparatus and full-system simulator for speeding mmu simulation
US20130024930A1 (en) * 2011-07-20 2013-01-24 Michael Steil Executing Functions of a Secure Program in Unprivileged Mode
US20180314643A1 (en) * 2017-04-28 2018-11-01 SK Hynix Inc. Data storage device and operating method thereof

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1995016963A1 (en) * 1993-12-15 1995-06-22 Silicon Graphics, Inc. Variable page size translation lookaside buffer
US7461213B2 (en) * 2002-10-08 2008-12-02 Rmi Corporation Advanced processor system using request, data, snoop, and response rings
US20040268116A1 (en) * 2003-06-30 2004-12-30 Vasisht Virender K Fault tolerant recovery block with reduced flash footprint
US20090119089A1 (en) * 2007-10-31 2009-05-07 International Business Machines Corporation Method, apparatus and full-system simulator for speeding mmu simulation
US20130024930A1 (en) * 2011-07-20 2013-01-24 Michael Steil Executing Functions of a Secure Program in Unprivileged Mode
US20180314643A1 (en) * 2017-04-28 2018-11-01 SK Hynix Inc. Data storage device and operating method thereof

Also Published As

Publication number Publication date
TW202030733A (zh) 2020-08-16

Similar Documents

Publication Publication Date Title
US7613870B2 (en) Efficient memory usage in systems including volatile and high-density memories
US7979631B2 (en) Method of prefetching data in hard disk drive, recording medium including program to execute the method, and apparatus to perform the method
US11630766B2 (en) Memory system and operating method thereof
TWI530791B (zh) 用於改善外部計算裝置效能的調適性記憶體系統
CN106547476B (zh) 用于数据存储系统的方法和装置
US8423709B2 (en) Controller
JP4768504B2 (ja) 不揮発性フラッシュメモリを用いる記憶装置
JP5768654B2 (ja) 記憶制御装置、記憶装置、情報処理システム、および、記憶制御方法
CN102096556B (zh) 拷贝数据的方法、读取数据的方法和装置及系统
KR20150132151A (ko) 프로그램 가능한 어드레스 매핑 및 메모리 액세스 동작
JP2007241927A (ja) データ記憶装置及び方法
US10635356B2 (en) Data management method and storage controller using the same
US10013174B2 (en) Mapping system selection for data storage device
KR20220037333A (ko) 구역 네임스페이스 디바이스들에서의 판독 처리
US20160026399A1 (en) Block i/o interface for a host bus adapter that utilizes nvdram
US11494312B2 (en) Flash memory devices and prefetch methods thereof
CN101174198B (zh) 数据存储系统及其数据存取方法
CN113590506B (zh) Hmb的表项管理方法及固态硬盘的控制系统
US10083117B2 (en) Filtering write request sequences
US11822483B2 (en) Operating method of memory system including cache memory for supporting various chunk sizes
TWI682395B (zh) 固態硬碟的未映射位址的重導向方法
CN104182359A (zh) 一种缓存分配方法及装置
WO2016056290A1 (ja) メモリコントローラ、メモリシステム、記憶装置、情報処理システムおよび記憶制御方法
CN111581117A (zh) 固态硬盘的未映像地址的重导向方法
CN112463041A (zh) 一种主机读写数据的处理方法及相关装置