TWI413984B - 快閃記憶體裝置以及資料更新方法 - Google Patents

快閃記憶體裝置以及資料更新方法 Download PDF

Info

Publication number
TWI413984B
TWI413984B TW098107984A TW98107984A TWI413984B TW I413984 B TWI413984 B TW I413984B TW 098107984 A TW098107984 A TW 098107984A TW 98107984 A TW98107984 A TW 98107984A TW I413984 B TWI413984 B TW I413984B
Authority
TW
Taiwan
Prior art keywords
page
data
storage block
cache
storage
Prior art date
Application number
TW098107984A
Other languages
English (en)
Other versions
TW201017669A (en
Inventor
Tsai Cheng 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
Publication of TW201017669A publication Critical patent/TW201017669A/zh
Application granted granted Critical
Publication of TWI413984B publication Critical patent/TWI413984B/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/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • 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/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0804Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with main memory updating
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7203Temporary buffering, e.g. using volatile buffer or dedicated buffer blocks

Description

快閃記憶體裝置以及資料更新方法
本發明係有關於一種快閃記憶體裝置及其資料更新方法,特別是有關於一種以區塊為管理單位的快閃記憶體裝置及其資料更新方法。
快閃記憶體裝置(Flash Memory apparatus)實質上係由一記憶體控制器和多個儲存區塊(Block)所組成,其中每個儲存區塊又包括了多個頁面(Page)。在快閃記憶體裝置的資料更新機制中,當需要將一筆資料寫入至某個儲存區塊的某個特定頁面時,則必須判斷該頁面是否已經有寫入資料,若該頁面尚為空白狀態,則可直接將該筆資料寫入。反之,若該頁面已經存有資料,則無法採取直接覆寫的方法,而必須使用另一個空白的儲存區塊來進行資料的更新。
舉例來說,參考第1圖,圖中包括了外部電腦10和快閃記憶體裝置11。快閃記憶體裝置11中包括了一記憶體控制器12,負責控制資料的讀取和寫入。在第1圖中,外部電腦10提供了一欲寫入快閃記憶體裝置11的資料X,假設欲寫入快閃記憶體裝置11中的目的儲存區塊b13的頁面1,由於頁面1係為空白的無資料狀態,因此記憶體控制器12可直接將資料X填入頁面1。另一方面,假設資料X欲寫入快閃記憶體裝置11中的目的儲存區塊b13的頁面2,由於該頁面已經存有資料,因此無法寫入。對於這種情況,記憶體控制器12利用另一個空白的儲存區塊b14,先將目的儲存區塊b13的頁面0和頁面1複製到空白儲存區塊b14相對應的頁面上,接著把資料X寫入空白儲存區塊b14對應的頁面2,再將頁面3以下的其他頁面的資料複製到空白儲存區塊b14相對應的頁面上,來達到資料的更新。而原本目的儲存區塊b13的所有資料則被抹除(Erase),因此其可視為另一空白區塊,用於後續的資料複製程序。
這樣的方法即利用所謂的母/子儲存區塊(Mother/Child Block)關係來執行資料的更新,原本欲更新的目的儲存區塊b13即為母儲存區塊,而空白儲存區塊b14即為子儲存區塊。然而,對於上述的習知資料寫入方法,由於快閃記憶體裝置的儲存區塊是有限的,若欲寫入的目的儲存區塊數量太多,則有可能佔用太多的空白區塊來執行資料的複製,因此會造成效率不佳以及耗費成本的缺點。
基於以上的考量,需要一種快閃記憶體裝置及其資料更新方法,特別是低成本且高效率的快閃記憶體裝置及資料更新方法。
有鑑於此,本發明揭露一種快閃記憶體裝置,包括複數儲存區塊和一記憶體控制器。儲存區塊包括一第一儲存區塊,第一儲存區塊包括一第一頁面。記憶體控制器用以接收欲寫入第一頁面之一第一資料,當第一頁面為已寫入狀態時,從儲存區塊中挑選出一者做為一第一快取區塊,將第一資料寫入第一快取區塊之一第一快取頁面,紀錄第一儲存區塊之編號和第一頁面之編號於第一快取頁面,以及當接收到一資料更新命令時,根據紀錄於第一快取頁面中第一儲存區塊編號和第一頁面編號更新第一儲存區塊。
此外,本發明另外揭露一種資料更新方法,用於一快閃記憶體裝置,快閃記憶體裝置包括一第一儲存區塊,第一儲存區塊包括一第一頁面。該資料更新方法包括接收欲寫入第一頁面之一第一資料,當第一頁面為已寫入狀態時,從儲存區塊中挑選出一者做為一第一快取區塊。將第一資料寫入第一快取區塊之一第一快取頁面,紀錄第一儲存區塊之編號和第一頁面之編號於第一快取頁面,以及當接收到一資料更新命令時,根據紀錄於第一快取頁面中第一儲存區塊之編號和第一頁面之編號更新第一儲存區塊。
為使本發明之上述目的、特徵和優點能更明顯易懂,下文特舉較佳實施例,並配合所附圖式,作詳細說明如下:
第2圖顯示根據本發明一實施例所述之快閃記憶體裝置20的方塊圖。快閃記憶體裝置20包括一記憶體控制器12和M個儲存區塊,其編號依序為b1、b2、b3...b(M-1)和bM。其中,每一儲存區塊分別具有複數頁面,編號分別為0、1、2、3...等等,如第2圖所示。假設記憶體控制器12接收到資料X、Y和Z等三筆資料,分別用以寫入儲存區塊b1的頁面3、儲存區塊b2的頁面2和儲存區塊b3的頁面0。由於以上三個儲存區塊的三個頁面都已為具有資料的寫入狀態,因此記憶體控制器12無法直接將資料寫入三個不同的儲存區塊。此時,記憶體控制器12必須從其他的儲存區塊中挑出一空白儲存區塊,當作資料更新用的快取區塊。該快取區塊同樣具有複數頁面,編號分別為0、1、2、3...等等,如第2圖所示。
接著,記憶體控制器12將所接收之用以寫入儲存區塊b1頁面3的資料X寫入快取區塊的頁面0(編號為0的頁面),並將資料X原本應寫入之儲存區塊的編號和頁面的編號紀錄於快取區塊頁面0中的預留區(Spare Area),亦即”儲存區塊b1,頁面3”的紀錄訊息。接著,記憶體控制器12將所接收之用以寫入儲存區塊b2頁面2的資料Y寫入快取區塊的下個頁面頁面1,並將資料Y原本應寫入之儲存區塊的編號和頁面的編號紀錄於快取區塊頁面1中的預留區,亦即”儲存區塊b2,頁面2”的紀錄訊息。同樣的,對於資料Z的寫入,記憶體控制器12將所接收之用以寫入儲存區塊b3頁面0的資料Z寫入快取區塊的下個頁面頁面2,並將資料Z原本應寫入之儲存區塊的編號和頁面的編號紀錄於快取區塊頁面2中的預留區,亦即”儲存區塊b3,頁面0”的紀錄訊息。
在上述實施例中,只需要一個快取區塊即可儲存多筆欲寫入不同儲存區塊的資料。此後,當該快取區塊建置好且備妥之後,可隨時用來進行資料的更新。例如當使用者決定對資料進行更新時,透過操作作業系統向電腦發出資料更新的命令。當記憶體控制器12接收到該資料更新命令時,便會根據快取區塊內所儲存的資料X、Y和Z,以及保留區中所紀錄的相關資訊來更新資料。舉例來說,記憶體控制器12根據寫入於快取區塊頁面0中的資料X,以及紀錄於頁面0預留區中的儲存區塊編號和頁面編號訊息”儲存區塊b1,頁面3”,即可知道資料X係用以更新至儲存區塊b1的頁面3,因此利用另一空白儲存區塊,將資料X寫入該空白儲存區塊的頁面3,而空白儲存區塊其他頁面的資料則由儲存區塊b1的相關對應頁面複製過來。資料更新完成之後,原本的儲存區塊b1則會被抹除,並釋放出來成為另一個新的空白區塊。同理,資料Y和Z的更新流程亦如上所述,因此不再重複敘述。
第3圖顯示根據本發明一實施例所述之快閃記憶體裝置的資料寫入流程圖,其中快閃記憶體裝置具有複數儲存區塊,每一儲存區塊具有複數頁面。流程一開始,首先接收欲寫入快閃記憶體裝置所包括之第一儲存區塊之第一頁面的第一資料(步驟S30)。接著,判斷該欲寫入的第一頁面是否為可寫入狀態(步驟S31)。若該欲寫入的第一頁面非為可寫入狀態,則從快閃記憶體裝置的複數儲存區塊中挑出一空白儲存區塊當作快取區塊(步驟S32)。若該欲寫入的第一頁面為可寫入狀態,則直接將所接收的第一資料寫入該第一頁面(步驟S33)。於步驟S32之後,將第一資料寫入快取區塊之一頁面,並紀錄第一儲存區塊的編號和第一頁面的編號於該頁面的保留區(步驟S34)。接著,再接收欲寫入快閃記憶體裝置所包括之第二儲存區塊之第二頁面的第二資料(步驟S35)。接著,判斷該欲寫入的第二頁面是否為可寫入狀態(步驟S36)。若該欲寫入的第二頁面為可寫入狀態,則直接將所接收的第二資料寫入該第二頁面(步驟S37)。若該欲寫入的第二頁面非為可寫入狀態,將第二資料寫入快取區塊之另一頁面,並紀錄第二儲存區塊的編號和第二頁面的編號於該另一頁面的保留區(步驟S38)。最後,於接收到使用者的資料更新命令時,根據快取區塊兩個頁面所寫入的第一資料和第二資料,以及其分別對應的紀錄訊息”第一儲存區塊編號,第一頁面編號”和”第二儲存區塊編號,第二頁面編號”,來更新第一儲存區塊和第二儲存區塊(步驟S39)。
在以上的實施例中,提到了可用單一快取區塊執行多個儲存區塊的更新任務,然而,由於一個快閃記憶體裝置是由多個儲存區塊構成,因此可根據上述實施例的概念,進一步將快閃記憶體裝置中所有的儲存區塊分成多個儲存區塊群組,每一群組對應一快取區塊,詳細如下所述。
第4圖顯示根據本發明另一實施例所述之快閃記憶體裝置20的方塊圖。在第4圖中,與第一實施例相同,快閃記憶體裝置20由M個儲存區塊構成,編號分別為b1、b2、...、bM。假設M為1024,亦即快閃記憶體裝置20由1024個儲存區塊構成,則記憶體控制器12可從這1024個儲存區塊中選出一既定比例的N者做為快取區塊,編號為c1、c2、...、cN。假設N為24,則原本儲存區塊的數目即剩下M-N=1000個。在這情況下,記憶體控制器12可將這1000個儲存區塊平均分配給24個快取區塊使用,每個快取區塊分配到1000/24≒42個儲存區塊。如此一來,編號b1至b42的儲存區塊所構成的第一儲存區塊群組分配給編號c1的快取區塊,而編號b43至b84的儲存區塊所構成的第二儲存區塊群組分配給編號c2的快取區塊等等。
根據多個組成的儲存區塊群組,當記憶體控制器12接收到一資料,用以寫入某一儲存區塊群組所包括的某一儲存區塊時,記憶體控制器12可用對應於該群組的快取區塊來執行資料的更新。例如記憶體控制器12接收到資料X、Y和Z等三筆欲寫入的資料,其中資料X用以寫入第一儲存區塊群組內的儲存區塊b2的頁面3,資料Y用以寫入第一儲存區塊群組內的儲存區塊b5的頁面1,而資料Z用以寫入第二儲存區塊群組內的儲存區塊b55的頁面7。在這情況下,由於資料X和Y都用以寫入同一儲存區塊群組內的儲存區塊,因此只使用第一儲存區塊群組所對應的快取區塊c1來更新這兩筆資料。其更新的原理與第一實施例相同,因此不再重複敘述。另一方面,由於資料Z用以寫入另一儲存區塊群組內的儲存區塊,因此需使用第二儲存區塊群組所對應的快取區塊c2來更新資料。以這樣的方式,當有資料欲更新至不同儲存區塊群組內的儲存區塊時,可使用對應的快取區塊來更新資料。因此,使用少數(N)的快取區塊即可有效管理快閃記憶體裝置中所有的儲存區塊。
另外,在以上的實施例中,儲存區塊群組內所包括的儲存區塊都是連續的(每42個連續編號為一組)。然而,在另一個實施例中,儲存區塊群組內所包括的儲存區塊也可以是不連續的。例如,本發明可將每隔編號42的所有儲存區塊組成同一群組,則儲存區塊b1、b43、b85...等的儲存區塊將對應至快取區塊c1,而儲存區塊b2、b44、b86...等的儲存區塊將對應至快取區塊c2,其他以此類推。這樣的做法是因為當欲進行資料更新的儲存區塊過於連續集中時,會造成只用到少數快取區塊的現象。為了讓所有的快取區塊均能平均使用,因此儲存區塊的分組方式可為不連續編號。
此外,在另一實施例中,儲存區塊的分組可採用隨機的方式。例如當儲存區塊b1至b1000中,一開始第一筆資料欲寫入其中的儲存區塊b3,則可分配快取區塊c1供其資料更新。接著,若有第二筆資料欲寫入儲存區塊b300,則可分配快取區塊c2供其資料更新,一直到第24筆資料需要更新時,將會用過所有的24個快取區塊。此時,若出現第25筆資料需要更新於儲存區塊b10,則可將儲存區塊b10分配給這24個快取區塊的任一者,其他以此類推。用這樣的隨機方式,可根據所需更新之儲存區塊的發生順序來分組,進行資料更新。
此外,在另一實施例中,上述第3圖流程圖中的步驟S31、S33、S36和S37甚至是可以忽略而不影響本發明的功效,如第5圖的流程圖所示。在第5圖中,首先接收欲寫入快閃記憶體裝置所包括之第一儲存區塊之第一頁面的第一資料(步驟S50)。接著,從快閃記憶體裝置的複數儲存區塊中挑出一空白儲存區塊當作快取區塊(步驟S51)。接著,將第一資料寫入快取區塊之一頁面,並紀錄第一儲存區塊的編號和第一頁面的編號於該頁面的保留區(步驟S52)。接著,再接收欲寫入快閃記憶體裝置所包括之第二儲存區塊之第二頁面的第二資料(步驟S53)。接著,將第二資料寫入快取區塊之另一頁面,並紀錄第二儲存區塊的編號和第二頁面的編號於該另一頁面的保留區(步驟S54)。最後,根據快取區塊兩個頁面所寫入的第一資料和第二資料,以及其分別對應的紀錄訊息”第一儲存區塊編號,第一頁面編號”和”第二儲存區塊編號,第二頁面編號”,來更新第一儲存區塊和第二儲存區塊(步驟S55)。
本發明雖以較佳實施例揭露如上,然其並非用以限定本發明的範圍,任何熟習此項技藝者,在不脫離本發明之精神和範圍內,當可做些許的更動與潤飾,因此本發明之保護範圍當視後附之申請專利範圍所界定者為準。
10...外部電腦
11、20...快閃記憶體裝置
12...記憶體控制器
b1、b2、...、bM...儲存區塊
c1、c2、c24...快取區塊
第1圖顯示習知外部電腦和快閃記憶體裝置之通訊架構示意圖;
第2圖顯示根據本發明一實施例所述之快閃記憶體裝置的方塊圖;
第3圖顯示根據本發明一實施例所述之快閃記憶體裝置的資料寫入流程圖;
第4圖顯示根據本發明另一實施例所述之快閃記憶體裝置的方塊圖;以及
第5圖顯示根據本發明一實施例所述之快閃記憶體裝置的另一資料寫入流程圖。
12...記憶體控制器
20...快閃記憶體裝置
b1、b2、...、bM...儲存區塊

Claims (26)

  1. 一種快閃記憶體裝置,包括:複數儲存區塊,包括一第一儲存區塊,上述第一儲存區塊包括一第一頁面;以及一記憶體控制器,接收欲寫入上述第一頁面之一第一資料,當上述第一頁面為已寫入狀態時,從上述儲存區塊中挑選出一者做為一第一快取區塊,將上述第一資料寫入上述第一快取區塊之一第一快取頁面,紀錄上述第一儲存區塊之編號和上述第一頁面之編號於上述第一快取頁面,以及當接收到一資料更新命令時,根據紀錄於上述第一快取頁面中上述第一儲存區塊之編號和上述第一頁面之編號更新上述第一儲存區塊。
  2. 如申請專利範圍第1項所述之快閃記憶體裝置,其中上述記憶體控制器更接收一第二資料,用以寫入上述儲存區塊所包括之一第二儲存區塊的一第二頁面,當上述第二頁面為已寫入狀態時,上述記憶體控制器將上述第二資料寫入上述第一快取區塊之一第二快取頁面,並紀錄上述第二儲存區塊之編號和上述第二頁面之編號於上述第二快取頁面。
  3. 如申請專利範圍第2項所述之快閃記憶體裝置,其中當接收到上述資料更新命令時,上述記憶體控制器更根據紀錄於上述第二快取頁面中上述第二儲存區塊之編號和上述第二頁面之編號更新上述第二儲存區塊。
  4. 如申請專利範圍第1項所述之快閃記憶體裝置,其中上述儲存區塊的數目為M,且上述記憶體控制器更從上 述M個儲存區塊中挑選出N者做為快取區塊。
  5. 如申請專利範圍第4項所述之快閃記憶體裝置,其中上述記憶體控制器更將所剩餘之上述M-N個儲存區塊分成N個儲存區塊群組,每個上述儲存區塊群組分別對應至上述N個快取區塊之一者。
  6. 如申請專利範圍第5項所述之快閃記憶體裝置,其中上述記憶體控制器更接收一第二資料,用以寫入上述儲存區塊群組之一者所包括之一第二儲存區塊的一第二頁面,當上述第二頁面為已寫入狀態時,上述記憶體控制器將上述第二資料寫入包括上述第二儲存區塊之儲存區塊群組所對應的一第二快取區塊的一第二快取頁面,並紀錄上述第二儲存區塊之編號和上述第二頁面之編號於上述第二快取頁面。
  7. 如申請專利範圍第6項所述之快閃記憶體裝置,其中包括上述第二儲存區塊之儲存區塊群組與包括上述第一儲存區塊之儲存區塊群組不同,且當接收到上述資料更新命令時,上述記憶體控制器更根據紀錄於上述第二快取頁面中上述第二儲存區塊之編號和上述第二頁面之編號更新上述第二儲存區塊。
  8. 一種資料更新方法,用於一快閃記憶體裝置具有複數個儲存區塊包括一第一儲存區塊,上述第一儲存區塊包括一第一頁面,包括:藉由上述快閃記憶體裝置的一記憶體控制器,接收欲寫入上述第一頁面之一第一資料;當上述第一頁面為已寫入狀態時,將上述第一資料寫 入上述第一快取區塊之一第一快取頁面;紀錄上述第一儲存區塊之編號和上述第一頁面之編號於上述第一快取頁面;以及當接收到一資料更新命令時,根據紀錄於上述第一快取頁面中上述第一儲存區塊之編號和上述第一頁面之編號更新上述第一儲存區塊。
  9. 如申請專利範圍第8項所述之資料更新方法,更包括:藉由上述記憶體控制器,接收一第二資料,用以寫入上述儲存區塊所包括之一第二儲存區塊的一第二頁面;當上述第二頁面為已寫入狀態時,將上述第二資料寫入上述第一快取區塊之一第二快取頁面;以及紀錄上述第二儲存區塊之編號和上述第二頁面之編號於上述第二快取頁面。
  10. 如申請專利範圍第9項所述之資料更新方法,其中當接收到上述資料更新命令時,更包括根據紀錄於上述第二快取頁面中上述第二儲存區塊之編號和上述第二頁面之編號更新上述第二儲存區塊。
  11. 如申請專利範圍第8項所述之資料更新方法,其中上述儲存區塊的數目為M,且該方法更包括從上述M個儲存區塊中挑選出N者做為快取區塊。
  12. 如申請專利範圍第11項所述之資料更新方法,更包括將所剩餘之上述M-N個儲存區塊分成N個儲存區塊群組,每個上述儲存區塊群組分別對應至上述N個快取區塊之一者。
  13. 如申請專利範圍第12項所述之資料更新方法,更包括下列步驟:藉由上述記憶體控制器,接收一第二資料,用以寫入上述儲存區塊群組之一者所包括之一第二儲存區塊的一第二頁面;當上述第二頁面為已寫入狀態時,將上述第二資料寫入包括上述第二儲存區塊之儲存區塊群組所對應的一第二快取區塊的一第二快取頁面;以及紀錄上述第二儲存區塊之編號和上述第二頁面之編號於上述第二快取頁面。
  14. 如申請專利範圍第13項所述之資料更新方法,更包括當接收到上述資料更新命令時,根據紀錄於上述第二快取頁面中上述第二儲存區塊之編號和上述第二頁面之編號更新上述第二儲存區塊,其中包括上述第二儲存區塊之儲存區塊群組與包括上述第一儲存區塊之儲存區塊群組不同。
  15. 一種快閃記憶體裝置,包括:複數儲存區塊,包括一第一儲存區塊,上述第一儲存區塊包括一第一頁面;以及一記憶體控制器,接收欲寫入上述第一頁面之一第一資料,當上述第一頁面為已寫入狀態時,從上述儲存區塊中挑選出一者做為一第一快取區塊,將上述第一資料寫入上述第一快取區塊之一第一快取頁面,紀錄上述第一儲存區塊之編號和上述第一頁面之編號於上述第一快取頁面;其中上述記憶體控制器更接收一第二資料,用以寫入上述 儲存區塊所包括之一第二儲存區塊的一第二頁面,當上述第二頁面為已寫入狀態時,上述記憶體控制器將上述第二資料寫入上述第一快取區塊之一第二快取頁面,以及紀錄上述第二儲存區塊之編號和上述第二頁面之編號於上述第二快取頁面。
  16. 如申請專利範圍第15項所述之快閃記憶體裝置,其中當接收到一資料更新命令時,上述記憶體控制器更根據紀錄於上述第一快取頁面中上述第一儲存區塊之編號和上述第一頁面之編號更新上述第一儲存區塊。
  17. 如申請專利範圍第15項所述之快閃記憶體裝置,其中當接收到一資料更新命令時,上述記憶體控制器更根據紀錄於上述第二快取頁面中上述第二儲存區塊之編號和上述第二頁面之編號更新上述第二儲存區塊。
  18. 如申請專利範圍第15項所述之快閃記憶體裝置,其中上述儲存區塊的數目為M,且上述記憶體控制器更從上述M個儲存區塊中挑選出N者做為快取區塊。
  19. 如申請專利範圍第16項所述之快閃記憶體裝置,其中上述記憶體控制器更將所剩餘之上述M-N個儲存區塊分成N個儲存區塊群組,每個上述儲存區塊群組分別對應至上述N個快取區塊之一者。
  20. 一種資料存取方法,用於一快閃記憶體裝置具有複數個儲存區塊:藉由一記憶體控制器接收一第一資料,上述第一資料係用於更新上述儲存區塊所包括之一第一儲存區塊之一第一頁面; 藉由上述記憶體控制器寫入上述第一資料至一第一快取區塊之一第一快取頁面;藉由上述記憶體控制器接收一第二資料,上述第二資料係用於更新上述儲存區塊所包括之一第二儲存區塊之一第二頁面;以及藉由上述記憶體控制器寫入上述第二資料至上述第一快取區塊之一第二快取頁面。
  21. 如申請專利範圍第20項所述之資料存取方法,更包括紀錄上述第一儲存區塊之編號和上述第一頁面之編號於上述第一快取頁面。
  22. 如申請專利範圍第20項所述之資料存取方法,更包括紀錄上述第二儲存區塊之編號和上述第二頁面之編號於上述第二快取頁面。
  23. 如申請專利範圍第20項所述之資料存取方法,更包括:藉由上述記憶體控制器接收一第三資料,上述第三資料係用於更新上述儲存區塊所包括之一第三儲存區塊之一第三頁面;以及寫入上述第三資料至上述第一快取區塊之一第三快取頁面。
  24. 如申請專利範圍第20項所述之資料存取方法,其中上述儲存區塊的數目為M,且上述方法更包括從上述M個儲存區塊中挑選出N者做為快取區塊。
  25. 如申請專利範圍第24項所述之資料存取方法,更包括將所剩餘之上述M-N個儲存區塊分成N個儲存區塊群 組,每個上述儲存區塊群組分別對應至上述N個快取區塊之一者。
  26. 如申請專利範圍第25項所述之資料存取方法,更包括下列步驟:藉由上述記憶體控制器接收一第三資料,上述第三資料係用於更新上述儲存區塊所包括之一第三儲存區塊之一第三頁面;以及寫入上述第三資料至上述第一快取區塊之一第三快取頁面。
TW098107984A 2008-10-16 2009-03-12 快閃記憶體裝置以及資料更新方法 TWI413984B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US10590008P 2008-10-16 2008-10-16

Publications (2)

Publication Number Publication Date
TW201017669A TW201017669A (en) 2010-05-01
TWI413984B true TWI413984B (zh) 2013-11-01

Family

ID=42109522

Family Applications (1)

Application Number Title Priority Date Filing Date
TW098107984A TWI413984B (zh) 2008-10-16 2009-03-12 快閃記憶體裝置以及資料更新方法

Country Status (3)

Country Link
US (2) US8209487B2 (zh)
CN (1) CN101727404B (zh)
TW (1) TWI413984B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8806144B2 (en) 2009-05-12 2014-08-12 Stec, Inc. Flash storage device with read cache
US9164676B2 (en) * 2011-11-30 2015-10-20 International Business Machines Corporation Storing multi-stream non-linear access patterns in a flash based file-system
JP2018049381A (ja) * 2016-09-20 2018-03-29 東芝メモリ株式会社 メモリ制御回路、メモリシステムおよびプロセッサシステム
CN109213448B (zh) * 2018-08-30 2022-04-05 东信和平科技股份有限公司 一种智能卡的擦写数据的方法、装置、设备及存储介质

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW200535854A (en) * 2003-12-30 2005-11-01 Sandisk Corp Data run programming
TWI244092B (en) * 1999-02-17 2005-11-21 Lexar Media Inc Memory system
TW200733123A (en) * 2005-10-27 2007-09-01 Sandisk Corp Adaptive handling data writes in non-volatile memories
TW200819976A (en) * 2006-06-30 2008-05-01 Toshiba Kk Memory system with nonvolatile semiconductor memory
TW200839773A (en) * 2007-03-19 2008-10-01 A Data Technology Co Ltd Wear-leveling management and file distribution management of hybrid density memory
TW200841174A (en) * 2007-01-12 2008-10-16 Toshiba Kk Host device and memory system
TW200844999A (en) * 2006-10-12 2008-11-16 Sandisk Corp Non-volatile memory with worst-case control data management and methods therefor

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5634068A (en) * 1995-03-31 1997-05-27 Sun Microsystems, Inc. Packet switched cache coherent multiprocessor system
US6928521B1 (en) * 2000-08-01 2005-08-09 International Business Machines Corporation Method, system, and data structures for using metadata in updating data in a storage device
US7526599B2 (en) * 2002-10-28 2009-04-28 Sandisk Corporation Method and apparatus for effectively enabling an out of sequence write process within a non-volatile memory system
US7315916B2 (en) * 2004-12-16 2008-01-01 Sandisk Corporation Scratch pad block
US7412560B2 (en) * 2004-12-16 2008-08-12 Sandisk Corporation Non-volatile memory and method with multi-stream updating
JP4738038B2 (ja) * 2005-03-25 2011-08-03 株式会社東芝 メモリカード
JP4751163B2 (ja) * 2005-09-29 2011-08-17 株式会社東芝 メモリシステム
JP2008046685A (ja) * 2006-08-10 2008-02-28 Fujitsu Ltd 二重化システム及び系切り換え方法
JP2008084184A (ja) * 2006-09-28 2008-04-10 Toshiba Corp メモリコントローラ
US8370562B2 (en) * 2007-02-25 2013-02-05 Sandisk Il Ltd. Interruptible cache flushing in flash memory systems
US7975109B2 (en) * 2007-05-30 2011-07-05 Schooner Information Technology, Inc. System including a fine-grained memory and a less-fine-grained memory

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI244092B (en) * 1999-02-17 2005-11-21 Lexar Media Inc Memory system
TW200535854A (en) * 2003-12-30 2005-11-01 Sandisk Corp Data run programming
TW200733123A (en) * 2005-10-27 2007-09-01 Sandisk Corp Adaptive handling data writes in non-volatile memories
TW200819976A (en) * 2006-06-30 2008-05-01 Toshiba Kk Memory system with nonvolatile semiconductor memory
TW200844999A (en) * 2006-10-12 2008-11-16 Sandisk Corp Non-volatile memory with worst-case control data management and methods therefor
TW200841174A (en) * 2007-01-12 2008-10-16 Toshiba Kk Host device and memory system
TW200839773A (en) * 2007-03-19 2008-10-01 A Data Technology Co Ltd Wear-leveling management and file distribution management of hybrid density memory

Also Published As

Publication number Publication date
US20120233390A1 (en) 2012-09-13
US8209487B2 (en) 2012-06-26
US8364894B2 (en) 2013-01-29
CN101727404A (zh) 2010-06-09
TW201017669A (en) 2010-05-01
US20100100665A1 (en) 2010-04-22
CN101727404B (zh) 2012-12-19

Similar Documents

Publication Publication Date Title
US8386698B2 (en) Data accessing method for flash memory and storage system and controller using the same
JP5480913B2 (ja) 記憶装置、およびメモリコントローラ
US8055873B2 (en) Data writing method for flash memory, and controller and system using the same
JP5813589B2 (ja) メモリシステムおよびその制御方法
US20140129758A1 (en) Wear leveling in flash memory devices with trim commands
WO2009096180A1 (ja) メモリコントローラ、不揮発性記憶装置、及び、不揮発性記憶システム
JP2007317224A (ja) メモリシステム
KR20080085574A (ko) 비휘발성 메모리의 가비지 컬렉션을 위한 장치 및 방법
JP2008130088A (ja) 不揮発性メモリ管理方法及び装置
JP2011145838A (ja) 記憶装置管理装置および記憶装置の管理方法
US20100064094A1 (en) Memory managing method for non-volatile memory and controller using the same
TWI413984B (zh) 快閃記憶體裝置以及資料更新方法
JP4460967B2 (ja) メモリカード、不揮発性半導体メモリ、及び半導体メモリの制御方法
JP4829202B2 (ja) 記憶装置及びメモリ制御方法
TW201712552A (zh) 固態硬碟的資料管理方法、寫入管理系統及其方法
TWI388986B (zh) 快閃記憶體裝置的運作方法及快閃記憶體裝置
JP2006011533A (ja) メモリカード、半導体装置、及び半導体メモリの制御方法
TW201621668A (zh) 資料儲存裝置及其資料寫入方法
JP5491201B2 (ja) 半導体記録装置及び半導体記録システム
KR20160057296A (ko) 링크드 리스트 어레이 하드웨어를 포함하는 장치와 이를 포함하는 시스템
JP2004295759A (ja) 記録方式
TW201915738A (zh) 記憶體的資料管理方法及記憶體裝置
WO2023082252A1 (zh) 一种垃圾回收方法、存储器和存储器管理装置
WO2024060944A1 (zh) 键值存储方法及系统
TWI669610B (zh) 資料儲存裝置以及非揮發式記憶體控制方法