TWI682395B - Redirecting method of unmapped address of solid state hard disk - Google Patents
Redirecting method of unmapped address of solid state hard disk Download PDFInfo
- 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
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」給主機。 The invention discloses a method for redirecting unmapped addresses of a solid-state hard disk to provide a NAND memory. The NAND memory has several blocks, and each block has several pages. Select a block from the block of NAND memory. Select several pages from the selected block as "0" special pages, and write their data as "0", and select several pages as "1" special pages, and write their data as "1" ". Receive a request to read data from an address of a solid-state hard drive from the host, and then determine whether the address is an unmapped address. If the address is unmapped, pass "0" or "1" from the dedicated page of "0" or "1" to the host.
Description
本發明關於固態硬碟,特別是固態硬碟的未映射位址的重導向方法。 The invention relates to a solid-state hard disk, especially a method for redirecting unmapped addresses of the solid-state hard disk.
當一個主機(host)要從一個固態硬碟(solid state drive或SSD)的未映射位址(unmapped addresses)讀資料,主機就要求固態硬碟提供「0」或「1」。為應付主機的要求,就把在NAND記憶體的一部分(「0」的專用部)裡的資料全寫為「0」,並把在NAND記憶體的另外一部分(「1」的專用部)裡的資料全寫為「1」。每一次主機要讀一個未映射位址的資料,若主機要求以「0」當作未映射位址的資料,則從「0」的專用部傳「0」給主機,若主機要求以「1」當作未映射資料,則從「1」的專用部傳「1」給主機。這種程序被稱為重導向(redirecting)。 When a host wants to read data from unmapped addresses of a solid state drive (SSD), the host requires the solid state drive to provide "0" or "1". In order to cope with the request of the host, all the data in a part of NAND memory (dedicated part of "0") is written as "0", and in another part of NAND memory (dedicated part of "1") The information of is written as "1". Each time the host needs to read the data of an unmapped address, if the host requires "0" as the data of the unmapped address, the "0" is passed from the dedicated part of "0" to the host, if the host requests "1" "As unmapped data, "1" is passed from the dedicated part of "1" to the host. This procedure is called redirecting.
參考第4圖,依一傳統方式,用NAND記憶體的一個區塊(block)的第一頁(page)當作「0」的專用部,並用NAND記憶體的同一個區塊的第二頁當作「1」的專用部。在主機要求下,可能從NAND記憶體的「0」的專用部或「1」的專用部,讀很多次資料。這必然導致”read disturb”,亦即從一頁讀資料的次數達一個值時,整個NAND記憶體就會失效,即使很少用NAND記憶體的其他頁。 Referring to FIG. 4, in a conventional manner, the first page of a block of NAND memory is used as a dedicated part of "0", and the second page of the same block of NAND memory is used Used as a dedicated part of "1". At the request of the host, the data may be read many times from the dedicated part of "0" or the dedicated part of "1" of the NAND memory. This will inevitably lead to "read disturb", that is, when the number of data reads from a page reaches a value, the entire NAND memory will fail, even if other pages of the NAND memory are rarely used.
參考第5圖,依另一傳統方式,用固態硬碟的一 個隨機存取記憶體(RAM)的第一個緩衝區當作「0」的專用部,並用隨機存取記憶體的第二個緩衝區當作「1」的專用部。如此,就避免”read disturb”。然而,為用隨機存取記憶體來處理重導向,就導致一些問題。首先,須使用容量較大的隨機存取記憶體,這不可避免地增加成本。其次,因可能從隨機存取記憶體或NAND記憶體讀取資料,這增加軟體設計的複雜度。 Referring to Figure 5, in another traditional way, a solid-state drive is used The first buffer of random access memory (RAM) is used as a dedicated part of "0", and the second buffer of random access memory is used as a dedicated part of "1". In this way, avoid "read disturb". However, in order to use random access memory to handle redirection, it causes some problems. First, it is necessary to use a random access memory with a large capacity, which inevitably increases costs. Secondly, the possibility of reading data from random access memory or NAND memory increases the complexity of software design.
有鑑於習知技藝之上述問題,本發明之目的在於提供一種有效且省錢的固態硬碟的未映射位址的重導向方法。 In view of the above-mentioned problems of the conventional art, the object of the present invention is to provide an effective and cost-effective method for redirecting unmapped addresses of solid state hard disks.
為達成上述目的,在本發明的固態硬碟的未映射位址的重導向方法中,提供一個NAND記憶體。該NAND記憶體有若干區塊,且每個區塊有若干頁。從該NAND記憶體的區塊選一個區塊。從被選的區塊選若干頁當作「0」的專用頁,且將其資料寫為「0」,並另選若干頁當作「1」的專用頁,且將其資料寫為「1」。從主機接收一個讀取固態硬碟的某位址的資料的要求,隨後判斷這位址是否一個未映射位址。若這位址是一個未映射位址,則從「0」或「1」的專用頁傳「0」或「1」給主機。 To achieve the above objective, in the method for redirecting unmapped addresses of a solid state drive of the present invention, a NAND memory is provided. The NAND memory has several blocks, and each block has several pages. Select a block from the block of NAND memory. Select several pages from the selected block as "0" special pages, and write their data as "0", and select several pages as "1" special pages, and write their data as "1" ". Receive a request to read data from an address of a solid-state hard drive from the host, and then determine whether the address is an unmapped address. If this address is an unmapped address, pass "0" or "1" from the dedicated page of "0" or "1" to the host.
10‧‧‧固態硬碟資料貯存裝置 10‧‧‧Solid hard disk data storage device
Core 0,Core 1‧‧‧中央處理單元
12‧‧‧NAND記憶體 12‧‧‧NAND memory
14‧‧‧元資料 14‧‧‧ metadata
16‧‧‧NAND快閃記憶體控制器 16‧‧‧NAND flash memory controller
18‧‧‧快閃記憶體轉換層 18‧‧‧Flash memory conversion layer
20‧‧‧後端 20‧‧‧back
22‧‧‧前端 22‧‧‧Front end
24‧‧‧資料快取 24‧‧‧Data cache
26‧‧‧主機 26‧‧‧Host
S10~S28‧‧‧步驟 S10~S28‧‧‧Step
第1圖是一個固態硬碟的方塊圖;第2圖是本發明的較佳實施例的固態硬碟的未映射位址的重導向方法的流程圖,此方法被用於第1圖所示的資料貯存裝置;第3圖是以第2圖所示的方法管理下,NAND記憶體的方 塊圖;第4圖是以一種傳統的固態硬碟的未映射位址的重導向方法下的資料貯存裝置的方塊圖;及第5圖是以另一種傳統的固態硬碟的未映射位址的重導向方法下的資料貯存裝置的方塊圖。 Figure 1 is a block diagram of a solid state drive; Figure 2 is a flowchart of a method for redirecting unmapped addresses of a solid state drive according to a preferred embodiment of the present invention. This method is used in Figure 1 Data storage device; Figure 3 is based on the method shown in Figure 2, managed by NAND memory Block diagram; Figure 4 is a block diagram of a data storage device under a traditional solid-state hard disk unmapped address redirection method; and Figure 5 is another traditional solid-state hard disk unmapped address Block diagram of the data storage device under the redirection method.
以下參考相關圖式說明本發明的固態硬碟的未映射位址的重導向方法的較佳實施例。為便於理解本發明,以下用相同符號標示相同元件。 The preferred embodiment of the unmapped address redirection method of the solid state drive of the present invention is described below with reference to related drawings. In order to facilitate the understanding of the present invention, the same symbols are used for the same elements.
參考第1圖,一個固態硬碟10包括兩個中央處理單元(CPU)及一個NAND記憶體12。這兩個中央處理單元被稱為Core 0及Core 1。
Referring to FIG. 1, a solid-state
中央處理單元Core 0執行若干韌體,例如元資料(system metadata或SysMeta)14、NAND快閃記憶體控制器(NAND flash controller;NFC)16、快閃記憶體轉換層(flash translation layer或FTL)18、及後端(back end或BE)20。
The central
中央處理單元Core 1執行若干韌體,例如前端(front end或FE)22資料及快取(data cache或DC)24。
The central
NAND記憶體12有許多區塊(block),每個區塊有許多頁(page)。在較佳實施例中,這些區塊組成N群,每群有若干區塊。在另一實施例中,不以這些區塊組成若干群。
The
參考第2圖,本發明的較佳實施例的固態硬碟的未映射位址的重導向方法(「程序」)被用於第1圖所示的固態硬碟10。
Referring to FIG. 2, the unmapped address redirection method (“program”) of the solid state drive of the preferred embodiment of the present invention is used for the
參考第2圖及第3圖,在S10,程序開始。 Referring to Figure 2 and Figure 3, at S10, the procedure starts.
在S12,執行元資料14而從這N群選一群。
At S12, the
在S14,元資料14呼叫NAND快閃記憶體控制器16,從被選的這群的許多頁,選M/2頁並把它們的資料寫為「0」,並另外選M/2頁且把它們的資料寫為「1」。為方便描述,稱這M頁為「專用頁」,稱載滿「0」的M/2頁為「0」的專用頁,稱載滿「1」的M/2頁為「1」的專用頁,稱其餘頁為「普通頁」。當選用一群時,就用這群的普通頁貯存資料,亦即把資料寫入這群的普通頁。
At S14, the
在S16,前端22從主機26接收一個讀資料的要求。這要求包括一個邏輯位址(「原始邏輯位址」)。因此,前端22準備且傳送一個請求(request)到資料快取24。。
At S16, the
在S18,從前端22收到請求後,資料快取24準備並傳送一個請求到快閃記憶體轉換層18。
At S18, after receiving the request from the
在S20,從資料快取24收到請求後,快閃記憶體轉換層18將原始邏輯位址轉換成原始實體位址,並傳送一個請求到後端20。
In S20, after receiving the request from the
在S22,後端20判斷原始實體位址是否一個未映射位址。
At S22, the
若原始實體位址不是未映射位址,則程序直接走到S24,且原始實體位址被傳到NAND快閃記憶體控制器16。
If the original physical address is not an unmapped address, the procedure goes directly to S24, and the original physical address is transferred to the NAND
若原始實體位址是未映射位址,則程序先走到S23,後走到S24。 If the original physical address is an unmapped address, the program first goes to S23 and then to S24.
在S23,後端20向元資料14取得一個重導向實體位址,並以重導向實體位址取代原始實體位址。並把重導向實體位址傳到NAND快閃記憶體控制器16。
At S23, the
在S24,NAND快閃記憶體控制器16從原始實體
位址或重導向實體位址,把「0」、「1」或其他資料傳到主機26。
At S24, the NAND
在S26,判斷這群的全部普通頁的是否被寫滿。若是,則程序走到S27,否則程序走到S28。 At S26, it is judged whether all the general pages of this group are full. If yes, the program goes to S27, otherwise the program goes to S28.
在S27,元資料14選另一群。
At S27, the
在S28,程序結束。 At S28, the procedure ends.
與先前技藝相比,本發明有幾個優點。第一,壽命長。用M乘N專用頁貯存「0」及「1」,故不易發生”read disturb”。第二,成本低,固態硬碟10不佔用隨機存取記憶體的容量,故不必用容量大且貴的隨機存取記憶體。第三,軟體複雜度低,因資料的來源只有NAND記憶體12。
Compared with the prior art, the present invention has several advantages. First, long life. "M" and "N" special pages are used to store "0" and "1", so "read disturb" is not likely to occur. Second, the cost is low, and the
以上僅為描述本發明的較佳實施方式,非用以限定本發明的範圍。本技術領域內的一般技術人員根據上述實施例所作的均等變化,以及本領域內技術人員熟知的改變,仍在本發明的範圍內。 The above are merely preferred embodiments for describing the present invention, and are not intended to limit the scope of the present invention. Equal changes made by a person of ordinary skill in the art based on the above embodiments, as well as changes well known to those skilled in the art, are still within the scope of the present invention.
10‧‧‧固態硬碟資料貯存裝置 10‧‧‧Solid hard disk data storage device
12‧‧‧NAND記憶體 12‧‧‧NAND memory
14‧‧‧元資料 14‧‧‧ metadata
16‧‧‧NAND快閃記憶體控制器 16‧‧‧NAND flash memory controller
18‧‧‧快閃記憶體轉換層 18‧‧‧Flash memory conversion layer
20‧‧‧後端 20‧‧‧back
22‧‧‧前端 22‧‧‧Front end
24‧‧‧資料快取 24‧‧‧Data cache
26‧‧‧主機 26‧‧‧Host
Claims (4)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW108104149A TWI682395B (en) | 2019-02-01 | 2019-02-01 | Redirecting method of unmapped address of solid state hard disk |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW108104149A TWI682395B (en) | 2019-02-01 | 2019-02-01 | Redirecting method of unmapped address of solid state hard disk |
Publications (2)
Publication Number | Publication Date |
---|---|
TWI682395B true TWI682395B (en) | 2020-01-11 |
TW202030733A TW202030733A (en) | 2020-08-16 |
Family
ID=69942968
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW108104149A TWI682395B (en) | 2019-02-01 | 2019-02-01 | Redirecting method of unmapped address of solid state hard disk |
Country Status (1)
Country | Link |
---|---|
TW (1) | TWI682395B (en) |
Citations (6)
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 |
-
2019
- 2019-02-01 TW TW108104149A patent/TWI682395B/en active
Patent Citations (6)
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 (en) | 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 | |
TWI530791B (en) | Adaptive memory system for enhancing the performance of an external computing device | |
JP4768504B2 (en) | Storage device using nonvolatile flash memory | |
JP6142081B2 (en) | Volatile memory architecture and related controllers in non-volatile memory devices | |
CN106547476B (en) | Method and apparatus for data storage system | |
KR102688570B1 (en) | Memory System and Operation Method thereof | |
US8423709B2 (en) | Controller | |
CN102096556B (en) | Method for copying data as well as method, device and system for reading data | |
JP2007241927A (en) | Data storage device and method | |
JP5768654B2 (en) | Storage control device, storage device, information processing system, and storage control method | |
US20220083256A1 (en) | Read Handling in Zoned Namespace Devices | |
KR20150132151A (en) | Programmable address mapping and memory access operations | |
US8850115B2 (en) | Memory package utilizing at least two types of memories | |
US10635356B2 (en) | Data management method and storage controller using the same | |
KR20220060548A (en) | Accessing stored metadata to identify the memory device where the data is stored | |
US10013174B2 (en) | Mapping system selection for data storage device | |
US20160026399A1 (en) | Block i/o interface for a host bus adapter that utilizes nvdram | |
CN111651371A (en) | Asymmetric plane management method, data storage device and controller thereof | |
US11494312B2 (en) | Flash memory devices and prefetch methods thereof | |
US10083117B2 (en) | Filtering write request sequences | |
US11822483B2 (en) | Operating method of memory system including cache memory for supporting various chunk sizes | |
TWI682395B (en) | Redirecting method of unmapped address of solid state hard disk | |
CN111581117A (en) | Redirection method for unmapped addresses of solid state drives | |
KR100541642B1 (en) | Apparatus and method for managing data in flash memory |