TWI396202B - 錯誤校正控制器及其快閃記憶體晶片系統與錯誤校正方法 - Google Patents
錯誤校正控制器及其快閃記憶體晶片系統與錯誤校正方法 Download PDFInfo
- Publication number
- TWI396202B TWI396202B TW097144160A TW97144160A TWI396202B TW I396202 B TWI396202 B TW I396202B TW 097144160 A TW097144160 A TW 097144160A TW 97144160 A TW97144160 A TW 97144160A TW I396202 B TWI396202 B TW I396202B
- Authority
- TW
- Taiwan
- Prior art keywords
- error correction
- error
- data
- flash memory
- host controller
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
- G06F11/1068—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in sector programmable memories, e.g. flash disk
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C2029/0411—Online error correction
Description
本發明是有關於一種快閃記憶體晶片系統,且特別是有關於一種具錯誤校正(error correcting)功能的快閃記憶體晶片系統及其錯誤校正控制器與錯誤校正方法。
數位相機、手機與MP3播放器在這幾年來的成長十分迅速,使得消費者對儲存媒體的需求也急速增加。由於快閃記憶體(Flash Memory)具有資料非揮發性、省電、體積小與無機械結構等的特性,適合可攜式應用,最適合使用於這類可攜式由電池供電的產品上。例如,記憶卡就是一種以NAND快閃記憶體作為儲存媒體的儲存裝置,並且目前已被廣泛使用作為數位相機、手機與MP3播放器的儲存媒體。
由於NAND快閃記憶體具有以頁為單位寫入資料、以區塊為單位抹除資料、每一記憶胞需先抹除後方可寫入資料、區塊會因多次的寫入而損毀等特性,因此使用NAND快閃記憶體作為儲存媒體的主機(例如,數位相機、手機與MP3播放器)的主機控制器必須具有可管理快閃記憶體的區塊管理功能。然而,隨著快閃記憶體技術快速地發展,容量更大的快閃記憶體不斷推陳出新,舊主機的使用者會有更新更大儲存容量之儲存媒體的需求。一般來說,新快閃記憶體需更強的區塊管理功能方可運作,然而舊主機控
制器往往無法支援新的功能。
例如,在快閃記憶體的區塊管理功能中會使用錯誤校正程序來錯誤校正所讀取的資料,並且依據錯誤校正的結果來獲知快閃記憶體區塊的狀態(例如,區塊是否已損壞)。在舊主機控制器所具備的錯誤校正能力往往無法支援新一代快閃記憶體所需的錯誤校正能力(例如,當舊主機控制器生產時僅配置具可偵測2個錯誤位元/錯誤校正1個錯誤位元能力的錯誤校正電路,然而當新快閃記憶體需具能夠錯誤校正4個錯誤位元的控制器方可正常運作)時,此舊主機控制器將無法支援新一代快閃記憶體。基此,有需要發展一套能夠使舊主機控制器在不更動原硬體設計架構下以符合新一代快閃記憶體所需之錯誤校正能力來存取新一代的快閃記憶體的機制。
本發明提供一種錯誤校正控制器,其能夠使舊主機系統的主機控制器存取新一代的快閃記憶體。
本發明提供一種快閃記憶體晶片系統,其能夠使舊主機系統的主機控制器存取新一代的快閃記憶體。
本發明提供一種錯誤校正方法,其能夠使舊主機系統的主機控制器存取新一代的快閃記憶體。
本發明提出一種錯誤校正控制器,其包括第一快閃記憶體介面、第二快閃記憶體介面、微處理器單元、造錯單元與第一錯誤校正單元。第一快閃記憶體介面是用以連接
主機控制器。第二快閃記憶體介面是用以連接快閃記憶體。微處理器單元是電性連接至第一快閃記憶體介面與第二快閃記憶體介面。造錯單元是電性連接至微處理器單元。第一錯誤校正單元是電性連接至微處理器單元,其中第一錯誤校正單元會在主機控制器欲寫入資料至上述快閃記憶體時產生第一錯誤校正編碼(error correcting code,ECC)並且將欲寫入的資料與所產生的第一錯誤校正編碼儲存在快閃記憶體中。在本發明中,當主機控制器欲從快閃記憶體中讀取資料時,微處理器單元會從快閃記憶體中讀取此資料與對應此資料的第一錯誤校正編碼並且第一錯誤校正單元會依據所讀取的第一錯誤校正編碼來判斷所讀取的資料是否存有錯誤位元且此錯誤位元是否可被錯誤校正,其中當第一錯誤校正單元判斷所讀取的資料存有錯誤位元且此錯誤位元可被錯誤校正時,則造錯單元會產生可被錯誤校正的錯誤資料並且微處理器單元會傳送此可被校正的錯誤資料給上述主機控制器,其中此可被錯誤校正的錯誤資料是依據所述第一錯誤校正編碼完成錯誤校正後的資料來產生並且是可被主機控制器來錯誤校正。
在本發明之一實施例中,當第一錯誤校正單元判斷所讀取的資料存有錯誤位元且此錯誤位元無法被錯誤校正時,則微處理器單元會傳送一預設錯誤資料給上述主機控制器,其中上述主機控制器會判斷此預設錯誤資料具有錯誤位元且此錯誤位元無法被錯誤校正。
在本發明之一實施例中,上述之主機控制器更包括有
一第三錯誤校正單元。
在本發明之一實施例中,上述之第三錯誤校正單元的最大錯誤校正位元數小於上述第一錯誤校正單元的最大錯誤校正位元數。
在本發明之一實施例中,上述之資料更包括一第二錯誤校正編碼。
在本發明之一實施例中,上述之錯誤校正控制器更包括電性連接至上述微處理單元的第二錯誤校正單元,其中此第二錯誤校正單元的最大錯誤校正位元數是相同於上述第三錯誤校正單元的最大錯誤校正位元數。
在本發明之一實施例中,當上述主機控制器欲從上述快閃記憶體中讀取此資料,第二錯誤校正單元會根據此資料重新產生對應此資料的第二錯誤校正編碼。
在本發明之一實施例中,上述之當主機控制器欲寫入資料至上述快閃記憶體時,則上述第二錯誤校正單元會依據此第二錯誤校正編碼來錯誤校正欲寫入的資料。
在本發明之一實施例中,上述之微處理器單元將關於上述第一錯誤校正單元的參數資訊儲存在上述快閃記憶體的一實體區塊中,並且將儲存此參數資訊的實體區塊標記為已損毀區塊。
此外,本發明亦提出一種配置上述快閃記憶體與上述錯誤校正控制器的快閃記憶體晶片系統以及其錯誤校正方法。
本發明亦提出一種錯誤校正控制器,其包括第一快閃
記憶體介面、第二快閃記憶體介面、微處理器單元與第一錯誤校正單元。第一快閃記憶體介面是用以連接主機控制器。第二快閃記憶體介面是用以連接快閃記憶體。微處理器單元是電性連接至第一快閃記憶體介面與第二快閃記憶體介面。第一錯誤校正單元是電性連接至微處理器單元,其中第一錯誤校正單元會在主機控制器欲寫入資料至上述快閃記憶體時產生第一錯誤校正編碼並且將欲寫入的資料與所產生的第一錯誤校正編碼儲存在快閃記憶體中。緩衝器是電性連接至微處理器單元並且用以暫存資料。在本發明中,當主機控制器欲從快閃記憶體中讀取資料時,微處理器單元會從快閃記憶體中讀取此資料與其對應的第一錯誤校正編碼,並且第一錯誤校正單元會依據第一錯誤校正編碼來對所讀取的資料進行一錯誤校正程序,並且微處理器單元會將已錯誤校正的資料傳送給主機控制器,並且其中微處理器單元會將此錯誤校正程序中所判斷的欲存取之快閃記憶體區塊的狀態依據一製造商指令(vendor command)回應給主機控制器。
此外,本發明亦提出一種配置上述快閃記憶體與上述錯誤校正控制器的快閃記憶體晶片系統以及其錯誤校正方法。
基於上述,本發明藉由在舊系統的主機控制器與新快閃記憶體之間配置能支援新快閃記憶體的錯誤校正控制器,並且由此錯誤校正控制器執行符合新快閃記憶體的錯誤校正編碼與錯誤校正程序,基此可使舊系統的主機控制
器存取新一代的快閃記憶體。
為讓本發明之上述特徵和優點能更明顯易懂,下文特舉實施例,並配合所附圖式作詳細說明如下。
本發明在舊主機系統的主機控制器與新快閃記憶體之間配置能夠支援新快閃記憶體之錯誤校正控制器來對所存取的資料執行錯誤校正編碼與錯誤校正程序。基此,可在不更動原舊主機系統的架構下,使舊主機系統的主機控制器能夠存取新一代的快閃記憶體。以下將以數個範例實施例詳細說明本發明。
圖1是根據本發明第一實施例繪示快閃記憶體晶片系統的概要方塊圖。
請參照圖1,快閃記憶體晶片系統100包括快閃記憶體102與錯誤校正控制器104。快閃記憶體晶片系統100會與主機控制器200連接,由主機控制器200對其執行各種存取運作。特別是,主機控制器200具有舊錯誤校正單元202,其中舊錯誤校正單元202可對資料提供錯誤校正1個錯誤位元與偵測2個錯誤位元的能力。值得一提的是,在本實施例中快閃記憶體102與錯誤校正控制器104是封裝為單一系統晶片,然而在本發明另一實施例中快閃記憶體102與錯誤校正控制器104可分別為獨立的晶片。
快閃記憶體102是用以儲存資料的儲存媒體。快閃記
憶體102會劃分為多個實體區塊102-1~102-N,此些實體區塊單元會被界定為資料區(data area)與備用區(spare area)。歸類為資料區的實體區塊中會儲存由寫入指令所寫入的有效資料,而備用區中的實體區塊是用以在執行寫入指令時替換資料區中的實體區塊。具體來說,主機控制器200欲對資料區的實體區塊進行寫入時,主機控制器200會從備用區中提取實體區塊並且將在資料區中欲更新之實體區塊中的有效舊資料與欲寫入的新資料寫入至從備用區中提取的實體區塊並且將已寫入新資料的實體區塊關聯為資料區,並且將原本資料區的實體區塊進行抹除並關聯為備用區。為了能夠讓主機控制器200所屬的主機系統能夠順利地存取以輪替方式儲存資料的實體區塊,主機控制器200會配置邏輯區塊以供主機系統進行存取,其中邏輯區塊是根據實體區塊的大小來配置。也就是說主機控制器200會建立邏輯-實體位址對映表(logical-physical address mapping table),並且在此表中記錄與更新邏輯區塊與資料區的實體區塊之間的對映關係來反映實體區塊的輪替,所以主機系統僅需要針對所提供邏輯區塊對主機控制器200下達存取指令,而主機控制器200會依據邏輯-實體位址對映表來對所對映的實體區塊進行實際地讀取或寫入資料。此外,快閃記憶體102中會保留部分的實體區塊作為一替代區,其是用以當資料區或備用區中的實體區塊損壞時取代已損壞的實體區塊來繼續運作。
錯誤校正控制器104是電性連接至快閃記憶體102並
且用以執行符合快閃記憶體102所需錯誤校正能力的錯誤校正編碼與錯誤校正程序。例如,在對快閃記憶體102的執行存取時需提供能夠錯誤校正4個錯誤位元的錯誤校正編碼與錯誤校正程序。一般來說,錯誤校正程序包括依據預先儲存的錯誤校正編碼來判斷資料是否存有錯誤位元,並且當資料存有錯誤位元時依據此錯誤校正編碼來校正錯誤的位元。特別是,在本發明實施例中錯誤校正控制器104會在對主機控制器200欲讀取的資料執行錯誤校正程序後傳送錯誤校正單元202可處理的資料給主機控制器200。
錯誤校正控制器104包括微處理器單元104a、第一錯誤校正單元104b、緩衝器104c、第一快閃記憶體介面104d、第二快閃記憶體介面104e與造錯單元104f。
微處理器單元104a是用以控制與協調錯誤校正控制器104中所有組件的運作。具體來說,微處理器單元104a會依據本發明實施例所提出的錯誤校正方法(如圖3所示)處理與回應主機控制器200對快閃記憶體晶片系統100所下達的存取指令(例如,寫入指令或讀取指令)。
第一錯誤校正單元104b是電性連接至微處理器單元104a。第一錯誤校正單元104b會在主機控制器200欲寫入資料至快閃記憶體晶片系統100時產生符合快閃記憶體102規格的新錯誤校正編碼。
在本發明實施例中,第一錯誤校正單元104b的最大錯誤校正位元數是設計為4個位元且可偵測8個錯誤位元,以提供符合快閃記憶體102所需的錯誤校正能力。然
而,必須瞭解的是本發明的第一錯誤校正單元104b不限於最大錯誤校正位元數是設計為4個位元的錯誤校正電路。換言之,可支援快閃記憶體102所需的錯誤校正能力的錯誤校正電路都可應用於本發明。例如,若快閃記憶體102必需使用能夠錯誤校正4個錯誤位元的錯誤校正編碼與錯誤校正程序來進行存取時,第一錯誤校正單元104b可以是能夠錯誤校正4個錯誤位元、8個錯誤位元、12個錯誤位元、24個錯誤位元或48個錯誤位元的錯誤校正電路。
緩衝器104c是電性連接至微處理器單元104a並且用以暫存在主機控制器200與快閃記憶體102之間所傳送的資料。
第一快閃記憶體介面104d是用以連接主機控制器200,並且第二快閃記憶體介面104e是用以連接快閃記憶體102。
造錯單元104f是電性連接至微處理器單元104a並且用以依據微處理器單元104a的指令在資料中產生錯誤位元。值得一提的是,在本實施例中是以硬體架構來實作造錯單元104f,然而本發明不限於此,造錯單元104f亦可以一韌體型式來實作,在另一實施例中,該造錯單元104f亦可實作在一微處理器單元104a中。
圖2是根據本發明第一實施例繪示主機控制器200存取快閃記憶體晶片系統100的資料流示意圖。
請參照圖2,當主機控制器200由其主機系統(未繪示)接收欲寫入的資料DATA1時,主機控制器200的舊錯誤
校正單元202會依據資料DATA1產生舊錯誤校正編碼ECC1,並且主機控制器200會對快閃記憶體晶片系統100下達寫入指令並且將資料DATA1與舊錯誤校正編碼ECC1傳送至快閃記憶體晶片系統100。
當錯誤校正控制器104的微處理器單元104a經由第一快閃記憶體介面104d接收到主機控制器200所傳送的寫入指令WC、資料DATA1與舊錯誤校正編碼ECC1時,微處理器單元104a會得知此存取指令為寫入指令,並且將資料DATA1與舊錯誤校正編碼ECC1暫存於緩衝器104c中。然後,第一錯誤校正單元104b會使用包含資料DATA1與舊錯誤校正編碼ECC1的資料DATA2來產生新錯誤校正編碼ECC2。最後,將資料DATA2與新錯誤校正編碼ECC2傳送至快閃記憶體102的實體區塊中。
另外,當錯誤校正控制器104的微處理器單元104a經由第一快閃記憶體介面104d從主機控制器200中接收到讀取資料DATA1與舊錯誤校正編碼ECC1的讀取指令RC時,微處理器單元104a會從快閃記憶體102中讀取包含資料DATA1與舊錯誤校正編碼ECC1的資料DATA2以及新錯誤校正編碼ECC2並且將資料DATA2與新錯誤校正編碼ECC2暫存於緩衝器104c中。之後,第一錯誤校正單元104b會依據新錯誤校正編碼ECC2來對所讀取的資料DATA2執行錯誤校正程序。之後,微處理器單元104a會依據錯誤校正的結果傳送對應的資料給主機控制器200。
具體來說,第一錯誤校正單元104b會執行錯誤校正
程序來判斷資料DATA2中是否存有錯誤位元以及若資料DATA2存有錯誤位元時嘗試將錯誤位元進行錯誤校正。值得一提的是,由於如上所述主機控制器200的舊錯誤校正單元202亦會執行錯誤校正程序並且主機控制器200會依據舊錯誤校正單元202的執行結果對快閃記憶體的區塊執行相關的管理運作(例如,執行平均區塊磨損(wear-leveling)程序),因此根據本發明實施例微處理器單元104a會在第一錯誤校正單元104b對資料DATA2執行完錯誤校正程序後依據舊錯誤校正單元202的錯誤校正能力來提供資料DATA1與舊錯誤校正編碼ECC1給主機控制器200。
例如,當第一錯誤校正單元104b判斷所讀取的資料DATA2無存有錯誤位元時,則微處理器單元104a會傳送所讀取的資料DATA1與舊錯誤校正編碼ECC1給主機控制器200。
另外,當第一錯誤校正單元104b判斷所讀取的資料存DATA2存有錯誤位元且此錯誤位元可被錯誤校正時,則造錯單元104f會在從第一錯誤校正單元104b接收到已錯誤校正的資料DATA1中隨機產生錯誤位元,並且微處理器單元104a會將具有錯誤位元的資料DATA1與舊錯誤校正編碼ECC1傳送給主機控制器200。特別是,造錯單元104f所產生具有錯誤位元的資料DATA1是能夠由舊錯誤校正單元202依據舊錯誤校正編碼ECC1來錯誤校正,因此造錯單元104f會依據舊錯誤校正單元202的錯誤校正能力來產生具有錯誤位元的資料DATA1。在本實施例中,
舊錯誤校正單元202能錯誤校正1個錯誤位元,因此造錯單元104f會在資料DATA1中隨機產生1個錯誤位元,並且微處理器單元104a會將具有1個錯誤位元的資料DATA1與舊錯誤校正編碼ECC1傳送給主機控制器200。基此,根據本發明實施例,快閃記憶體晶片系統100的錯誤校正控制器104雖已將錯誤位元進行錯誤校正,但亦可提供已發生錯誤位元的資訊給主機控制器,由此主機控制器200可獲知所存取的實體區塊已出現儲存狀態不穩定的狀況。
值得一提的是,在本發明另一實施例中,倘若舊錯誤校正單元202能錯誤校正4個錯誤位元,而第一錯誤校正單元104b能錯誤校正8個錯誤位元時,造錯單元104f亦可根據一對映規則產生上述具錯誤位元的資料DATA1。例如,當資料DATA2中存有1或2個錯誤位元時,造錯單元104f會在已由第一錯誤校正單元104b錯誤校正的資料DATA1中製造1個錯誤位元;當資料DATA2中存有3或4個錯誤位元時,造錯單元104f會在已由第一錯誤校正單元104b錯誤校正的資料DATA1中製造2個錯誤位元;當資料DATA2中存有5或6個錯誤位元時,造錯單元104f會在已由第一錯誤校正單元104b錯誤校正的資料DATA1中製造3個錯誤位元;以及當資料DATA2中存有7或8個錯誤位元時,造錯單元104f會在已由第一錯誤校正單元104b錯誤校正的資料DATA1中製造4個錯誤位元。
再者,當第一錯誤校正單元104b判斷所讀取的資料
DATA2存有錯誤位元且錯誤位元無法被錯誤校正時,則微處理器單元104a會傳送事先儲存的預設錯誤資料與預設錯誤校正編碼給主機控制器200。例如,此預設錯誤資料可由舊錯誤校正單元202依據此預設錯誤校正編碼判定為發生無法錯誤校正的錯誤位元。
具體來說,由於第一錯誤校正單元104b判斷資料DATA2已無法被錯誤校正(即,資料DATA2具有5~8個錯誤位元),也就是說在快閃記憶體102中資料DATA1已經遺失,因此微處理器單元104a必須告知舊錯誤校正單元202資料DATA1已遺失,由此主機控制器200才可依據舊錯誤校正單元202的錯誤校正結果判定儲存資料DATA1的實體區塊已損毀。在本實施例中,由於舊錯誤校正單元202可對資料進行偵測2個錯誤位元與錯誤校正1個錯誤位元的錯誤校正編碼與錯誤校正程序,因此微處理器單元104所事先儲存的預設錯誤資料是具有2個錯誤位元。值得一提的是,以上所提對映規則僅是例示,本發明不限於此對映規則。
在另一實施例中,除對映規則外,主機控制器200可於讀取資料的期間下達一製造商指令(vendor command),主機控制器200可藉由此製造商指令從快閃記憶體晶片系統100中讀出的資料DATA1實際的錯誤位元數,而讓主機控制器200針對快閃記憶體102的實際損毀狀況進行對應的管理機制。也就是說,錯誤校正控制器104會將已錯誤校正的資料DATA1傳送給主機控制器200,另外藉由回
應製造商指令將實際的錯誤位元數傳送給主機控制器200。
此外,值得一提的是在本實施例中快閃記憶體102的實體區塊會儲存錯誤校正控制器104所使用的相關參數資訊(例如,關於存取快閃記憶體102的實體區塊所需的錯誤校正能力的資訊、關於主機控制器200的錯誤校正能力的資訊、錯誤校正控制器104的韌體程式等)。然而,為避免主機控制器200可能在無法辨識儲存此些重要資訊的實體區塊下誤刪除儲存在此實體區塊內的資訊,因此在本實施例中,微處理器單元104a會將儲存此些資訊的實體區塊標記為已損毀實體區塊。因此,當主機控制器110存取此些實體區塊時主機控制器110會根據此標記辨識此些實體區塊為已損毀實體區塊而改使用上述替代區中的實體區塊來進行存取。
基於上述,本發明實施例所提出的快閃記憶體晶片系統100可提供給舊主機系統的主機控制器所存取,由此解決舊主機系統的主機控制器無法支援新快閃記憶體的問題。以下將配合圖3說明根據本發明實施例的錯誤校正方法。
圖3是根據本發明第一實施例繪示錯誤校正步驟的流程圖。
請參照圖3,在步驟S301中從主機控制器200接收存取指令並且判斷此存取指令為寫入指令或讀取指令。
倘若此存取指令為寫入指令時,在步驟S303中會根
據所寫入的資料與其舊錯誤校正編碼(例如,資料DATA1與舊錯誤校正編碼ECC1)來產生新錯誤校正編碼(例如,新錯誤校正編碼ECC2),並且在步驟S305中將欲寫入的資料、其舊錯誤校正編碼與所產生的新錯誤校正編碼儲存在快閃記憶體102的實體區塊中。
倘若此存取指令為讀取資指令時,在步驟S307中會依據指令從快閃記憶體102的實體區塊中讀取資料與其舊錯誤校正編碼(例如,資料DATA1與舊錯誤校正編碼ECC1)以及對應的新錯誤校正編碼。
然後,在步驟S309中會依據新錯誤校正編碼判斷所讀取的資料與其舊錯誤校正編碼是否發生錯誤位元,倘若在步驟S309中判斷所讀取的資料與其舊錯誤校正編碼無發生錯誤位元時,則在步驟S311中將所讀取的資料與其舊錯誤校正編碼傳送給主機控制器200。
倘若在步驟S309中判斷所讀取的資料與其舊錯誤校正編碼發生錯誤位元時,則在步驟S313中會對錯誤位元進行校正的程序,並且在步驟S315中判斷此錯誤位元是否已被錯誤校正。倘若在步驟S315中錯誤校正程序的結果顯示此錯誤位元已被錯誤校正時,則在步驟S317中在已錯誤校正的資料中產生可由主機控制器200錯誤校正的錯誤位元,並且在步驟S319中將具錯誤位元的資料及其舊錯誤校正編碼傳送給主機控制器200。
倘若在步驟S315中判斷此錯誤位元無法被錯誤校正時,則在步驟S321中會將預設錯誤資料與預設錯誤校正
編碼傳送給主機控制器200。
此外,如上所述為了避免主機控制器200誤刪除錯誤校正控制器104的設定資訊,在本發明另一實施例中,上述錯誤校正步驟更包括將關於第一錯誤校正單元的參數資訊儲存在快閃記憶體的一實體區塊中並且將此實體區塊標記為已損毀區塊。
值得一提的是,為了在程式化快閃記憶體時避免發生錯誤位元,在本發明另一實施例中錯誤校正控制器104更包括資料轉換器(未繪示)。資料轉換器可在當錯誤校正控制器104從主機控制器200接收到欲寫入至快閃記憶體102的資料DATA1時,將資料DATA1中的每一位元進行適當的轉換,以將資料DATA1中連續且記錄相同值的位元(例如,連續為“0”的多個位元或連續為“1”的多個位元)分散,以使得在程式化快閃記憶體102時更為穩定。特別是,資料轉換器會判斷資料DATA1中是否存有連續且記錄相同值的位元,倘若資料DATA1存有連續且記錄相同值的位元時資料轉換器才對資料DATA1進行上述的轉換。
圖4是根據本發明第二實施例繪示快閃記憶體晶片系統的概要方塊圖。
請參照圖4,快閃記憶體晶片系統400包括快閃記憶體402與錯誤校正控制器404。快閃記憶體晶片系統400會與主機控制器200連接以由主機控制器200對其執行各種存取運作。如上所述,主機控制器200具有舊錯誤校正
單元202,其中舊錯誤校正單元202可對資料提供錯誤校正1個錯誤位元與偵測2個錯誤位元的能力。
快閃記憶體402是相同於第一實施例的快閃記憶體102,在此不再重複說明。
錯誤校正控制器404是電性連接至快閃記憶體402並且用以執行符合快閃記憶體402所需錯誤校正能力的錯誤校正編碼與錯誤校正程序。錯誤校正控制器404包括微處理器單元404a、第一錯誤校正單元404b、緩衝器404c、第一快閃記憶體介面404d、第二快閃記憶體介面404e與第二錯誤校正單元404f。
第二錯誤校正單元404f是電性連接至微處理器單元404a並且具有與舊錯誤校正單元202同樣錯誤校正能力的錯誤校正電路。例如,第二錯誤校正單元404f能夠對資料進行錯誤校正1個錯誤位元/偵測2個錯誤位元。此外,微處理器單元404a、第一錯誤校正單元404b、緩衝器404c、第一快閃記憶體介面404d與第二快閃記憶體介面404e的功能與結構是本質上是相同於第一實施例的微處理器單元104a、第一錯誤校正單元104b、緩衝器104c、第一快閃記憶體介面104d與第二快閃記憶體介面104e的功能與結構,以下將僅針對不同之處進行說明。
圖5是根據本發明第二實施例繪示主機控制器200存取快閃記憶體晶片系統400的資料流示意圖。
請參照圖5,當主機控制器200由其主機系統接收欲寫入的資料DATA1時,主機控制器200的舊錯誤校正單
元202會依據資料DATA1產生舊錯誤校正編碼ECC1,並且主機控制器200會對快閃記憶體晶片系統400下達寫入指令並且將資料DATA1與舊錯誤校正編碼ECC1傳送至快閃記憶體晶片系統400。
當錯誤校正控制器404的微處理器單元404a經由第一快閃記憶體介面404d從主機控制器200中接收到寫入指令、資料DATA1與舊錯誤校正編碼ECC1時,微處理器單元404a會得知此存取指令為寫入指令,並且將資料DATA1與舊錯誤校正編碼ECC1暫存於緩衝器404c中。
在本發明實施例中,第二錯誤校正單元404f會根據舊錯誤校正編碼ECC1對資料DATA1進行錯誤校正程序,在進行程式化(programming)之後主機控制器200會下達製造商指令,此時若資料DATA1無法被第二錯誤校正單元校正而完成寫入時,微處理器單元404a會回應主機控制器200資料DATA1無法被寫入,而後主機控制器200才會重新再程式化一次。由此,可對寫入資料也做到正確寫入及校正的動作。然後,第一錯誤校正單元404b會依據資料DATA1來產生新錯誤校正編碼ECC2’。最後,將資料DATA1與新錯誤校正編碼ECC2’傳送至快閃記憶體402的實體區塊中。
另外,當主機控制器200欲從快閃記憶體晶片系統400中讀取資料DATA1與舊錯誤校正編碼ECC1時,微處理器單元404a會依據來自於主機控制器200的讀取指令從快閃記憶體402中讀取資料DATA1與新錯誤校正編碼
ECC2’並且將資料DATA1與新錯誤校正編碼ECC2’暫存於緩衝器404c中。然後,第一錯誤校正單元404b會依據新錯誤校正編碼ECC2’來對所讀取的資料DATA1執行錯誤校正程序。之後,微處理器單元404a會依據錯誤校正的結果傳送對應的資料給主機控制器200。
具體來說,第一錯誤校正單元404b會執行錯誤校正程序來判斷資料DATA1中是否存有錯誤位元以及若資料DATA1存有錯誤位元時嘗試將錯誤位元進行錯誤校正。
當第一錯誤校正單元404b判斷所讀取的資料DATA1無存有錯誤位元時,則第二錯誤校正單元404f會依據資料DATA1來重新產生舊錯誤校正編碼ECC1,並且微處理器單元404a會傳送所讀取的資料DATA1與所重新產生的舊錯誤校正編碼ECC1給主機控制器200。在此,由於根據本實施例的錯誤校正控制器400未儲存舊錯誤校正編碼ECC1,因此錯誤校正控制器400會透過第二錯誤校正單元404f來重新產生。
另外,當第一錯誤校正單元404b判斷所讀取的資料DATA1存有錯誤位元且此錯誤位元可被錯誤校正時,則微處理器單元404a會在從第一錯誤校正單元404b接收到已錯誤校正的資料DATA1之後在資料DATA1中隨機產生錯誤位元,並且將具有錯誤位元的資料DATA1與舊錯誤校正編碼ECC1傳送給主機控制器200。相同於第一實施例,微處理器單元404a所產生具有錯誤位元的資料DATA1必須能夠由舊錯誤校正單元202依據舊錯誤校正
編碼ECC1來錯誤校正,因此微處理器單元404a會依據舊錯誤校正單元202的錯誤校正能力來產生具有錯誤位元的資料DATA1。同樣地,在此例子中,錯誤校正控制器400會透過第二錯誤校正單元404f依據已錯誤校正的資料DATA1來重新產生舊錯誤校正編碼ECC1。
再者,當第一錯誤校正單元404b判斷所讀取的資料DATA1存有錯誤位元且錯誤位元無法被錯誤校正時,則微處理器單元404a會傳送事先儲存的預設錯誤資料與預設錯誤校正編碼給主機控制器200。相同於第一實施例,此預設錯誤資料可由舊錯誤校正單元202依據此預設錯誤編碼判定為發生無法錯誤校正的錯誤位元。
在第一實施例中,如圖2所示,錯誤校正控制器是將含有原資料與舊錯誤校正編碼的資料進行錯誤校正編碼並將原資料與舊錯誤校正編碼以及新錯誤校正編碼儲存在快閃記憶體中,因此需要更多的儲存空間來同時儲存舊錯誤校正編碼與新錯誤校正編碼。然而,第二實施例所提出的快閃記憶體晶片系統400除了可達成第一實施例的功能外,同時可節省快閃記憶體儲存資料所需的空間。以下將配合圖6說明根據本發明實施例的錯誤校正方法。
圖6是根據本發明第二實施例繪示錯誤校正步驟的流程圖。
請參照圖6,在步驟S601中從主機控制器200接收存取指令並且判斷此存取指令為寫入指令或讀取指令。
倘若此存取指令為寫入指令時,在步驟S603中會依
據舊錯誤校正編碼(例如,舊錯誤校正編碼ECC1)對所寫入的資料(例如,資料DATA1)進行錯誤校正程序,並且在步驟S605中依據已錯誤校正的資料來產生新錯誤校正編碼(例如,新錯誤校正編碼ECC2’)。之後,在步驟S607中將欲寫入的資料與所產生的新錯誤校正編碼儲存在快閃記憶體402的實體區塊中。
倘若此存取指令為讀取資指令時,在步驟S609中會依據指令從快閃記憶體102的實體區塊中讀取資料(例如,資料DATA1)以及對應的新錯誤校正編碼(例如,新錯誤校正編碼ECC2’)。
然後,在步驟S611中依據新錯誤校正編碼判斷所讀取的資料是否發生錯誤位元,倘若在步驟S611中判斷所讀取的資料無發生錯誤位元時,則在步驟S613中依據所讀取的資料重新產生對應的舊錯誤校正編碼,並且在步驟S615中將所讀取的資料與所重新產生的舊錯誤校正編碼傳送給主機控制器200。
倘若在步驟S611中判斷所讀取的資料發生錯誤位元時,則在步驟S617中對錯誤位元進行校正並且在步驟S619中判斷此錯誤位元是否已被錯誤校正。倘若在步驟S619中判斷此錯誤位元已被錯誤校正時,則在步驟S621中依據已錯誤校正的資料重新產生對應的舊錯誤校正編碼,並且在步驟S623中在已錯誤校正的資料中產生可由主機控制器200錯誤校正的錯誤位元。然後,在步驟S625中將具錯誤位元的資料及所重新產生的舊錯誤校正編碼傳送給
主機控制器200。
倘若在步驟S619中判斷此錯誤位元無法被錯誤校正時,則在步驟S627中會將預設錯誤資料與預設錯誤校正編碼傳送給主機控制器200。
綜上所述,本發明在舊系統的主機控制器與新快閃記憶體之間配置直夠支援新快閃記憶體的錯誤校正控制器,由此使舊系統的主機控制器可存取新一代的快閃記憶體。
雖然本發明已以實施例揭露如上,然其並非用以限定本發明,任何所屬技術領域中具有通常知識者,在不脫離本發明之精神和範圍內,當可作些許之更動與潤飾,故本發明之保護範圍當視後附之申請專利範圍所界定者為準。
100‧‧‧快閃記憶體晶片系統
102‧‧‧快閃記憶體
102-1~102-N‧‧‧實體區塊
104‧‧‧錯誤校正控制器
104a‧‧‧微處理器單元
104b‧‧‧第一錯誤校正單元
104c‧‧‧緩衝器
104d‧‧‧第一快閃記憶體介面
104e‧‧‧第二快閃記憶體介面
104f‧‧‧造錯單元
200‧‧‧主機控制器
202‧‧‧舊錯誤校正單元
DATA1、DATA2‧‧‧資料
ECC1、ECC2、ECC2’‧‧‧錯誤校正編碼
S301、S303、S307、S309、S311、S313、S315、S317、S319、S321‧‧‧錯誤校正的步驟
400‧‧‧快閃記憶體晶片系統
402‧‧‧快閃記憶體
402-1~402-N‧‧‧實體區塊
404‧‧‧錯誤校正控制器
404a‧‧‧微處理器單元
404b‧‧‧第一錯誤校正單元
404c‧‧‧緩衝器
404d‧‧‧第一快閃記憶體介面
404e‧‧‧第二快閃記憶體介面
404f‧‧‧第二錯誤校正單元
S601、S603、S607、S609、S611、S613、S615、S617、S619、S621、S623、S625、S627‧‧‧錯誤校正的步驟
圖1是根據本發明第一實施例繪示快閃記憶體晶片系統的概要方塊圖。
圖2是根據本發明第一實施例繪示主機控制器存取快閃記憶體晶片系統的資料流示意圖。
圖3是根據本發明第一實施例繪示錯誤校正步驟的流程圖。
圖4是根據本發明第二實施例繪示快閃記憶體晶片系統的概要方塊圖。
圖5是根據本發明第二實施例繪示主機控制器存取快閃記憶體晶片系統的資料流示意圖。
圖6是根據本發明第二實施例繪示錯誤校正步驟的流
程圖。
100‧‧‧快閃記憶體晶片系統
102‧‧‧快閃記憶體
102-1~102-N‧‧‧實體區塊
104‧‧‧錯誤校正控制器
104a‧‧‧微處理器單元
104b‧‧‧第一錯誤校正單元
104c‧‧‧緩衝器
104d‧‧‧第一快閃記憶體介面
104e‧‧‧第二快閃記憶體介面
104f‧‧‧造錯單元
200‧‧‧主機控制器
202‧‧‧舊錯誤校正單元
Claims (19)
- 一種錯誤校正控制器,包括:一第一快閃記憶體介面,用以連接一主機控制器;一第二快閃記憶體介面,用以連接一快閃記憶體,一微處理器單元,電性連接至所述第一快閃記憶體介面與所述第二快閃記憶體介面;一第二錯誤校正單元,電性連接至該微處理器單元;以及一第一錯誤校正單元,電性連接至所述微處理器單元,其中所述第一錯誤校正單元會在所述主機控制器欲寫入一資料至所述快閃記憶體時產生一第一錯誤校正編碼並且將所述資料與所述第一錯誤校正編碼儲存在所述快閃記憶體中,其中當所述主機控制器欲從所述快閃記憶體中讀取所述資料時,所述微處理器單元會從所述快閃記憶體中讀取所述資料與所述第一錯誤校正編碼,並且所述第一錯誤校正單元會依據所述第一錯誤校正編碼來判斷所讀取的所述資料是否存有至少一錯誤位元且所述至少一錯誤位元是否可被錯誤校正,其中當所述第一錯誤校正單元判斷所讀取的所述資料存有所述至少一錯誤位元且所述至少一錯誤位元可被錯誤校正時,則所述微處理器單元會產生一可被錯誤校正的錯誤資料並且傳送所述可被錯誤校正的錯誤資料給所述主機控制器, 其中所述可被錯誤校正的錯誤資料是依據所述第一錯誤校正編碼完成錯誤校正後的所述資料來產生並且可被所述主機控制器來錯誤校正,其中所述資料更包括一第二錯誤校正編碼,其中當所述主機控制器欲寫入所述資料至所述快閃記憶體時,則所述第二錯誤校正單元會依據所述第二錯誤校正編碼來錯誤校正所述資料。
- 如申請專利範圍第1項所述之錯誤校正控制器,其中當所述第一錯誤校正單元判斷所讀取的所述資料存有所述至少一錯誤位元且所述至少一錯誤位元無法被錯誤校正時,則所述微處理器單元會傳送一預設錯誤資料給所述主機控制器,並且其中所述主機控制器會判斷所述預設錯誤資料具有多個預設錯誤位元且所述預設錯誤位元無法被錯誤校正。
- 如申請專利範圍第1項所述之錯誤校正控制器,其中所述主機控制器更包括有一第三錯誤校正單元。
- 如申請專利範圍第3項所述之錯誤校正控制器,其中所述第三錯誤校正單元的最大錯誤校正位元數小於所述第一錯誤校正單元的最大錯誤校正位元數。
- 如申請專利範圍第3項所述之錯誤校正控制器,其中所述第二錯誤校正單元的最大錯誤校正位元數是相同於所述第三錯誤校正單元的最大錯誤校正位元數。
- 如申請專利範圍第5項所述之錯誤校正控制器,其中當所述主機控制器欲從所述快閃記憶體中讀取所述資料 時所述第二錯誤校正單元會根據依據所述第一錯誤校正編碼完成錯誤校正後的所述資料產生所述第二錯誤校正編碼。
- 如申請專利範圍第1項所述之錯誤校正控制器,其中所述微處理器單元將關於所述第一錯誤校正單元的參數資訊儲存在所述快閃記憶體的一實體區塊中,並且將所述實體區塊標記為已損毀區塊。
- 如申請專利範圍第1項所述之錯誤校正控制器,更包括一資料轉換器,其中在所述主機控制器欲寫入所述資料至所述快閃記憶體時,所述資料轉換器會轉換所述資料。
- 一種快閃記憶體晶片系統,包括:一快閃記憶體;以及一錯誤校正控制器,電性連接至所述快閃記憶體,其中該錯誤校正控制器會在一主機控制器欲寫入一資料至所述快閃記憶體時產生一第一錯誤校正編碼並且將所述資料與所述第一錯誤校正編碼儲存在所述快閃記憶體中,其中當所述主機控制器欲從所述快閃記憶體中讀取所述資料時,所述錯誤校正控制器會從所述快閃記憶體中讀取所述資料與所述第一錯誤校正編碼,並且依據所述第一錯誤校正編碼來判斷所讀取的所述資料是否存有至少一錯誤位元且所述至少一錯誤位元是否可被錯誤校正,其中當所述錯誤校正控制器判斷所讀取的所述資料存有所述至少一錯誤位元且所述至少一錯誤位元可被錯誤 校正時,則所述錯誤校正控制器會傳送一可被錯誤校正的錯誤資料給所述主機控制器,其中所述可被錯誤校正的錯誤資料是依據所述第一錯誤校正編碼完成錯誤校正後的所述資料來產生並且可被所述主機控制器來錯誤校正,其中所述資料更包括一第二錯誤校正編碼,其中當所述主機控制器欲寫入所述資料至所述快閃記憶體時,則所述錯誤校正控制器會依據所述第二錯誤校正編碼來錯誤校正所述資料。
- 如申請專利範圍第9項所述之快閃記憶體晶片系統,其中當所述錯誤校正控制器判斷所讀取的所述資料存有所述至少一錯誤位元且所述至少一錯誤位元無法被錯誤校正時,則所述錯誤校正控制器會傳送一預設錯誤資料給所述主機控制器,並且其中所述主機控制器會判斷所述預設錯誤資料具有多個預設錯誤位元且所述預設錯誤位元無法被錯誤校正。
- 如申請專利範圍第9項所述之快閃記憶體晶片系統,其中當所述主機控制器欲從所述快閃記憶體中讀取所述資料時所述錯誤校正控制器會根據所述資料重新產生所述第二錯誤校正編碼。
- 如申請專利範圍第9項所述之快閃記憶體晶片系統,其中所述錯誤校正控制器將關於相關參數資訊儲存在所述快閃記憶體的一實體區塊中,並且將所述實體區塊標記為已損毀區塊。
- 如申請專利範圍第9項所述之快閃記憶體晶片系統,其中該錯誤校正控制器用以當所述主機控制器欲寫入所述資料至所述快閃記憶體時轉換所述資料。
- 一種錯誤校正方法,適用於錯誤校正一主機控制器對一快閃記憶體所存取的資料,所述錯誤校正方法包括:當所述主機控制器欲寫入一資料至所述快閃記憶體時產生一第一錯誤校正編碼並且將所述資料與所述第一錯誤校正編碼儲存在所述快閃記憶體中;以及當所述主機控制器欲從所述快閃記憶體中讀取所述資料時,從所述快閃記憶體中讀取所述資料與所述第一錯誤校正編碼並且依據所述第一錯誤校正編碼來判斷所讀取的所述資料是否存有至少一錯誤位元且所述至少一錯誤位元是否可被錯誤校正,其中當判斷所讀取的所述資料存有所述至少一錯誤位元且所述至少一錯誤位元可被錯誤校正時,則傳送一可被錯誤校正的錯誤資料給所述主機控制器,其中所述可被錯誤校正的錯誤資料是依據所述第一錯誤校正編碼完成錯誤校正後的所述資料來產生並且可被所述主機控制器來錯誤校正,其中所述資料更包括一第二錯誤校正編碼,其中當所述主機控制器欲寫入所述資料至所述快閃記憶體中時,依據所述第二錯誤校正編碼來錯誤校正所述資料。
- 如申請專利範圍第14項所述之錯誤校正方法,其 中當判斷所讀取的所述資料存有所述至少一錯誤位元且所述至少一錯誤位元無法被錯誤校正時,則傳送一預設錯誤資料給所述主機控制器,並且其中所述主機控制器會判斷所述預設錯誤資料具有多個預設錯誤位元且所述預設錯誤位元無法被錯誤校正。
- 如申請專利範圍第14項所述之錯誤校正方法,更包括當所述主機控制器欲從所述快閃記憶體中讀取所述資料時,主機控制器依據所述第二錯誤校正編碼來錯誤校正所述資料。
- 如申請專利範圍第14項所述之錯誤校正方法,其中當無法使用所述第二錯誤校正編碼錯誤校正所述資料時,依據一製造商指令回應給所述主機控制器一錯誤訊息。
- 如申請專利範圍第14項所述之錯誤校正方法,更包括將參數資訊儲存在所述快閃記憶體的一實體區塊中,並且將所述實體區塊標記為已損毀區塊。
- 如申請專利範圍第14項所述之錯誤校正方法,更包括當所述主機控制器欲寫入所述資料至所述快閃記憶體時,則對所述資料進行一轉換。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW097144160A TWI396202B (zh) | 2008-11-14 | 2008-11-14 | 錯誤校正控制器及其快閃記憶體晶片系統與錯誤校正方法 |
US12/358,879 US8392797B2 (en) | 2008-11-14 | 2009-01-23 | Error correcting controller, flash memory chip system, and error correcting method thereof |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW097144160A TWI396202B (zh) | 2008-11-14 | 2008-11-14 | 錯誤校正控制器及其快閃記憶體晶片系統與錯誤校正方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201019336A TW201019336A (en) | 2010-05-16 |
TWI396202B true TWI396202B (zh) | 2013-05-11 |
Family
ID=42172927
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW097144160A TWI396202B (zh) | 2008-11-14 | 2008-11-14 | 錯誤校正控制器及其快閃記憶體晶片系統與錯誤校正方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US8392797B2 (zh) |
TW (1) | TWI396202B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI782490B (zh) * | 2020-07-02 | 2022-11-01 | 日商鎧俠股份有限公司 | 接收終端、通訊系統及程式 |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8874958B2 (en) * | 2010-11-09 | 2014-10-28 | International Business Machines Corporation | Error detection in a mirrored data storage system |
TWI417727B (zh) * | 2010-11-22 | 2013-12-01 | Phison Electronics Corp | 記憶體儲存裝置、其記憶體控制器與回應主機指令的方法 |
TWI467364B (zh) * | 2011-07-12 | 2015-01-01 | Phison Electronics Corp | 記憶體儲存裝置、記憶體控制器與資料寫入方法 |
US9817749B2 (en) * | 2013-12-04 | 2017-11-14 | Sandisk Technologies Llc | Apparatus and method of offloading processing from a data storage device to a host device |
US9454422B2 (en) * | 2014-01-30 | 2016-09-27 | International Business Machines Corporation | Error feedback and logging with memory on-chip error checking and correcting (ECC) |
CN104866429B (zh) * | 2014-02-26 | 2018-02-02 | 群联电子股份有限公司 | 存储器管理方法、存储器控制电路单元与存储器存储装置 |
US20150286529A1 (en) * | 2014-04-08 | 2015-10-08 | Micron Technology, Inc. | Memory device having controller with local memory |
US9529670B2 (en) | 2014-05-16 | 2016-12-27 | International Business Machines Corporation | Storage element polymorphism to reduce performance degradation during error recovery |
WO2016175852A1 (en) * | 2015-04-30 | 2016-11-03 | Hewlett Packard Enterprise Development Lp | Memory module error tracking |
CN104858770A (zh) * | 2015-05-15 | 2015-08-26 | 苏州德锐朗智能科技有限公司 | 一种平面研磨机控制器 |
TWI581093B (zh) * | 2016-06-24 | 2017-05-01 | 慧榮科技股份有限公司 | 資料儲存媒體之損壞資料行的篩選方法 |
JP2020071888A (ja) * | 2018-10-29 | 2020-05-07 | キオクシア株式会社 | 記憶装置及び記憶方法 |
US11953988B2 (en) * | 2019-05-23 | 2024-04-09 | Micron Technology, Inc. | Error correction memory device with fast data access |
CN117519642A (zh) * | 2022-07-22 | 2024-02-06 | 台湾发展软体科技股份有限公司 | 存储装置及用于内存计算的数据重排方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6279069B1 (en) * | 1996-12-26 | 2001-08-21 | Intel Corporation | Interface for flash EEPROM memory arrays |
TW479170B (en) * | 1999-12-16 | 2002-03-11 | Hitachi Ltd | Recording/reproduction device, semiconductor memory, and memory card using the semiconductor memory |
US6446177B1 (en) * | 1998-10-05 | 2002-09-03 | Kabushiki Kaisha Toshiba | Memory system |
TWI242711B (en) * | 2001-06-28 | 2005-11-01 | Matsushita Electric Ind Co Ltd | Nonvolatile memory and control method for nonvolatile memory |
US20070136639A1 (en) * | 2005-11-22 | 2007-06-14 | Guterman Daniel C | Method for adapting a memory system to operate with a legacy host originally designed to operate with a different memory system |
US20080163033A1 (en) * | 2006-12-29 | 2008-07-03 | Samsung Electronics Co., Ltd. | Error correction circuit and method for reducing miscorrection probability and semiconductor memory device including the circuit |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6108730A (en) * | 1998-02-27 | 2000-08-22 | International Business Machines Corporation | Memory card adapter insertable into a motherboard memory card socket comprising a memory card receiving socket having the same configuration as the motherboard memory card socket |
US20080256352A1 (en) * | 2000-01-06 | 2008-10-16 | Super Talent Electronics, Inc. | Methods and systems of booting of an intelligent non-volatile memory microcontroller from various sources |
US6961890B2 (en) * | 2001-08-16 | 2005-11-01 | Hewlett-Packard Development Company, L.P. | Dynamic variable-length error correction code |
US7003702B2 (en) * | 2002-03-18 | 2006-02-21 | Emc Corporation | End-to-end checksumming for read operations |
US7530008B2 (en) * | 2003-08-08 | 2009-05-05 | Sun Microsystems, Inc. | Scalable-chip-correct ECC scheme |
US20060212649A1 (en) * | 2005-02-14 | 2006-09-21 | Roberts Henry A Jr | License table for software protection |
US7631245B2 (en) * | 2005-09-26 | 2009-12-08 | Sandisk Il Ltd. | NAND flash memory controller exporting a NAND interface |
US7512864B2 (en) | 2005-09-30 | 2009-03-31 | Josef Zeevi | System and method of accessing non-volatile computer memory |
KR20090021508A (ko) * | 2007-08-27 | 2009-03-04 | 삼성전자주식회사 | 멀티-비트 및 싱글-비트 방식으로 데이터를 저장하는플래시 메모리 장치 및 그것의 프로그램 방법 |
US8095851B2 (en) * | 2007-09-06 | 2012-01-10 | Siliconsystems, Inc. | Storage subsystem capable of adjusting ECC settings based on monitored conditions |
US20090070655A1 (en) * | 2007-09-11 | 2009-03-12 | Silicon Motion, Inc. | Method for Generating an ECC Code for a Memory Device |
-
2008
- 2008-11-14 TW TW097144160A patent/TWI396202B/zh active
-
2009
- 2009-01-23 US US12/358,879 patent/US8392797B2/en active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6279069B1 (en) * | 1996-12-26 | 2001-08-21 | Intel Corporation | Interface for flash EEPROM memory arrays |
US6446177B1 (en) * | 1998-10-05 | 2002-09-03 | Kabushiki Kaisha Toshiba | Memory system |
TW479170B (en) * | 1999-12-16 | 2002-03-11 | Hitachi Ltd | Recording/reproduction device, semiconductor memory, and memory card using the semiconductor memory |
TWI242711B (en) * | 2001-06-28 | 2005-11-01 | Matsushita Electric Ind Co Ltd | Nonvolatile memory and control method for nonvolatile memory |
US20070136639A1 (en) * | 2005-11-22 | 2007-06-14 | Guterman Daniel C | Method for adapting a memory system to operate with a legacy host originally designed to operate with a different memory system |
US20080163033A1 (en) * | 2006-12-29 | 2008-07-03 | Samsung Electronics Co., Ltd. | Error correction circuit and method for reducing miscorrection probability and semiconductor memory device including the circuit |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI782490B (zh) * | 2020-07-02 | 2022-11-01 | 日商鎧俠股份有限公司 | 接收終端、通訊系統及程式 |
Also Published As
Publication number | Publication date |
---|---|
TW201019336A (en) | 2010-05-16 |
US20100125772A1 (en) | 2010-05-20 |
US8392797B2 (en) | 2013-03-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI396202B (zh) | 錯誤校正控制器及其快閃記憶體晶片系統與錯誤校正方法 | |
US8386905B2 (en) | Error correcting method, and memory controller and memory storage system using the same | |
US9519436B1 (en) | Memory erasing method, memory controller, and memory storage apparatus | |
TWI436211B (zh) | 區塊管理方法、記憶體控制器與記憶體儲存裝置 | |
TWI551991B (zh) | 記憶體管理方法與系統及其記憶體儲存裝置 | |
US8516184B2 (en) | Data updating using mark count threshold in non-volatile memory | |
TWI591482B (zh) | 資料保護方法、記憶體控制電路單元及記憶體儲存裝置 | |
US8331151B2 (en) | Semiconductor memory including control unit responsive to erase command to determine selection of redundant memory block | |
US8423838B2 (en) | Block management method, memory controller, and memory storage apparatus | |
TWI486766B (zh) | 資料處理方法、記憶體控制器與記憶體儲存裝置 | |
TWI554886B (zh) | 資料保護方法、記憶體控制電路單元及記憶體儲存裝置 | |
TW202008171A (zh) | 資料寫入方法以及儲存控制器 | |
US9063888B2 (en) | Program code loading and accessing method, memory controller, and memory storage apparatus | |
US8219883B2 (en) | Data accessing method, controller and storage system using the same | |
TW202040370A (zh) | 資料寫入方法、記憶體控制電路單元以及記憶體儲存裝置 | |
TWI404071B (zh) | 能識別快閃記憶體中錯誤資料的控制電路及儲存系統與方法 | |
TWI509615B (zh) | 資料儲存方法、記憶體控制器與記憶體儲存裝置 | |
US9213597B2 (en) | Memory storage device, memory controller thereof, and method for programming data thereof | |
TWI733375B (zh) | 資料轉移方法與記憶體儲存裝置 | |
TWI575533B (zh) | 資料校正方法、記憶體控制電路單元與記憶體儲存裝置 | |
TWI550625B (zh) | 記憶體管理方法、記憶體儲存裝置及記憶體控制電路單元 | |
TWI417888B (zh) | An embedded chip system, a method for burning a wafer, and a computer program product | |
CN107305476B (zh) | 数据校正方法、存储器控制电路单元与存储器存储装置 | |
TW201532053A (zh) | 記憶體抹除方法、記憶體控制器與記憶體儲存裝置 | |
CN104598167A (zh) | 存储器抹除方法、存储器控制器与存储器储存装置 |