TWI407310B - 資料儲存裝置及資料存取方法 - Google Patents

資料儲存裝置及資料存取方法 Download PDF

Info

Publication number
TWI407310B
TWI407310B TW098134250A TW98134250A TWI407310B TW I407310 B TWI407310 B TW I407310B TW 098134250 A TW098134250 A TW 098134250A TW 98134250 A TW98134250 A TW 98134250A TW I407310 B TWI407310 B TW I407310B
Authority
TW
Taiwan
Prior art keywords
target
link table
storage unit
data
linked list
Prior art date
Application number
TW098134250A
Other languages
English (en)
Other versions
TW201113709A (en
Inventor
Jen Wen Lin
Original Assignee
Silicon Motion Inc
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 Silicon Motion Inc filed Critical Silicon Motion Inc
Priority to TW098134250A priority Critical patent/TWI407310B/zh
Priority to US12/756,272 priority patent/US8316210B2/en
Publication of TW201113709A publication Critical patent/TW201113709A/zh
Application granted granted Critical
Publication of TWI407310B publication Critical patent/TWI407310B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/0292User address space allocation, e.g. contiguous or non contiguous base addressing using tables or multilevel address translation means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • G06F12/0646Configuration or reconfiguration

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

資料儲存裝置及資料存取方法
本發明係有關於資料儲存裝置,特別是有關於快閃記憶體。
資料儲存裝置,例如記憶卡,係為一主機儲存資料。一般而言,資料儲存裝置包括一儲存媒體及一控制器。儲存媒體係供儲存資料。典型的儲存媒體包括硬碟及快閃記憶體。控制器則作為主機與儲存媒體間的溝通媒介,依據主機所發送的命令自儲存媒體存取資料。當主機向資料儲存裝置發送命令時,主機係以邏輯位址指明欲存取的資料,而儲存媒體係依據實體位址進行資料存取。因此,介於主機與儲存媒體間的控制器必須將主機發送的邏輯位址轉換為實體位址,以指示儲存媒體進行資料存取。
一般而言,控制器係依據鏈結表(link table)進行邏輯位址與實體位址間的轉換。鏈結表中紀錄邏輯位址與實體位址的對應關係。由於鏈結表的總體資料量甚大,資料儲存裝置可能有多張鏈結表以分別紀錄不同邏輯位址範圍的實體位址對應關係。一般而言,鏈結表係儲存於儲存媒體中。由於資料儲存裝置之隨機存取記憶體的記憶空間有限,當控制器需要用到某張鏈結表時,控制器才會將該鏈結表載入至隨機存取記憶體中。
第1圖為儲存於一隨機存取記憶體中之多個鏈結表的連接列(link list)100的示意圖。連接列100為雙向鏈接的連接列。連接列100包括一開頭指標102,以及多個鏈結表104~110。開頭指標102指向第一位序的第P鏈結表104,第P鏈結表104之後端指標指向第二位序的第Q鏈結表106,如此連接成一串鏈結表,而最後位序的為第X鏈結表110。連接列100中包含的鏈結表104~110皆為控制器最近所存取的鏈結表。若控制器發覺鏈結表104~110皆不包含主機發送的邏輯位址,則控制器會將連接列100之末端的第X鏈結表110自隨機存取記憶體刪除,自儲存媒體載入包含主機發送的邏輯位址的新鏈結表至隨機存取記憶體,並將新鏈結表連接於開頭指標102與原第一位序的第P鏈結表104之間。
第2圖為資料儲存裝置進行資料存取之習知方法200的區塊圖。控制器自主機接收欲存取之一目標邏輯位址(步驟202)。為了確定隨機存取記憶體是否儲存有包含目標邏輯位址的鏈結表,控制器必須依序搜尋儲存於隨機存取記憶體之一連接列所包含的鏈結表是否包括目標邏輯位址的紀錄資料。首先,控制器取得連接列的第一鏈結表作為一目標鏈結表(步驟204)。接著,控制器檢查是否該目標鏈結表中紀錄該目標邏輯位址(步驟206)。若該目標鏈結表中未紀錄該目標邏輯位址,則只要該連接列中具有該目標鏈結表的下一鏈結表(步驟208),控制器會取得該下一鏈結表作為該目標鏈結表(步驟210),然後繼續檢查是否該目標鏈結表中紀錄該目標邏輯位址(步驟206),直到找到包含該目標邏輯位址的紀錄之目標鏈結表(步驟206),或是該連接列中已不具有該目標鏈結表的下一鏈結表(步驟208)為止。
當連接列中已不具有該目標鏈結表的下一鏈結表(步驟208),表示隨機存取記憶體中並不包括包含目標邏輯位址的紀錄資料的鏈結表。因此,控制器首先自隨機存取記憶體的該連接列中刪除一最後鏈結表(步驟212),再自儲存媒體載入包含目標邏輯位址之鏈結表至連接列中以作為目標鏈結表(步驟214)。此時,隨機存取記憶體中已儲存了包含目標邏輯位址的紀錄資料的目標鏈結表,因此控制器可依據目標鏈結表決定該目標邏輯位址所對應的目標實體位址(步驟216),接著再依據目標實體位址至儲存媒體存取資料(步驟218)。最後,若主機發送新存取命令(步驟220),則控制器重新執行步驟202~218,以進行邏輯位址至實體位址之轉換及資料存取。若主機發送新存取命令(步驟220),則資料存取結束。
習知資料存取方法200具有缺陷。每當控制器自主機接收到新邏輯位址,控制器必須重複執行步驟204~210的迴圈,對連接列中的所有鏈結表逐一搜尋,以確定是否隨機存取記憶體包括紀錄有目標邏輯位址的鏈結表。然而,上述的搜尋迴圈耗費過多時間。舉例來說,假設一隨機存取記憶體的資料容量為16M Bytes,而一個鏈結表的資料量為4K Bytes,則隨機存取記憶體可儲存4K個鏈結表。因此,上述的搜尋步驟要搜尋4千次才能確定隨機存取記憶體不包括紀錄有目標邏輯位址的鏈結表。這樣會造成資料存取過程的過長延遲時間,而使資料儲存裝置的效能下降。因此,需要一種可以快速確定是否隨機存取記憶體包括紀錄有目標邏輯位址的鏈結表的資料存取方法,以增進資料儲存裝置的效能。
有鑑於此,本發明之目的在於提供一種資料儲存裝置,以解決習知技術存在之問題。於一實施例中,該資料儲存裝置耦接至一主機,包括一儲存媒體、一隨機存取記憶體、以及一控制器。該儲存媒體儲存多個鏈結表(link table),每一鏈結表紀錄該主機所存取之一部份邏輯位址與該儲存媒體之實體位址的對應關係,且該等鏈結表被區分為多個群集(group)。該隨機存取記憶體包括多個儲存單元,該等儲存單元分別對應於該等群集,且每一該等儲存單元供儲存該等群集其中之一所包含的一鏈結表。該控制器自該主機接收一目標邏輯位址,計算對應於該目標邏輯位址之一目標鏈結表的序號,計算包含該目標鏈結表之一目標群集所對應的一目標儲存單元的序號,決定是否該目標儲存單元儲存該目標鏈結表,以及當該目標儲存單元儲存該目標鏈結表時,依據該目標鏈結表決定該目標邏輯位址所對應之一目標實體位址,並依據該目標實體位址存取該儲存媒體所儲存之資料。
本發明更提供一種資料存取方法。於一實施例中,一儲存媒體儲存多個鏈結表(link table),每一鏈結表紀錄一主機所存取之一部份邏輯位址與該儲存媒體之實體位址的對應關係。首先,區分該等鏈結表被為多個群集(group)。接著,以一隨機存取記憶體的多個儲存單元分別對應於該等群集其中之一,以分別儲存相對應之該等群集所包含的一鏈結表。接著,自該主機接收一目標邏輯位址。接著,計算對應於該目標邏輯位址之一目標鏈結表的序號。接著,計算包含該目標鏈結表之一目標群集所對應的一目標儲存單元的序號。接著,決定是否該目標儲存單元儲存該目標鏈結表。當該目標儲存單元儲存該目標鏈結表時,依據該目標鏈結表決定該目標邏輯位址所對應之一目標實體位址,並依據該目標實體位址存取該儲存媒體所儲存之資料。
為了讓本發明之上述和其他目的、特徵、和優點能更明顯易懂,下文特舉數較佳實施例,並配合所附圖示,作詳細說明如下:
第3圖為依據本發明之資料儲存裝置304的區塊圖。資料儲存裝置304耦接至主機302,依據主機302的存取命令為主機302儲存並存取資料。於一實施例中,資料儲存裝置304包括控制器312、隨機存取記憶體(random access memory)314、以及儲存媒體316。儲存媒體316可為一快閃記憶體(flash memory)或一硬碟,用以儲存資料。控制器312作為主機302與儲存媒體316之間的媒介,自主機302接收存取命令及資料後,依據存取命令將資料儲存至儲存媒體316,或自儲存媒體316讀取資料後轉送資料予主機302。由於隨機存取記憶體314具有較儲存媒體316為快的資料存取速度,隨機存取記憶體314提供控制器312資料暫存的空間。
主機302係依據邏輯位址指定其所存取的資料,而儲存媒體316係依據實體位址指定其所存取的資料。因此,當控制器312自主機302接收邏輯位址時,必須將邏輯位址轉換為實體位址,以指示儲存媒體316進行資料存取。於一實施例中,儲存媒體316中儲存多個鏈結表(link table),該等鏈結表分別儲存不同範圍之邏輯位址與實體位址的對應關係,而控制器312係依據該等鏈結表的內容進行邏輯位址與實體位址之間的轉換。於一實施例中,每一鏈結表儲存固定數量之邏輯位址與實體位址之對應關係。由於儲存媒體316的資料存取速度較慢,控制器312必須將進行位址轉換所需之鏈結表示先儲存於隨機存取記憶體314中,以利位址轉換之進行。
於一實施例中,儲存媒體316中所儲存的多個鏈結裱被區分為N個群集,每一群集包括固定數目之鏈結表。於一實施例中,隨機存取記憶體314包括N個儲存單元,該等N個儲存單元分別對應於N個群集中之一,而各儲存單元的容量恰好可供儲存其所對應的群集所包含的一個鏈結表。例如,第0儲存單元對應於第0群集,用以儲存第0群集所包含的多個鏈結表中的任一個鏈結表。第2儲存單元對應於第2群集,用以儲存第2群集所包含的多個鏈結表中的任一個鏈結表。第N儲存單元對應於第N群集,用以儲存第N群集所包含的多個鏈結表中的任一個鏈結表。
因此,當控制器312自主機302收到一目標邏輯位址,只要確認該目標邏輯位址所對應的目標鏈結表是位在哪一目標群集,便可直接搜尋隨機存取記憶體314中該目標群集所對應的目標儲存單元。若該目標儲存單元中儲存的鏈結表並非目標鏈結表,控制器312馬上便可確定目標鏈結表並不存在於隨機存取記憶體314中,轉而自儲存媒體316中載入目標鏈結表至隨機存取記憶體314的目標儲存單元中,以供進行目標邏輯位址至實體位址的轉換。因此,控制器312僅需比對目標儲存單元所儲存之鏈結表便可判斷目標鏈結表是否位於隨機存取記憶體314,而不需如習知技術中對隨機存取記憶體314中儲存的連接列的大量鏈結表逐一比對,從而節省進行資料存取的整體時間,而增進資料儲存裝置304的效能。
第4圖為依據本發明之邏輯位址、鏈結表、以及儲存單元的對應關係之示意圖。假設主機302所存取的邏輯位址範圍自邏輯位址0至邏輯位址10000,此邏輯位址範圍亦為儲存媒體316所儲存之資料實體位址所對應的邏輯位址範圍。假設儲存媒體316中共儲存100張鏈結表,鏈結表的序號自0~99。因此,平均每一鏈結表儲存100個邏輯位址的對應關係。例如,第0鏈結表儲存邏輯位址0~邏輯位址99之位址對應關係,而第1鏈結表儲存邏輯位址100~邏輯位址199之位址對應關係。假設鏈結表0~99被區分為10個群集,各群集分別包含10個鏈結表。例如第0群集包含第0鏈結表~第9鏈結表,而第9群集包含第90鏈結表~第99鏈結表。同樣的,隨機存取記憶體314亦包括10個儲存單元分別對應於該等10個群集。第0儲存單元係供儲存第0群集的任一鏈結表0~9,而第9儲存單元係供儲存第9群集的任一鏈結表90~99。
第5圖為依據本發明之資料存取方法500的流程圖。首先,控制器312自主機接收一目標邏輯位址(步驟502)。為了指示儲存媒體316進行資料存取,控制器312必須事先將該目標邏輯位址轉換為一目標實體位址。因此控制器312必須取得包含目標邏輯位址之紀錄的目標鏈結表。首先,控制器312計算目標邏輯位址所對應的目標鏈結表之序號(步驟504),並接著計算目標鏈結表於隨機存取記憶體314中所對應的目標儲存單元之序號(步驟506)。
於一實施例中,每一鏈結表均紀錄一第一固定數量之邏輯位址與實體位址之對應關係,而控制器312將目標邏輯位址除以該第一固定數量以得到目標鏈結表的序號。於一實施例中,每一群集均包含一第二固定數目之鏈結表,而該控制器312將目標鏈結表之序號除以該第二固定數目以得到目標群集的序號,並以目標群集之序號作為目標儲存單元的序號。以第4圖的實施例舉例來說,假設控制器312自主機302接收到邏輯位址2110。由於每一鏈結表包括100個邏輯位址的紀錄,則控制器312先將邏輯位址2110除以100以得到目標鏈結表的序號21,亦即邏輯位址2110之位址轉換資料係儲存於第21鏈結表。接著,由於每一群集包括10張鏈結表,因此控制器312將目標鏈結表的序號21除以10以得到目標群集的序號2,而第2群集對應於第2儲存單元,亦即第21鏈結表可能儲存於隨機存取記億體314的第2儲存單元中。
接著,控制器312檢查是否目標儲存單元中所儲存之鏈結表為目標鏈結表(步驟508)。由於此時控制器312已得到目標儲存單元之序號,因此控制器312可直接讀取隨機存取記憶體314的目標儲存單元所儲存之鏈結表的序號,並比較目標儲存單元中所儲存之鏈結表的序號與目標鏈結表的序號。當該鏈結表的序號與目標鏈結表的序號相符時,可斷定目標儲存單元儲存有目標鏈結表。當該鏈結表的序號與目標鏈結表的序號不相符時,可斷定目標儲存單元並未儲存有目標鏈結表。
若目標儲存單元並未儲存有目標鏈結表(步驟508),控制器312繼續決定目標儲存單元所儲存之鏈結表的內容是否經過變動(步驟510)。於一實施例中,隨機存取記憶體314的每一儲存單元分別具有對應之一旗標,該等旗標指示是否該等儲存單元中所儲存之鏈結表的內容已變動,而控制器312依據目標儲存單元所對應之旗標決定是否目標儲存單元中所儲存之鏈結表的內容已變動。若目標儲存單元所儲存之鏈結表的內容已變動(步驟510),則控制器312將目標儲存單元所儲存之鏈結表回存至儲存媒體316中(步驟512),接著由儲存媒體316讀取目標鏈結表並將目標鏈結表載入至隨機存取記憶體314的目標儲存單元(步驟514),以供控制器312進行邏輯位址至實體位址之轉換。若目標儲存單元所儲存之鏈結表的內容未變動(步驟510),則控制器312可直接由儲存媒體316讀取目標鏈結表,並將目標鏈結表載入至隨機存取記憶體314的目標儲存單元(步驟514)。
接著,由於此時隨機存取記憶體314的目標儲存單元已儲存有目標鏈結表(步驟508),因此控制器312可依據目標鏈結表之內容決定該目標邏輯位址所對應的目標實體位址(步驟516)。接著,控制器312向儲存媒體316發送存取命令及目標實體位址,以指示儲存媒體316依據目標實體位址存取資料(步驟518)。最後,控制器312檢查是否主機302發送新存取命令(步驟520)。若主機302發送新存取命令,則控制器312重新執行步驟502~518。若主機302發送新存取命令,則資料存取執行完畢。
由於本發明的隨機存取記憶體314的各儲存單元具有對應的邏輯位址範圍,控制器312可直接檢查目標邏輯位址所對應的目標儲存單元中是否儲存有與目標邏輯位址相對應的目標鏈結表,以迅速的判定是否需要自儲存媒體316載入目標鏈結表至隨機存取記憶體314中。因此,本發明的資料儲存裝置304不需如習之技術般逐一比對隨機存取記憶體314中所有的鏈結表內容以判斷目標鏈結表是否儲存於隨機存取記憶體314中,縮短了每次資料存取時進行位址轉換的時間,從而增進資料儲存裝置304的效能。
雖然本發明已以較佳實施例揭露如上,然其並非用以限定本發明,任何熟習此項技術者,在不脫離本發明之精神和範圍內,當可作些許之更動與潤飾,因此本發明之保護範圍當視後附之申請專利範圍所界定者為準。
(第1圖)
102...開頭指標
104、106、108、110...鏈結表
(第3圖)
302...主機
304...資料儲存裝置
312...控制器
314...隨機存記憶體
316...儲存媒體
321、322、32N...鏈結表
第1圖為儲存於一隨機存取記憶體中之多個鏈結表的連接列100的示意圖;
第2圖為資料儲存裝置進行資料存取之習知方法的區塊圖;
第3圖為依據本發明之資料儲存裝置的區塊圖;
第4圖為依據本發明之邏輯位址、鏈結表、以及儲存單元的對應關係之示意圖;以及
第5圖為依據本發明之資料存取方法的流程圖。

Claims (20)

  1. 一種資料儲存裝置,耦接至一主機,包括:一儲存媒體,儲存多個鏈結表(link table),每一鏈結表紀錄該主機所存取之一部份邏輯位址與該儲存媒體之實體位址的對應關係,且該等鏈結表被區分為多個群集(group);一隨機存取記憶體,包括多個儲存單元,該等儲存單元分別對應於該等群集,且每一該等儲存單元供儲存該等群集其中之一所包含的一鏈結表;以及一控制器,自該主機接收一目標邏輯位址,計算對應於該目標邏輯位址之一目標鏈結表的序號,計算包含該目標鏈結表之一目標群集所對應的一目標儲存單元的序號,決定是否該目標儲存單元儲存該目標鏈結表,以及當該目標儲存單元儲存該目標鏈結表時,依據該目標鏈結表決定該目標邏輯位址所對應之一目標實體位址,並依據該目標實體位址存取該儲存媒體所儲存之資料。
  2. 如申請專利範圍第1項所述之資料儲存裝置,其中當該目標儲存單元未儲存該目標鏈結表時,該控制器自該儲存媒體讀取該目標鏈結表,並將該目標鏈結表寫入該目標儲存單元中。
  3. 如申請專利範圍第2項所述之資料儲存裝置,其中當該控制器將該目標鏈結表寫入該目標儲存單元中之後,該控制器依據該目標鏈結表決定該目標邏輯位址所對應之該目標實體位址,並依據該目標實體位址存取該儲存媒體所儲存之資料。
  4. 如申請專利範圍第2項所述之資料儲存裝置,其中 當該目標儲存單元未儲存該目標鏈結表時,該控制器決定是否該目標儲存單元中所儲存之一其他鏈結表的內容是否已變動,而當該其他鏈結表的內容已變動時則該控制器將該其他鏈結表回存至該儲存媒體。
  5. 如申請專利範圍第4項所述之資料儲存裝置,其中每一該等儲存單元分別具有對應之一旗標,該旗標指示是否其所對應之該儲存單元中所儲存之鏈結表的內容已變動,而該控制器依據該目標儲存單元所對應之旗標決定是否該目標儲存單元中所儲存之該其他鏈結表的內容已變動。
  6. 如申請專利範圍第1項所述之資料儲存裝置,其中每一該等鏈結表均紀錄一第一固定數量之邏輯位址與實體位址之對應關係,而該控制器將該目標邏輯位址除以該第一固定數量以得到該目標鏈結表的序號。
  7. 如申請專利範圍第1項所述之資料儲存裝置,其中每一該等群集均包含一第二固定數量之該等鏈結表,而該控制器將該目標鏈結表之序號除以該第二固定數量以得到該目標群集的序號,並以該目標群集之序號作為該目標儲存單元的序號。
  8. 如申請專利範圍第1項所述之資料儲存裝置,其中該控制器比較該目標儲存單元中所儲存之一其他鏈結表的序號與該目標鏈結表的序號,於該其他鏈結表的序號與該目標鏈結表的序號相符時決定該目標儲存單元儲存有該目標鏈結表,並於該其他鏈結表的序號與該目標鏈結表的序號不相符時決定該目標儲存單元未儲存有該目標鏈結表。
  9. 如申請專利範圍第1項所述之資料儲存裝置,其中該儲存媒體為一快閃記憶體。
  10. 如申請專利範圍第1項所述之資料儲存裝置,其中該儲存媒體為一硬碟。
  11. 一種資料存取方法,其中一儲存媒體儲存多個鏈結表(link table),每一鏈結表紀錄一主機所存取之一部份邏輯位址與該儲存媒體之實體位址的對應關係,該方法包括下列步驟:區分該等鏈結表被為多個群集(group);以一隨機存取記憶體的多個儲存單元分別對應於該等群集其中之一,並分別儲存相對應之該等群集所包含的一鏈結表;自該主機接收一目標邏輯位址;計算對應於該目標邏輯位址之一目標鏈結表的序號;計算包含該目標鏈結表之一目標群集所對應的一目標儲存單元的序號;決定是否該目標儲存單元儲存該目標鏈結表;以及當該目標儲存單元儲存該目標鏈結表時,依據該目標鏈結表決定該目標邏輯位址所對應之一目標實體位址,並依據該目標實體位址存取該儲存媒體所儲存之資料。
  12. 如申請專利範圍第11項所述之資料存取方法,其中該方法更包括:當該目標儲存單元未儲存該目標鏈結表時,自該儲存媒體讀取該目標鏈結表,並將該目標鏈結表寫入該目標儲存單元中。
  13. 如申請專利範圍第12項所述之資料存取方法,其中該方法更包括:當該目標鏈結表被寫入該目標儲存單元中之後,依據該目標鏈結表決定該目標邏輯位址所對應之該目標實體位址;以及依據該目標實體位址存取該儲存媒體所儲存之資料。
  14. 如申請專利範圍第12項所述之資料存取方法,其中該方法更包括:當該目標儲存單元未儲存該目標鏈結表時,決定是否該目標儲存單元中所儲存之一其他鏈結表的內容是否已變動;以及當該其他鏈結表的內容已變動時,將該其他鏈結表回存至該儲存媒體。
  15. 如申請專利範圍第14項所述之資料存取方法,其中每一該等儲存單元分別具有對應之一旗標,該旗標指示是否其所對應之該儲存單元中所儲存之鏈結表的內容已變動,而該方法更包括:依據該目標儲存單元所對應之旗標決定是否該目標儲存單元中所儲存之該其他鏈結表的內容已變動。
  16. 如申請專利範圍第11項所述之資料存取方法,其中每一該等鏈結表均紀錄一第一固定數量之邏輯位址與實體位址之對應關係,而該目標鏈結表的序號之計算步驟包括將該目標邏輯位址除以該第一固定數量以得到該目標鏈結表的序號。
  17. 如申請專利範圍第11項所述之資料存取方法,其 中每一該等群集均包含一第二固定數量之該等鏈結表,而該目標儲存單元的序號之計算步驟包括:將該目標鏈結表之序號除以該第二固定數量以得到該目標群集的序號;以及以該目標群集之序號作為該目標儲存單元的序號。
  18. 如申請專利範圍第11項所述之資料存取方法,其中是否該目標儲存單元儲存該目標鏈結表之決定步驟包括:比較該目標儲存單元中所儲存之一其他鏈結表的序號與該目標鏈結表的序號;當該其他鏈結表的序號與該目標鏈結表的序號相符時,決定該目標儲存單元儲存有該目標鏈結表;以及當該其他鏈結表的序號與該目標鏈結表的序號不相符時,決定該目標儲存單元未儲存有該目標鏈結表。
  19. 如申請專利範圍第11項所述之資料存取方法,其中該儲存媒體為一快閃記憶體。
  20. 如申請專利範圍第11項所述之資料存取方法,其中該儲存媒體為一硬碟。
TW098134250A 2009-10-09 2009-10-09 資料儲存裝置及資料存取方法 TWI407310B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
TW098134250A TWI407310B (zh) 2009-10-09 2009-10-09 資料儲存裝置及資料存取方法
US12/756,272 US8316210B2 (en) 2009-10-09 2010-04-08 Dividing a logical memory space into ranges and sets for address translation

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW098134250A TWI407310B (zh) 2009-10-09 2009-10-09 資料儲存裝置及資料存取方法

Publications (2)

Publication Number Publication Date
TW201113709A TW201113709A (en) 2011-04-16
TWI407310B true TWI407310B (zh) 2013-09-01

Family

ID=43855732

Family Applications (1)

Application Number Title Priority Date Filing Date
TW098134250A TWI407310B (zh) 2009-10-09 2009-10-09 資料儲存裝置及資料存取方法

Country Status (2)

Country Link
US (1) US8316210B2 (zh)
TW (1) TWI407310B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9684568B2 (en) * 2013-12-26 2017-06-20 Silicon Motion, Inc. Data storage device and flash memory control method
JP6307962B2 (ja) * 2014-03-19 2018-04-11 日本電気株式会社 情報処理システム、情報処理方法、及び、情報処理プログラム
MX363170B (es) * 2015-11-27 2019-03-13 Huawei Tech Co Ltd Método para almacenar datos por medio de un dispositivo de almacenamiento y dispositivo de almacenamiento.
TWI639917B (zh) * 2017-04-25 2018-11-01 慧榮科技股份有限公司 資料儲存裝置及映射表重建方法
US11023374B2 (en) * 2018-07-09 2021-06-01 Silicon Motion, Inc. Apparatus and method and computer program product for controlling data access

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI263134B (en) * 2003-10-14 2006-10-01 Sony Corp Data management apparatus and method, non-volatile memory, storage device having the non-volatile memory and data system
US7296139B1 (en) * 2004-01-30 2007-11-13 Nvidia Corporation In-memory table structure for virtual address translation system with translation units of variable range size
US20090113121A1 (en) * 2004-02-26 2009-04-30 Super Talent Electronics Inc. Swappable Sets of Partial-Mapping Tables in a Flash-Memory System With A Command Queue for Combining Flash Writes
TW200926182A (en) * 2007-12-14 2009-06-16 Silicon Motion Inc Memory apparatus and method for accessing a flash memory, and method of evenly using blocks of the flash memory

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8321652B2 (en) * 2008-08-01 2012-11-27 Infineon Technologies Ag Process and method for logical-to-physical address mapping using a volatile memory device in solid state disks

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI263134B (en) * 2003-10-14 2006-10-01 Sony Corp Data management apparatus and method, non-volatile memory, storage device having the non-volatile memory and data system
US7296139B1 (en) * 2004-01-30 2007-11-13 Nvidia Corporation In-memory table structure for virtual address translation system with translation units of variable range size
US20090113121A1 (en) * 2004-02-26 2009-04-30 Super Talent Electronics Inc. Swappable Sets of Partial-Mapping Tables in a Flash-Memory System With A Command Queue for Combining Flash Writes
TW200926182A (en) * 2007-12-14 2009-06-16 Silicon Motion Inc Memory apparatus and method for accessing a flash memory, and method of evenly using blocks of the flash memory

Also Published As

Publication number Publication date
US8316210B2 (en) 2012-11-20
TW201113709A (en) 2011-04-16
US20110087829A1 (en) 2011-04-14

Similar Documents

Publication Publication Date Title
KR102510384B1 (ko) 압축된 데이터 백그라운드를 캐싱하는 장치, 시스템 및 방법
TWI594121B (zh) 使用資料壓縮的快取技術
CN105117180A (zh) 一种数据存储方法和装置以及固态硬盘
US8621134B2 (en) Storage tiering with minimal use of DRAM memory for header overhead
TWI420298B (zh) 快閃記憶裝置及其資料存取方法
TWI525430B (zh) 快取記憶體裝置以及該裝置的資料處理方法
TWI431627B (zh) 快閃記憶體裝置及快閃記憶體裝置之運作方法
US20100250829A1 (en) System, method, and computer program product for sending logical block address de-allocation status information
TWI407310B (zh) 資料儲存裝置及資料存取方法
TW202042067A (zh) 用來存取至少一非揮發性記憶體元件的處理單元
US20110004720A1 (en) Method and apparatus for performing full range random writing on a non-volatile memory
CN110795363B (zh) 一种存储介质的热页预测方法和页面调度方法
US9009442B2 (en) Data writing method, memory controller and memory storage apparatus
CN114860785A (zh) 缓存数据处理系统、方法、计算机设备和存储介质
US20120131264A1 (en) Storage device
US20190258543A1 (en) Memory device, semiconductor device, and semiconductor system
US20090319721A1 (en) Flash memory apparatus and method for operating the same
CN113467704B (zh) 通过智能阈值检测的命令优化
CN107577614B (zh) 数据写入方法及内存系统
CN110309081B (zh) 基于压缩存储和地址映射表项的ftl读写数据页的方法
CN107291625B (zh) 一种用于Nand Flash的指针式逻辑地址映射表实现方法
CN101599049B (zh) 控制dma访问不连续物理地址的方法及dma控制器
TW202044046A (zh) 資料儲存裝置與資料處理方法
CN113555057A (zh) 一种扩大固态硬盘映射表单元的实现方法
CN111026678B (zh) 基于固态硬盘的缓存设计方法、装置及计算机设备