TW200821909A - Data storage device and data storage method - Google Patents

Data storage device and data storage method Download PDF

Info

Publication number
TW200821909A
TW200821909A TW096117402A TW96117402A TW200821909A TW 200821909 A TW200821909 A TW 200821909A TW 096117402 A TW096117402 A TW 096117402A TW 96117402 A TW96117402 A TW 96117402A TW 200821909 A TW200821909 A TW 200821909A
Authority
TW
Taiwan
Prior art keywords
data
memory
address
memory unit
flash memory
Prior art date
Application number
TW096117402A
Other languages
English (en)
Other versions
TWI355605B (zh
Inventor
Noboru Kawai
Tadashi Arakawa
Original Assignee
Buffalo 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 Buffalo Inc filed Critical Buffalo Inc
Publication of TW200821909A publication Critical patent/TW200821909A/zh
Application granted granted Critical
Publication of TWI355605B publication Critical patent/TWI355605B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0631Configuration or reconfiguration of storage systems by allocating resources to storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding 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/1068Adding 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Quality & Reliability (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Communication Control (AREA)
  • Read Only Memory (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

200821909 (1) 九、發明說明 【發明所屬之技術領域】 本發明,係有關於對從電腦等之主裝置所傳送而來之 資料作記憶的技術。 【先前技術】 近年來,係被提案有各種之藉由將硬碟或快閃記憶體 • 等之記憶裝置作複數組合來將資料做記錄,以提昇所記錄 之資料的信賴性之技術(參考日本特開2 0 0 0 - 2 0 7 1 3 7號公 報)。例如,在被稱爲鏡射(m i r r 〇 r i n g )之技術中,係對 被物理性或是邏輯性地分離之2個的記憶區域,進行相同 內谷之資料的寫入。藉由此,就算是在1個的記憶區域中 產生有障礙,亦成爲可藉由另1個的記憶區域來繼續使系 統動作。 但是,在鏡射中’由於係於2個的記憶區域內寫入相 Φ 同內容之資料,因此會有實質上記憶容量係成爲減半的問 題。 【發明內容】 考慮到此種問題,本發明之所欲解決的課題,係爲在 使用複數之記憶區域來對資料作記憶時,能在提昇資料之 信賴性的同時’將原本之記憶容量有效的作利用。 基於上述之課題,本發明之其中一種形態的資料記憶 裝置,係爲將從主裝置所傳送而來之資料作記憶的資料記 -4- 200821909 (2) 憶裝置,其特徵爲,具備有:第1記憶部,係具有特定之 記憶區域;和第2記憶部’係具有特定之記憶區域;和監 視手段,其係至少對前述第1記憶部的使用區域作監視; 和寫入控制手段,其係在從前述主裝置而被傳送有前述資 料時,當使用前述監視手段而判斷前述第1記憶部係殘存 有記憶區域時,將該資料寫入至前述第1記憶部,同時將 用以修正該資料之修正用資料寫入前述第2記憶部,而當 φ 判斷前述第1記憶部係未殘存有記憶區域時,一面將已記 憶於前述第2記憶部之前述修正用資料作消去,一面將該 資料寫入至該第2記憶部。 若是藉由上述構成之資料記憶裝置,則只要在第1記 憶部中係殘存有記憶區域,則將從主裝置所傳送而來之資 料寫入至第1記憶部,並將用以修正該資料之資料寫入至 第2記憶部。因此,假設被記憶於第1記憶部中之資料因 爲某些原因而損壞,亦能藉由使用被寫入至第2記憶部中 φ 之修正用資料,來對此作修正。 進而,在上述構成之資料記憶裝置中,若是在第1記 億部中係並不殘存有記憶區域,則係一面將被寫入至第2 記憶部之修正用資料作消去,一面在此第2記憶部中亦寫 入從主裝置所傳送而來之資料。因此,成爲可對第1記憶 部與第2記憶部之記憶容量作有效的利用。亦即是,若藉 由上述構成,則能達成資料之信賴性的提昇以及記憶容量 的有效利用,而成爲能提供功能性的資料記憶裝置。另 外,所謂的第1記憶部與第2記憶部,係可爲物理性地被 -5- 200821909 (3) 分離之記憶裝置,亦可爲在1個的記憶裝置 作邏輯分割所形成者。 在上述構成之資料記憶裝置中,前述寫 係亦可具備有:編碼手段,其係根據從前述 而來之資料,產生錯誤訂正碼,以作爲前述 若藉由此種構成,則使用被記憶於第2 誤訂正碼,而成爲能將被記憶於第1記憶部 φ 的作訂正。錯誤訂正碼,例如係可利用漢明 編碼或循環(c y c 1 i c )編碼、里德所 solomon )編碼等之各種的編碼技術而產^ 碼,一般係被稱爲ECC資料。 在上述構成之資料記憶裝置中,前述編 可產生與從前述主裝置所傳送而來之資料相 或是較其爲更少之位元數的錯誤訂正碼者。 在此種構成中,若是爲產生與從主裝置 # 資料相同位元數的錯誤訂正碼者,則由於從 而來之資料,與從該資料所產生之修正用資 的資料長度,因此能將此些資料記憶於第1 記憶部中之相同的位址,而成爲能容易地進 又,若是爲產生較從主裝置所傳送而來之資 數的訂正碼者,則能夠減少被記憶於第2記 用資料的容量。 在上述構成之資料記憶裝置中,前述寫 係亦可具備有一種手段,其係產生:與從前 內將記憶區域 入控制手段, 主裝置所傳送 修正用資料。 記憶部中之錯 中之資料容易 (hamming) 羅門(r e e d -。錯誤訂正 碼手段,係亦 同位元數、又 所傳送而來之 主裝置所傳送 料係成爲相同 記憶部與第2 行位址管理。 料更少之位元 憶部中之修正 入控制手段, 述主裝置所傳 -6 - 200821909 (4) 送而來之資料相同的資料,又或是將構成從前 傳送而來之資料的各位元作反轉所成的資料, 修正用資料。 若藉由此種構成,則由於係產生:與從前 傳送而來之資料相同的資料,又或是將構成從 所傳送而來之資料的各位元作反轉所成的資料 述修正用資料,因此修正用資料之產生係成爲 φ 減輕處理負擔。又,在進行讀取資料時之錯誤 由於僅需要單純地對兩資料作比較即可,因此 係被減輕,而能防止處理速度的降低。 在上述構成之資料記憶裝置中,前述寫入 係在將從前述主裝置所傳送而來之資料寫入至 憶部時,依據將前述第1記憶部之物理性的最 述第2記憶部之物理性的最終位址作結合後的 間,來進行對前述第2記憶部之資料的寫入。 • 若藉由此種構成,則在將通常資料寫入至 的動作狀態中,係成爲能不對第1記憶部與第 記憶區域作區別,而無縫(seamless )的指定/ 在上述構成之資料記憶裝置中,係亦可 有:讀取控制手段,其係在從前述主裝置接收 取要求時,當接收有該讀取要求之資料的記憶 述第1記憶部,且在前述第2記憶部中存在有 產生之修正用資料的情況時,將該資料從前述 中作讀取,同時將該修正用資料從前述第2記 述主裝置所 以作爲則述 述主裝置所 前述主裝置 ’以作爲前 容易,而能 檢查中,亦 處理之負擔 控制手段, 前述第2記 終位址與前 假想位址空 第2記憶部 2記憶部之 立址。 更進而具備 到資料之讀 目標係爲前 由該資料所 第1記憶部 ,憶部中作讀 200821909 (5) 取,而根據該修正用資料來對該資料作修正,並將該資料 傳送至前述主裝置。 若藉由此種構成,則根據被記憶於第1記憶部中之資 料,和被記憶於第2記憶部中之修正用資料,而能針對從 主裝置而接受有讀取要求之資料,進行錯誤之檢查或是訂 正。因此,能提昇資料的信賴性。 在上述構成之資料記憶裝置中,前述讀取控制手段, Φ 係亦可具備有:在接收到前述讀取要求之資料的記憶目標 係爲前述第1記憶部,且在前述第2記憶部中並不存在有 由該資料所產生之修正用資料的情況時,將該資料從前述 第1記憶部中作讀取,同時將該資料直接傳送至前述主裝 置的手段。 若藉由此種構成,則就算是被記憶於第2記憶部中之 修正資料已被消去’亦能適當地從第1記憶部中讀取出資 料,並傳送至主裝置。 • 在上述構成之資料記憶裝置中,前述讀取控制手段, 係亦可具備有:在接收到前述讀取要求之資料的記憶目標 係爲前述第2記憶部,且係爲該第2記憶部中之被記錄有 通常之資料的區域時,將該資料從該第2記憶部中作讀 取,同時將該資料直接傳送至前述主裝置的手段。 若藉由此種構成,則在將通常資料記憶於第2記憶部 之動作狀態中,能適當地從第2記憶部中讀取出資料,並 傳送至主裝置。 在上述構成之資料記憶裝置中,前述讀取控制手段, -8 - 200821909 (6) 係亦可具備有:在接收到前述讀取要求之資料的記憶目標 係爲前述第2記憶部中的被記錄有前述修正用資料的區域 時’並不進行從前述第2記憶部中之資料的讀取,而將特 疋之資料作爲虛設資料(dummy data )並傳送至前述主裝 置的手段。 在將通常資料寫入至第2記憶部的動作狀態中,第2 s己憶部之被gB憶有修正用資料的區域,本來,係是會被主 Φ 裝置認識爲空白區域的區域。故而,藉由上述構成,就算 是在從此種區域來讀取資料的情況時,將特定之資料作爲 虛設資料而傳送到了主裝置,主裝置亦會將該區域認識爲 無效之資料。作爲虛設資料,例如,係可設爲以1 6進位 而表示爲「00」或「FF」、「55」、「AA」等的資料。 在上述構成之資料記憶裝置中,前述寫入控制手段, 亦可爲:在將從前述主裝置所傳送而來之資料寫入至前述 第2記憶部的情況時,係記憶有展示該資料之被寫入的最 Φ 大位址之位址指標(address pointer ),前述讀取控制手 段,係根據前述位址指標,而判斷對應於接受有前述讀取 要求之資料的修正用資料是否有被記憶於前述第2記憶 部’又或是,判斷接受有前述讀取要求之資料的記憶目 標,是否爲前述第2記憶部中之被記憶有前述修正用資料 的區域者。 若藉由此種構成,則成爲能將第2記憶部內之記憶有 通常資料的區域與記憶有修正用資料的區域,經由上述之 位址指標而明確的判別。故而,若是使用此位址指標,則 -9- 200821909 (7) 成爲能夠容易的判斷對應於接受有讀取要求之資料的修正 用資料是否有被記憶於第2記憶部中,或是接受有讀取要 求之資料的記憶目5標是否爲第2記憶部之被記憶有修正 用資料的區域。 又’在上述構成之資料記憶裝置中,前述寫入控制手 段’係亦可爲:在將從前述主裝置所傳送而來之資料寫入 至前述第2記憶部的情況時,係記憶有:針對該第2記憶 φ 部之各個的位址,展示其是否有被書寫資料的特定之表格 (table) ’前述讀取控制手段,係根據前述表格,而判斷 對應於接受有前述讀取要求之資料的修正用資料是否有被 記憶於前述第2記憶部,又或是,判斷接受有前述讀取要 求之資料的記憶目標,是否爲前述第2記憶部中之被記憶 有前述修正用資料的區域者。 在此種構成中,針對第2記憶部之各個的位址,藉由 使用展示其是否有被書寫資料的特定表格,而成爲亦能容 φ 易的進行上述之各種的判斷。 在上述構成之資料記憶裝置中,係亦可具備有:不論 在前述第1記憶部中是否殘存有記憶區域,均會因應於特 定之設定操作動作,而禁止前述寫入控制手段所致之對前 述第2記憶部的通常資料之寫入的手段。 若藉由此種構成,則由於係可任意的限制對第2記憶 部之通常資料的寫入,因此能提昇使用者的便利性。此種 設定操作,係可採用藉由被設置於記憶裝置之物理性的開 關,或是藉由在與資料記憶裝置相連接的主機上動作之應 -10- 200821909 (8) 用程式來進行者。 在上述構成之資料記憶裝置中,前述第1記憶部與前 述第2記憶部,係亦可爲具有相同之記憶容量者。 若藉由此種構成,則可使第1記憶部與第2記憶部之 位址作一對一的對應而記憶資料與修正用資料。故而,能 容易的進行位址管理。又,在此種構成中,作爲第1及第 2記憶部,由於係可採用相同種類之裝置,因此成爲能降 φ 低製造成本。另外,第1記憶部與第2記憶部,係並不一 定需要爲相同之容量,亦可使第2記憶部之記憶容量成爲 較第1記憶部爲大。又,修正用資料之資料長度,若是爲 較從主裝置所傳送而來之資料的資料長度更短,則成爲可 將第2記憶部之容量設爲較第1記憶部更小。 在上述構成之資料記憶裝置中,前述資料,係亦可爲 從前述主裝置經由USB介面而被傳送者。 若是爲此種構成,則只要將本發明之資料記憶裝置連 # 接在電腦等之主裝置所準備的USB埠,即可容易的利用 本發明之資料記憶裝置。因此,能提昇使用者的便利性。 在上述構成之資料記憶裝置中,前述第1記憶部與前 述第2記憶部,係亦可爲不揮發性之半導體記憶體。作爲 不揮發性之半導體記憶體,例如,係可利用NAND或 NOR型之各種的快閃記憶體、EEPROM、有電池備源的 DRAM 等。 若藉由此種構成,則能夠提供具有優良攜帶性之小型 的資料記憶裝置。另外,作爲第1及第2記憶部,除了半 -11 - (9) (9)200821909 導體記憶體之外’例如,亦可採用硬碟或是可抹寫之光碟 片等。又’對第1記憶部與第2記憶部,亦可採用完全相 異之種類的裝置。 另外’本發明’除了作爲上述之資料記憶裝置的構成 外’亦可作爲如下述一般之資料記憶方法的構成。亦即 是’係爲一種資料記憶方法,係爲使具備有具有特定之記 憶區域的第1記憶部與第2記憶部之資料記裝置,將從主 裝置所傳送而來之資料作記憶的資料記憶方法,其特徵 爲:對前述第1記憶部的使用區域作監視,在從前述主裝 置而被傳送有前述資料時,當前述監視結果係判斷前述第 1記憶部中殘存有記憶區域時,將該資料寫入至前述第i 記憶部,同時將用以修正該資料之修正用資料寫入前述第 2記憶部,而當前述監視結果係判斷前述第1記憶部中未 殘存有記憶區域時,一面將已記憶於前述第2記憶部之前 述修正用資料作消去,一面將該資料寫入至該第2記憶 部。 藉由此種資料記憶方法,亦可得到與上述之各種效果 同樣的功效。 [實施方式】 以下’爲了顯明上述之本發明的作用、效果,將本發 明之實施形態根據實施例而依以下順序作說明。 A :資料記憶裝置之槪略構成 B :資料記憶裝置之動作槪要 -12- 200821909 (10) C :各種處理 (C 1 )主處理 (C2 )指標設定處理 (C3 )寫入處理 (C4)讀取處理 D :效果 E :變形例 A :資料記憶裝置之槪略構成 圖1,係爲展示作爲實施例之資料記憶裝置1 0的_ 略構成之說明圖。如圖示一般,本實施例之資料記憶_ 1 0,係在內部具備有2個的快閃記憶體(第1快閲記憶p FL1與第2快閃記憶體FL2 )。作爲快閃記憶體之類別, 例如,係可利用NAND型之快閃記憶體或NOR型之快問 記憶體。 9 資料記憶裝置1 〇,係具備有:在通常動作時,係對 於第1快閃記憶體FL 1書寫資料,並對第2快問記憶體 FL2,寫入用以對寫入至第1快閃記憶體FL 1中之資料作 修正的ECC資料之功能。於以下,將此種動作狀態,稱 爲「資料保障模式」。又,資料記憶裝置10,係具備 有:若是第1快閃記憶體F L 1之殘存容量成爲〇時,則對 於第2快閃記憶體FL2,一面將已被寫入之ECC資料作 消去,一面在此第2快閃記憶體FL2中亦寫入通常的資料 之功能。於以下,將此種動作狀態,稱爲「容量優先模 •13- 200821909 (11) 式」。 如圖1所示一般,本實施例之資料記憶裝置1 0,係 經由MSB連接器1 10、和USB控制電路120、和快閃控 制器1 3 0、和第1快閃記憶體FL1與第2快閃記憶體FL2 所構成。 USB連接器1 1 0,係從資料記憶裝置1 0之筐體(圖 中之虛線部分)露出而被設置,並被連接於個人電腦或印 • 表機等之主機器(以下,單純稱爲「主機」)中所具備的 USB介面上。
USB控制電路120,係被連接於USB連接器1 10與快 閃控制器1 3 0上。USB控制電路1 20,係爲將該資料記憶 裝置10作爲USB大容量儲存等級(Mass Storage Class ) 之裝置而動作的電路,而爲基於U S B協定來控制與主機 之通訊的電路。此USB控制電路120,係更進而具備有: 將從主機所受訊之USB指令變換爲ΑΤΑ指令或是SCSI • 指令、或是將從快閃控制器1 3 0所受訊之狀態訊號或資料 變換爲USB指令之功能。所謂 ΑΤΑ指令,係爲經由 ANSI (American National Standard Institute)而被標準 化的指令,而除了用以控制本實施例之資料記憶裝置10 之外,亦爲用以對硬碟或是PC卡型記憶體等之各種資料 記憶裝置進行資料的寫入讀取控制之汎用指令。SCSI指 令,其汎用性係爲較ΑΤΑ指令更高,而爲除了硬碟等之 記憶裝置以外,亦可對掃描器等作控制的指令。 快閃控制器130,係爲對從USB控制電路120所傳送 -14 - 200821909 (12) 而來之ΑΤΑ指令(或是SCSI指令)作解釋,並對經由匯 流排開關150所連接之第1快閃記憶體FL1或第2快閃記 憶體FL2之資料的讀取寫入作控制的積體電路。快閃控制 器130,係爲了進行此種控制,而在內部具備有CPU或 ROM、RAM等。於此ROM中,係被記錄有用以對資料記 憶裝置1 0之動作作控制的程式。CPU,係一面將RAM作 爲工作區域來使用,一面藉由實行此程式,而控制資料記 φ 憶裝置1 〇之全般的動作。 快閃控制器130,係具備有位址變換電路140與匯流 排開關1 5 0。位址變換電路1 4 0,係將可對2個的快閃記 憶體之資料記憶區域作連續存取的假想位址,變換爲第1 快閃記憶體FL1或是第2快閃記憶體FL2之實際位址的 電路。在此種位址變換中,係使用有被記憶於暫存器145 中之位址指標的値。如上述所示,在本實施例之資料記憶 裝置10中,係具有資料保障模式與容量優先模式之2種 • 的動作狀態,其中,在容量優先模式中,係就算對於第2 快閃記憶體FL2,亦寫入通常資料。於此,快閃控制器 1 3 0 ’係使用可對2個的快閃記憶體之資料記憶區域作連 續存取的假想位址,而位址變換電路1 4 0,係將此假想位 址變換爲各快閃記憶體之實際位址。藉由此,快閃控制器 1 3 0,係成爲不需要對快閃記憶體之種類作考慮,即可進 行資料之讀取寫入。 匯流排開關1 5 0,係被連接於快閃控制器〗3 〇與第1 快閃記憶體FL 1和第2快閃記憶體FL2。匯流排開關 -15- 200821909 (13) 150,係根據從快閃控制器130所被輸出之指令(寫入指 令或是讀取指令)或是存取對象之快閃記憶體的位址,而 進行成爲資料之輸入輸出目標的快閃記憶體之切換。此匯 流排開關150,係在內部具備有:ECC編碼器160與ECC 解碼器170,和虛設資料輸出電路180。 ECC編碼器160,係在資料保障模式中,將收到有從 主機而來之寫入指示的資料漢明碼化,並產生ECC資料 φ 的電路。所產生之ECC資料,係被寫入至第2快閃記憶 體FL2中。在本實施例中,對於1位元之資料,係產生! 位元之ECC資料。另外,ECC資料,係除了漢明碼編碼 之外,亦可爲經由循環編碼或是里德所羅門編碼等之其他 編碼技術所產生者。 另一方面,ECC解碼器170,係爲用以在資料保障模 式或是容量優先模式中,將從第2快閃記憶體FL2所讀取 出之ECC資料,根據從第1快閃記憶體FL1所讀出之通 φ 常資料而作解碼,並進行所讀出之資料的錯誤檢查與修正 的電路。 虛設資料輸出電路180,係在容量優先模式中,當主 機欲從第2快閃記憶體FL2中之被記錄有ECC資料(正 確而言,係爲用以修正第1快閃記憶體FL 1內之資料的 ECC資料)的區域中來讀取出資料時,輸出虛設資料(例 如,『〇〇』)的電路。關於此虛設資料輸出電路180之動 作的詳細內容,係如後述。 匯流排開關1 5 0,係因應於資料記憶裝置1 〇之動作 -16- 200821909 (14) 狀態,而變更上述之ECC編碼器160與ECC解 與虛設資料輸出電路180及第1快閃記憶體FL1 閃記憶體FL2之連接狀態。此種變更之形態,係 對於各種的處理之說明中一倂作說明。 B :資料記憶裝置之動作槪要 圖2,係爲展示資料保障模式時之資料記# φ 之內部記憶映射表的說明圖。於圖之左側,係展 快閃記憶體FL1被藉由FAT形式而格式化,並 1個的分割區之例。 在FAT形式之格式化中,第1快閃記憶體 憶區域,係被分離爲管理區域MA與使用者 DA。管理區域MA,係經由被稱爲主啓動磁區( 爲「MBR區域」)或是BIOS參數區塊(以 「BPB區域」)、FAT1、FAT2、根目錄等之區 • 成。F A T之資料構造’由於係爲週知,故以下係 之各區域而作簡單說明。 MBR區域,係爲被連接於主機時所最先被 域。在此主啓動區域中,係被記錄有啓震 (bootstrap code )或是磁碟分割區表格( t a b 1 e )等。在磁碟分割區表格中,係被記錄有: 磁碟分割區的數量、或是各磁碟分割區之開始扇 束扇區、偏移(offset)、總扇區數等的資訊。 B P B區域,係被記錄於各磁碟分割區的起 碼器1 70 和第2快 在後述之 I裝置10 示有第1 被形成有 FL1之記 資料區域 以下,稱 下,稱爲 域而被構 針對此些 讀取的區 Kj程式碼 partition 所產生之 區以及結 ;扇區,而 -17- 200821909 (15) 被記錄有該磁碟分割區之格式化形式或扇區數、、FAT數 等。 在FAT1以及FAT2中,係被記錄有構成被記錄於使 用者資料區域DA之各檔案的叢集鏈(cluster chain)之 資訊。在FAT1以及FAT2中,係被記錄有相同之資訊。 在根目錄中,係被記錄有在root中的檔案之檔案名 或是副檔名、屬性、構成該檔案之最初的叢集號碼等。 • 如圖2之右側所示,當資料保障模式時,在第2快閃 記憶體FL2中,係被記錄有:從被寫入於第1快閃記憶體 FL1中的資料,經由ECC編碼器160而產生的ECC資 料。如上述一般,在本實施例中,相對於1位元的資料, 係產生有1位元之ECC資料,因此,第1快閃記憶體 FL 1和第2快閃記憶體FL2之位址係成爲一對一的對應。 亦即是,對應於被記錄於第1快閃記憶體FL 1之某位址中 的資料之ECC資料,係被記錄於第2快閃記憶體FL2之 9 相同位址中。 當資料保障模式時,資料記憶裝置1 0,若是從主機 收到有資料之寫入指示,則只要在第1快閃記憶體FL 1中 殘存有使用者區域DA,則該資料係朝向第1快閃記憶體 FL1之使用者區域DA的下位位址而被寫入。而,從該資 料所產生之ECC資料,係被寫入至第2快閃記憶體FL2 的相同位址中。另一方面,若是收到有從主機而來之資料 的讀取指示,則在從第1快閃記憶體FL 1的被指定位址來 將資料作讀取的同時,從第2快閃記憶體FL2之相同位址 -18- 200821909 (16) 中讀取出ECC資料。而後,根據此些之資料,藉由Ecc 貧料而進行錯誤的檢查或是資料的修正。 圖3’係爲展示容量優先模式時之資料記憶裝置1〇 之內部記憶映射表的說明圖。如圖示一般,當第1快問苦己 憶體FL1之使用者區域DA的殘存區域變爲〇,而資料記 憶裝置10之動作狀態,被從資料保障模式而切換到容量 優先模式,則資料記憶裝置1〇,係將從主機而收到有寫 • 入指令的資料’在第2快閃記憶體FL2之使用者區域DA 中,從最終位址Β η起而反向的作寫入。此時,當在寫入 目標中存在有ECC資料時,在將該ECC資料作消去後, 再進行資料之寫入。在此容量優先模式中,資料記憶裝置 1〇,係並不進行ECC資料之產生。 當資料記憶裝置1 0係以容量優先模式而動作時,在 第2快閃記憶體FL2之使用者區域DA中,係存在有:記 憶在資料保障模式時所被寫入之ECC資料的區域、和記 ^ 憶在動作狀態被切換爲容量優先模式後所被寫入之通常資 料的區域之兩種類的區域。於此,資料記憶裝置1 0,爲 了辨別此兩種類之區域的邊界,而準備有顯示該邊界之位 址的位址指標ΑΡ3,並將其記憶於暫存器145中。此位址 指標ΑΡ3,若是在第2快閃記憶體FL2中依序被寫入有資 料,則成爲從第2快閃記憶體FL2之最終位址Bn起,朝 向該使用者區域DA之起始位址B5而移動。 資料記憶裝置1 0,就算是在容量優先模式中,若是 在從第1快閃記憶體FL 1中讀取出對應於第2快閃記憶體 -19 - 200821909 (17) FL2之殘存有ECC資料之區域的資料時,則亦和資料保 障模式中相同的,可以進行使用有ECC資料之資料的修 正或是錯誤的檢查。於此,資料記憶裝置1〇,爲了辨別 第1快閃記憶體FL1內之該區域,而將對應於第2快閃記 憶體FL2之位址指標AP3的第1快閃記憶體FL1之位 址,作爲位址指標AP2而記憶於暫存器14 5中。此位址 指標AP3,若是在第2快閃記憶體FL2被依序寫入有資 # 料,則係成爲從第2快閃記憶體FL2之最終位址Bn起, 朝向該使用者區域D A之起始位址B 5而移動。此位址指 標AP2,若是在第2快閃記憶體FL2被依序寫入有資料, 則係成爲從第1快閃記憶體FL2之最終位址An起,朝向 該使用者區域D A之起始位址A5而移動。 此位址指標AP2,當快閃控制器1 3 0判斷第1快閃記 憶體FL 1之記憶區域是否有殘存時,亦被使用。亦即是, 快閃控制器1 3 0,係監視此位址指標AP2,而若是位址指 • 標AP2顯示有第1快閃記憶體FL1之最終位址An,則可 以判斷第1快閃記憶體F L 1係殘存有記憶容量。因此,在 此情況中,快閃控制器130,係對第1快閃記憶體FL1進 行資料的寫入。另一方面,若是位址指標AP2顯示有較 最終位址An更低之位址,則快閃控制器1 3 0,係可以判 斷第1快閃記憶體FL 1未殘存有記憶容量。在此情況中, 快閃控制器1 3 0,係對第2快閃記憶體FL2進行資料的寫 入。 進而,資料記憶裝置1 〇,爲了辨別第1快閃記憶體 -20- 200821909 (18) FL1之管理區域ΜΑ與使用者資料區域da的邊界,而準 備有顯示該邊界之位址的位址指標AP 1,並將其記憶於暫 存器145中。在後述之寫入處理或讀取處理中,藉由使用 上述之位址指標API〜AP3,而進行成爲資料之讀取寫入 目標的快閃記憶體之判別或是ECC資料之產生的有無等 之判斷。 圖4,係爲展示快閃控制器1 3 0所使用之假想位址, φ 和從主機所能認識之位址空間的說明圖。如圖示一般,資 料記憶裝置1 〇,若是動作狀態被切換至容量優先模式, 則第1快閃記憶體FL1之最終實際位址An與第2快閃記 憶體FL2之最終實際位址Bn係被連接,並作爲具有1個 的記憶區域者而動作。此時,第1快閃記憶體FL 1之最終 實際位址,由於係爲「An」,因此第2快閃記憶體FL2 1 之最終實際位址Bn,作爲假想位址係成爲「An + 1」。 又,由於第1快閃記憶體FL 1與第2快閃記憶體 Φ FL2 1係爲相同容量,因此第2快閃記憶體FL2之使用者 資料區域D A的起始實際位址B 5,作爲假想位址係成爲 「2An — API」。亦即是,在容量優先模式中,藉由位址 變換電路1 40之動作,作爲資料記憶裝置1 〇之實際位 址,從主機係可由假想位址A0起而一直辨識至假想位址 (2An — API )爲止,而此連續之區域,係成爲可被無縫 (seamless )地作存取。另外,假想位址A0〜An之位址 値,係爲與第1快閃記憶體FL1之實際位址相同的位址値 (A0 〜An ) 〇 -21 -
200821909 (19) C :各種處理 (C 1 )主處理 圖5 ’係爲展不貪料記憶裝置1 〇所實 流程圖。 此處理,係在與資料記憶裝置1 〇被連接 供給有電源的同時,快閃控制器1 3 〇所開始實 若是此處理被開始,則首先,快閃控制器 據已被記憶於2個的快閃記憶體中之資料的位 用以設定位址指標AP 1〜AP 3之値的指標設淀 S 1 0 )。關於此指標設定處理的詳細內容,係? 接下來,快閃控制器13 0,係經由USB _ 及USB控制電路120,而判斷是否從主機而g 的指令(步驟S20 )。當未接收有指令時(
No ),藉由反覆進行此處理,而成爲待機狀 收有指令爲止。另一方面,當接收有指令時( Yes ),則判別該指令的種類(步驟S30 )。 在上述指令S 3 0中,所接收之指令,若是 行資料之寫入的寫入指令(步驟S30 : 「寫7 閃控制器1 3 0,係進行後述之寫入處理(步騷 一方面,所接收之指令,若是被判斷爲進行養 讀取指令(步驟S 3 0 : 「讀取」),則進行後 理(步驟S 5 0 )。而後,若是結束了此些之處 係回到上述之步驟S20處。若是藉由以上所 之主處理的 於主機並被 行之處理。 1 3 0,係根 置,而進行 處理(步驟 口後述。 接器1 1 0以 收到有任何 步驟 S20 : 態,直到接 步驟S 2 0 : 被判斷爲進 」),貝丨J快 S40 )。另 料之讀取的 述之讀取處 理,則處理 說明之主處 -22- 200821909 (20) 理,則直到電源供給被停止爲止’係成爲進行因應於從主 機所接收之指令的處理。 (C2)指標設定處理 圖6,係爲在上述之主處理的步驟siO中所實行之指 標設定處理的流程圖。此指標設定處理,係爲用以根據已 被記憶於2個的快閃記憶體中之資料的位置,而求取出位 φ 址指標之初期値的處理。在以下之說明中的「位址」,若 是未特別明記,則係指在圖4中所示之假想位址。 若是此處理被實行,則首先,快閃控制器1 3 0,係對 第1快閃記憶體FL1之MBR區域與BPB區域進行讀取 (步驟S100)。而後,判斷在此些之區域中是否已被寫 入有MBR資訊與BPB資訊(步驟S1 10 )。 在上述之步驟S1 10中,當判斷MBR資訊與BPB資 訊並未被寫入時(步驟 S 1 1 0 : No ),則資料記憶裝置 # 10,由於係爲尙未被格式化的狀態,因此快閃控制器 1 3 0,係將位址指標A P 1〜A P 3之値如下述一般的設定。 亦即是,將位址指標AP1以及AP2之値,設爲相當於第 1快閃記憶體FL 1之物理性的最終位址之位址An,並將 位址指標AP3之値,設定爲相當於第2快閃記憶體FL2 之物理性的最終位址之位址(An + 1 )。當資料記憶裝置 1 〇爲未格式化時,經由該處理,而結束該指標設定處 理。 在上述步驟S 1 1 0中,當MBR區域與BPB區域分別 -23- 200821909 (21) 被判斷爲記錄有MBR資訊與BPB資訊時(步驟S110 : Yes ),則快閃控制器130,係根據被記錄於MBR區域或 是BPB區域中之磁碟分割區表格或是扇區數量等之資 訊,而計算出使用者區域 DA之起始位址 A5 (步驟 S13 0 )。若是如此地計算出位址 A5,則快閃控制器 1 3 0,係將位址指標AP 1之値,設定爲此位址「A5」(步 驟 S140 )。 φ 接下來,快閃控制器1 3 0,係對被記錄於FAT區域中 之資訊作解析,並求取出已被寫入於使用者資料區域DA 中之資料的最大位址(以下,稱爲「最大寫入位址」) (步驟S 1 5 0 )。在FAT區域中,由於係被記錄有相關於 檔案之叢集鏈的資訊,因此藉由對所有檔案之叢集鏈作探 索,而能夠求取出最大寫入位址EA。另外,在FAT 1以 及FAT2中,由於係被記錄有相同之資訊,因此對任一者 之資訊作解析均可。 φ 若是求取出最大寫入位址E A,則快閃控制器1 3 0, 係將此最大寫入位址EA與身爲第1快閃記憶體FL 1之最 終位址的位址An作比較,並判斷最大寫入位址EA是否 超過此位址An (步驟s 1 6 0 )。根據此判斷之結果’若是 最大寫入位址EA爲超過位址An,則判斷在第2快閃記 憶體FL2中係亦已被寫入有使用者資料,而可判斷動作模 式係爲容量優先模式(參考圖4)。因此,快閃控制器 130,係如下述一般來設定位址指標AP2、AP3之値。亦 即是,將位址指標Ap3之値,設定爲最大寫入位址EA, 24- 200821909 (22) 並將位址指標AP2之値,設定爲從位址An之2倍的位址 値減去最大寫入位址E A所得的位址(2八11一£八)(步驟 S170)。如此所求得之位址指標AP2與位址指標AP3, 在第1快閃記憶體FL1與第2快閃記憶體FL2之實際位 址中,係成爲表示相同之位址(參考圖3、圖4)。 在上述步驟S160中,當最大寫入位址EA,被判斷爲 在位址An以下時(步驟S 1 60 : No ),則在第1快閃記憶 φ 體FL 1中係殘存有使用者資料區域DA,而可判斷動作模 式係爲資料保障模式。因此快閃控制器1 3 0,係將位址指 標AP2之値設定爲位址An,而將位址指標AP3設定爲位 址「An+1」(步驟S180)(參考圖2)。 若是藉由以上之處理而設定位址指標 API〜AP 3之 値,則快閃控制器1 3 0,係將此些之値記錄於暫存器1 4 5 中(步驟S 1 90 ),並結束一連串的指標設定處理,而回 到主處理中。 (C3 )寫入處理 圖7,係爲在上述之主處理的步驟S40中所實行之寫 入處理的流程圖。此寫入處理,係爲用以將從主機所接收 的書寫資料寫入至快閃記憶體中的處理。 若是此處理被實行,則首先,快閃控制器130,係對 從主機而經由USB控制電路所收訊的寫入指令作解析, 並求取出寫入目標之位址(以下,稱爲「寫入位址 WA」)(步驟 S200 )。 -25- 200821909 (23) 接下來,快閃控制器1 3 0,係參考暫存器1 45,而判 斷寫入位址WA是否爲較位址指標AP 1所表示之位址更 低的位址(步驟S2 10)。根據此判斷之結果,若是寫入 位址WA爲較位址指標API所表示之位址爲更低的位址 (步驟S2 1 0 : Yes ),則判斷其係爲對第1快閃記憶體 FL1之管理區域MA的寫入(參考圖3、4 )。因此,快閃 控制器1 3 0,係在第1快閃記憶體FL1之寫入位址W A, φ 寫入書寫資料,進而,在第2快閃記憶體FL2之實際位址 WA (圖3之實際位址B0〜BN5中的任一者)中,寫入從 書寫資料所產生之ECC資料(步驟S220)。 圖8,係爲展示在上述步驟S 220中,於進行資料之 寫入時的匯流排開關1 5 0之內部構成的說明圖。如圖示一 般,在此情況中,匯流排開關1 5 0,係在將快閃控制器 130分歧地連接於內部之緩衝器BF1與ECC編碼器160 的同時,將緩衝器BF1與第1快閃記憶體FL 1相連接, # 並進而將ECC編碼器160與第2快閃記憶體FL2相連 接。若藉由此種匯流排開關1 5 0之構成,則可將書寫資料 輸出至第1快閃記憶體FL 1,並可將從該資料所產生之 ECC資料輸出至第2快閃記憶體FL2。 若是結束了經由上述步驟S220而對管理區域MA之 書寫資料的寫入,以及ECC資料的寫入,則快閃控制器 1 3 0,係實行在圖6中所說明的設定處理(步驟S 2 3 0 )。 藉由此,就算不是在對資料記憶裝置i 〇之電源投入之後 立即進行’亦可在資料記憶裝置1 0之格式化結束時,將 -26- (24) (24)200821909 位址指標API〜AP3的値作適當設定。 在上述步驟S210中,當判斷出寫入位址WA爲較位 址指標 API所示之位址更高之位址時(步驟 S210 : N 〇 ),則快閃控制器1 3 0,接下來係參考暫存器1 4 5,而 判斷寫入位址WA是否爲較位址指標AP2所表示之位址 更低的位址(步驟S240 )。根據此判斷之結果,若是寫 入位址WA被判斷爲較位址指標AP2所表示之位址爲更 低的位址(步驟S240 : Yes ),則寫入位址WA係成爲存 在於位址指標AP 1所示之位址與位址指標AP2所示之位 址之間的區域。此時,不論資料記憶裝置1 0之動作狀態 係爲資料保障模式或是容量優先模式,在第2快閃記憶體 FL2之對應於寫入位址WA的位址中,均成爲被寫入ECC 資料(參考圖2、3 )。故而,快閃控制器13 0,係在第1 快閃記憶體FL 1之寫入位址WA,寫入書寫資料,並在第 2快閃記憶體FL2之相同位址WA (實際位址)中,寫入 從書寫資料所產生之ECC資料(步驟S250 )。此時之匯 流排開關的內部構成,係和圖8所示之構成相同。 在上述步驟S240中,當判斷出寫入位址WA爲較位 址指標 AP2所示之位址更高之位址時(步驟 S240 ·· No ),則快閃控制器1 3 0,接下來係判斷寫入位址W A是 否爲較第1快閃控制器FL 1之最終位址An更低的位址 (步驟S260 )。根據此判斷之結果,若是寫入位址 WA 被判斷爲較位址An爲更低的位址(步驟S260 : Yes ), 則寫入位址WA係成爲存在於位址指標AP2所示之位址 -27- 200821909 (25) 與位址An之間的區域。亦即是,此時,由於位址指標 AP2係成爲較位址An更低之位址,因此可以判斷現在的 動作狀態係爲容量優先模式,又,亦可以判斷在第2快閃 記憶體FL2之對應於寫入位址WA的位址中,並未存在有 ECC資料(參考圖3)。故而,快閃控制器130,對於第 2快閃記憶體FL2,係並不進行ECC資料之寫入,而在第 1快閃記憶體FL1之寫入位址WA中,寫入書寫資料(步 φ 驟 S 2 7 0 )。 圖9,係爲展示在上述步驟S270中,於進行書寫資 料之寫入時的匯流排開關1 50之內部構成的說明圖。如圖 示一般,在此情況中,匯流排開關1 5 0,係在將快閃控制 器130連接於內部之緩衝器BF1的同時,將此緩衝器BF1 與第1快閃記憶體FL 1相連接。另一方面,匯流排開關 1 5 0,係並不進行快閃控制器1 3 0與第2快閃記憶體FL2 間的連接。若藉由此種匯流排開關1 50之構成,則能僅對 # 第1快閃記憶體FL 1進行書寫資料之寫入。 在上述步驟S260中,當判斷出寫入位址WA爲較第 1快閃記憶體FL 1之最終位址An更高的位址,亦即是, 被判斷出係爲第2快閃記憶體FL2內之位址時(步驟 S260: No),則快閃控制器130,接下來係判斷寫入位址 WA是否爲較位址指標AP3所示之位址更高的位址(步驟 S280 )。根據此判斷之結果,若是寫入位址WA被判斷爲 較位址指標AP3所表示之位址更高的位址(步驟S280: Yes ),則可判斷其係爲對第2快閃記憶體FL2之被記錄 -28-
200821909 (26) 有ECC資料的區域之寫入(參考圖4)。因此 器130,首先係將從位址指標AP3所示之位址 入位址WA爲止之資料作消去(步驟S290 ) 位址指標AP3之値作再設定並設爲書寫位址 位址,而將位址指標AP2之値作再設定並藍 WA」(步驟S3 00 ),而後在第2快閃記憶體 入位址W A中,寫入書寫資料(步驟s 3 1 0 ) 驟S3 00中,當位址指標AP3初次超過位ill 時,資料記憶裝置1 〇之動作狀態,係從資料 移行到容量優先模式。 圖10,係爲展示在上述步驟S310中,於 料之寫入時的匯流排開關1 5 0之內部構成的說 示一般,在此情況中,匯流排開關1 5 0,係在 器1 3 0連接於內部之緩衝器BF2的同時,將Itt 與第2快閃記憶體FL2相連接。另一方面, 1 5 0,係並不進行快閃控制器1 3 0與第1快閃 間的連接。若藉由此種匯流排開關1 50之構成 第2快閃記憶體FL2進行書寫資料之寫入。 在上述步驟S2 80中,當判斷出寫入位址 址指標 AP3所示之位址更低之位址時(沒 No ),則可以判斷寫入位址WA係爲第2快饮 內之寫入通常資料的區域內之位址。因此, 130,係並不進行ECC資料之消去,而對第2 FL2之寫入位址WA (圖3之位址B5〜Bn之 ,快閃控制 開始直到寫 。而後,將 WA所示之 :爲「2 A η — FL2內之寫 。在上述步 .(An + 1 ) 保障模式而 進行書寫資 明圖。如圖 將快閃控制 緩衝器BF2 匯流排開關 記憶體FL1 ,則能僅對 WA爲較位 、驟 S280 : 控制器FL2 快閃控制器 快閃記憶體 範圍內,實 -29- 200821909 (27) 際位址(2Bn - WA )),進行書寫資料之寫入(步驟 S310)。此時之匯流排開關150的內部構成,係和圖1〇 所示之構成相同。 右藉由以上所說明之寫入處理,則藉由將寫入位址 WA與位址指標AP 1〜AP3等作適當的比較,而成爲能因 應於現在之資料記憶裝置1 0的動作模式來將資料之寫入 作適當的處理。 (C4)讀取處理 圖11,係爲在上述之主處理的步驟S50中所實行之 讀取處理的流程圖。此讀取處理,係爲用以因應於從主機 而來之要求,而從快閃記憶體中將資料作讀取的處理。 若是此處理被實行,則首先,快閃控制器1 3 0,係對 從主機而經由U S B控制電路1 2 0所收訊的讀取指令作解 析,並求取出讀取目標之位址(以下,稱爲「讀取位址 φ RA」)(步驟 S400 )。 接下來,快閃控制器1 3 0,係參考暫存器1 4 5,而判 斷讀取位址RA是否爲較位址指標AP2所表示之位址更低 的位址(步驟S41 0 )。根據此判斷之結果,若是讀取位 址RA爲較位址指標AP2所表示之位址爲更低的位址(步 驟S410 : Yes),則在第2快閃記憶體FL2之對應於讀取 位址RA的位址中,係成爲存在有ECC資料(參考圖 3 )。故而,快閃控制器130,係從第1快閃記憶體FL1 之讀取位址RA讀取出資料,同時,從第2快閃記憶體 •30- 200821909 (28) FL2之讀取位址RA (實際位址)讀取出ECC資料(步驟 S420 )。當快閃控制器1 3 0將此些之資料讀取出時,在匯 流排開關150內,係經由ECC解碼器170,而進行錯誤檢 查以及錯誤修正(步驟S430)。若是錯誤檢查以及錯誤 修正被進行,則快閃控制器1 3 0,係將所讀取之資料透過 USB控制電路120而傳送至主機(步驟S440 )。 圖12,係爲展示在上述步驟S420中,於進行資料之 Φ 讀取時的匯流排開關1 5 0之內部構成的說明圖。如圖示一 般,在此情況中,匯流排開關1 5 0,係在將快閃控制器 130連接於內部之ECC解碼器170的同時,將第1快閃記 憶體FL1和第2快閃記憶體FL2與ECC解碼器170相連 接。若是藉由此種匯流排開關1 50之構成,則根據從第1 快閃記憶體FL1所讀取之資料和從第2快閃記憶體FL2 所讀取之ECC資料,能夠經由ECC解碼器170而進行錯 誤之檢查或是資料之修正。當未發生有錯誤的情況,或是 # 資料被修正的情況時,該資料,係透過快閃控制器1 3 0而 被輸出至主機。相對於此,當發生有錯誤,而無法對資料 作修正的情況時,係將此事態透過快閃控制器1 3 0而通知 至主機。 在上述步驟S410中,當判斷出讀取位址RA爲較位 址指標 AP2所示之位址更高之位址時(步驟 S410 : No ),則快閃控制器1 3 0,接下來係判斷讀取位址RA是 否爲較第1快閃控制器FL 1之最終位址An更低的位址 (步驟S 4 5 0 )。根據此判斷之結果,若是讀取位址R A被 -31 - 200821909 (29) 判斷爲較位址An更低的位址(步驟S450 : Yes ),則讀 取位址RA係成爲存在於位址指標AP2所示之位址與位址 An之間的區域。亦即是,此時,由於位址指標AP2係成 爲較位址An更低之位址,因此可以判斷現在的動作狀態 係爲容量優先模式,又,亦可以判斷在第2快閃記憶體 F L 2之對應於讀取位址RA的位址中,並未存在有E C C資 料(參考圖3 )。故而,快閃控制器13 0,係僅從第1快 • 閃記憶體FL1之讀取位址RA處將資料作讀取(步驟 S460 ),並將此傳送至主機(步驟S440 )。 圖13,係爲展示在上述步驟S460中,於進行資料之 讀取時的匯流排開關1 5 0之內部構成的說明圖。如圖示一 般,在此情況中,匯流排開關1 50,係在將快閃控制器 130連接於內部之緩衝器BF3的同時,將此緩衝器BF3與 第1快閃記憶體FL 1相連接。另一方面,匯流排開關 1 50,係並不進行快閃控制器1 30與第2快閃記憶體FL2 # 間的連接。若藉由此種匯流排開關1 50之構成,則能僅對 第1快閃記憶體FL 1進行資料之讀取。 在上述步驟S4 50中,當判斷出讀取位址RA爲較第1 快閃記憶體F L1之最終位址An更高的位址,亦即是,被 判斷出係爲第2快閃記憶體FL2內之位址時(步驟 S450 : No),則快閃控制器130,接下來係判斷讀取位址 RA是否爲較位址指標AP3所示之位址更低的位址(步驟 S 47 0 )。根據此判斷之結果,若是讀取位址RA被判斷爲 較位址指標AP3所表示之位址更低的位址(步驟S470: -32- 200821909 (30)
Yes ) ’則可判斷其係爲對第2快閃記憶體FL2之被記錄 有通常資料的區域進行讀取(參考圖3、4)。故而,快 閃控制器1 3 0,係僅從第2快閃記憶體FL2內之讀取位址 RA處將資料作讀取(步驟S480 ),並將此傳送至主機 (步驟 S440 )。 圖1 4,係爲展示在上述步驟S 4 8 0中,於進行資料之 讀取時的匯流排開關1 5 0之內部構成的說明圖。如圖示一 般,在此情況中,匯流排開關1 5 0,係在將快閃控制器 130連接於內部之緩衝器BF4的同時,將此緩衝器BF4與 第2快閃記憶體FL2相連接。另一方面,匯流排開關 1 5 0,係並不進行快閃控制器1 3 0與第1快閃記憶體FL 1 間的連接。若藉由此種匯流排開關1 50之構成,則能僅對 第2快閃記憶體FL2進行資料之讀取。 在上述步驟S470中,若是讀取位址RA被判斷爲較 位址指標AP3更高的位址(步驟S470 : No ),則係成爲 對第2快閃記憶體FL2之被記錄有ECC資料的區域作讀 取(參考圖4 )。在容量優先模式中,此區域’由於係有 必要使主機將其認識爲未使用區域,故而,快閃控制器 1 3 0,係使用匯流排開關1 5 0內之虛設資料輸出電路 180,而產生虛設資料「00」(步驟S490),並將此傳送 至主機(步驟S 4 4 0 )。藉由此,主機係成爲將此區域認 識爲未被記錄有任何的資料。另外,作爲虛設資料’除了 「〇〇」之外’例如,係可爲產生有「FF」或「AA」、 「5 5」等的資料者。 -33- 200821909 (31) 圖15,係爲展示在上述步驟S490中,於進行虛設資 料之讀取時的匯流排開關1 5 0之內部構成的說明圖。如圖 示一般,在此情況中,匯流排開關1 5 0,係將內部之虛設 資料產生電路1 80連接於快閃控制器1 30,而並不進行第 1快閃記憶體FL1或第2快閃記憶體FL2與快閃控制器 1 3 0之連接。若藉由此種匯流排開關1 5 0之構成,則能從 虛設資料產生電路1 80而僅讀取出虛設資料。 φ 若藉由以上所說明之讀取處理,則藉由將讀取位址 RA與位址指標AP2、AP3等作適當的比較,而成爲能因 應於現在之資料記憶裝置1 〇的動作模式,來從適當的區 域中將通常資料或是ECC資料作讀取。 D :效果 以上,針對本實施例之資料記憶裝置1 0的詳細構成 以及其處理作了說明。若藉由本實施例之資料記憶裝置 1 〇,若是在第1快閃記憶體FL 1中殘存有記憶區域,則係 將從主機而接收到寫入指令之資料,寫入至第1快閃記憶 體FL1,並進而對第2快閃記憶體FL2,寫入用以對該資 料作修正的ECC資料。因此,假設被記憶於第〗快閃記 憶體FL 1中之資料因爲某些原因而損壞,亦能藉由使用被 寫入至第2快閃記憶體FL2中之ECC資料,來對此作修 正。 進而,本實施例之資料記憶裝置1〇,若是第1快問 δ己憶體F L 1之殘存容量成爲〇時,則對於第2快閃記憶體 -34- 200821909 (32) FL2,——面將已被寫入之ECC資料作消去,一面在此第2 快閃記憶體FL2中亦寫入從主機所傳送而來之資料。因 此,成爲可對具備有2個的快閃記憶體之資料記憶裝置 1 〇的記憶容量作有效的利用。由以上可知,若藉由本實 施例,則能達成資料之信賴性的提昇以及記憶容量的有效 利用,而成爲能提供功能性的資料記憶裝置。 _ E :變形例 以上,雖針對本發明之實施例作了說明,但是本發明 係並不限定於此種實施例,不用說,在不脫離此要旨的範 圍內,可以採用各種之構成。例如,經由硬體所實現之功 能,係可爲經由軟體而實現者。除此之外,亦可作如下述 一般之變形。 (E1 )變形例1 : # 在上述實施例中,於資料保障模式中,對於第2快閃 記憶體FL2,係爲使其記錄ECC資料者。相對於此,在 第2快閃記憶體FL2中,係亦可寫入與被寫入至第丨快閃 記憶體FL 1中之內容相同的資料。若藉由此種構成,由於 Η泛夠提昇資料之几長性’因此能夠提昇其耐障害性。又, 若藉由此種構成,則由於僅需將兩者之資料作對比,即可 進行錯誤之檢查,因此能夠減輕資料記憶裝置1 〇之處理 負擔。 在採用此種構成的情況中,關於被記錄在第1快閃記 -35- 200821909 (33) 憶體F L 1中之資料,與被記錄在第2快閃記憶體F L 2中 之資料何者係爲正常資料一事,係可藉由利用被標準記錄 於快閃記憶體中之ECC資料來作判別。在具備有汎用的 快閃控制器與NAND型快閃記憶體之資料記憶裝置中,在 1個的快閃記憶體中,於每2 0 4 8位元組之資料中,係標 準的被記錄有6 4位元組的E C C資料。故而,使用此E C C 資料,進行被記錄於快閃記憶體內之資料的錯誤檢查,並 Φ 藉由將從未發生有錯誤的快閃記憶體所輸出之資料傳送至 主機,而成爲能夠輸出正常的資料。 另外,在本變形例中,對於第2快閃記憶體FL2,雖 係寫入與弟1快閃記憶體F L 1相同內容之資料,但是,除 此之外,例如亦可對於第2快閃記憶體FL2,寫入將被寫 入第1快閃記憶體FL 1中之資料的各位元作反轉後的資 料。 # ( E2)變形例2 : 在上述實施例中,係藉由使用位址指標,而進行對快 閃記憶體內之管理區域Μ A與使用者區域D A間之判別, 以及對被寫入有通常資料之區域與被寫入有ECC資料之 區域的判別。相對於此,例如,經由使用對在快閃記憶體 內之各個的位址中是否被記憶有資料一事作管理的表格 (table ),亦可進行與上述實施例相同的處理。 圖1 6 ’係爲展示對第2快閃記憶體F L 2內之資料的 記憶狀態作顯示的表格之其中一例的說明圖。在此表格 -36- 200821909 (34) TBL中,係針對於圖4所示之第2快閃記憶體FL2 從假想位址(An+1)起直到假想位址(2An— API) 之各個的位址,而分別被分配有1位元的區域。此各 之位元狀態,係顯示在對應於該位元之位址中是否被 有資料。亦即是,當「1」的情況時,係爲被記憶 料,而當「0」的情況時,則表示未被記憶有資料。 快閃控制器1 3 0,在對於第2快閃記憶體FL2 • ECC資料之資料保障模式中,於此表格TBL內,係 未進行有任何之寫入。亦即是,在資料保障模式時, TBL之各位元,係維持爲「〇」。 相對於此,當在第2快閃記憶體FL2中寫入通常 的容量優先模式中,若是在第2快閃記憶體FL2中寫 資料’則將對應於該寫入位址之表格TBL內的位元 爲「1」。藉由此,能夠容易的判別在第 2快閃記 FL2中之何一位址內被進行有資料之寫入。 • 之後’快閃控制器1 3 0,係藉由參考此表格之位 態,而能容易的判別,在第2快閃記憶體FL2中是否 入有ECC資料,或者是,是否應從第2快閃記憶體 來將ECC資料作讀取。例如,當在第丨快閃記憶體 中寫入資料時,若是對應於第1快閃記憶體FL 1內之 位址的第2快閃記憶體FL2之位址,其在表格上之位 「1」時’則可以判斷在第2快閃記憶體FL2之該 中’係已記錄有通常資料。故而,在此情況時,僅對 快閃記憶體FL 1進行資料之寫入。又,當在第1快閃 內的 爲止 位元 記憶 有資 寫入 設爲 表格 資料 入有 設定 憶體 元狀 被寫 FL2 FL1 寫入 元爲 位址 第1 記憶 -37- 200821909 (35) 體FL1中寫入資料時,若是對應於第〗快閃記 內之寫入位址的第2快閃記憶體FL2之位址,其 之位元爲「0」時,則可以判斷在第2快閃記 中,係尙未被寫入有通常資料。故而,在此情況 第1快閃記憶體FL 1進行資料之寫入的同時,功 快閃記憶體F L 2寫入E C C資料。 若藉由以上所說明之變形例,則藉由使用表 Φ 能夠對第2快閃記憶體FL2內之寫入狀態作詳細 故而’就算是在將容量小的資料寫入隨機之位址 使用狀態下’亦成爲能適當的進行通常資料或是 料的寫入、讀取。 (E3 )變形例3 : 在上述實施例中,當第1快閃記憶體FL 1的 成爲0時,資料記憶裝置丨〇的動作狀態,係自 ^ 料保障模式而被切換至容量優先模式者。相對於 在資料sfi憶裝置1 〇中設置模式切換開關,並經 之設定,而使動作狀態變化。藉由此,使用者係 資料記憶裝置1 〇之利用形態,而柔軟的對動作 定。例如,當目的係爲對重要之資料作保存時, kf弟2快閃記憶體f L 2之通常資料的寫入,而倉g 資料記憶裝置10設定爲資料保障模式。又,當 保存容量大的資料時,則可以強制的將資料記 設定爲容量優先模式。在預設狀態中,爲了提; 憶體FL1 在表格上 憶體FL2 時,在對 ;可對第2 格 TBL, 的管理。 中之類的 ^ ECC 資 資料容量 動的從資 此,亦可 由此開關 可因應於 模式作設 藉由禁止 強制的將 目的係爲 I裝置10 資料之信 -38·
200821909 (36) 賴性,資料記憶裝置1 〇,係可爲強制的被設定 障模式者。 此種動作模式之設定,係可不爲物理性之開 而亦可爲藉由軟體來進行者。作爲藉由軟體來 法,例如,係可將用以進行模式切換之專用的應 裝至主機中,並藉由以此應用程式來對資料記f 發行模式切換指令,而使快閃控制器1 3 0或是 電路1 20對此指令作解析,並進行動作模式之切 (E 4 )變形例4 : 在上述實施例中,被寫入至第1快閃記憶體 料,與被寫入至第2快閃記憶體FL2之ECC資 具備有相同之資料容量者。因此,係將第1 1夬 FL 1與第2快閃記憶體FL2作爲具有相同容量者 明。但是,第2快閃記憶體FL2所需要之記憶溶 係因應於ECC資料之大小而變化,因此第1枝 FL1與第2快閃記憶體FL2,係亦可爲具備相異 量者。例如,相較於被寫入至第1快閃記憶體 料,若是被寫入至第2快閃記憶體FL2之ECC 料長度係爲較短,則可將第2快閃記憶體FL2 量,設爲較第1快閃記憶體FL 1之資料容量爲更 又,就算被寫入至第1快閃記憶體FL 1之_ 寫入至第2快閃記憶體FL2之ECC資料的資赛 相同,係亦可使第2快閃記憶體FL2具備有較, 爲資料保 關操作, 實現的方 用程式安 、裝置10 USB控制 換。 FL1之資 料,係爲 閃記憶體 而作了說 量,由於 閃記憶體 之資料容 FL1之資 資料的資 之資料容 少〇 料,與被 長度係爲 之資料容 -39 - 200821909 (37) 量。此時’當資料記憶裝置1 0係在資料保障模式下動作 的情況時,雖然無法對第2快閃記憶體F L 2之資料容量作 活用,但是當移行至容量優先模式時,若是第2快閃記憶 體FL2之資料容量越多,則全體之容量亦成爲增加。 (E5 )變形例5 : 在上述實施例中,如圖4所示,在容量優先模式時, φ 係將第1快閃記憶體F L 1之最終實際位址,與第2快閃記 憶體FL2之最終實際位址作結合,而進行位址之管理。相 對於此,亦可採用:將第1快閃記憶體FL 1之最終實際位 址’與第2快閃記憶體FL2內之使用者資料區域的起始實 際位址作結合,而進行位址之管理者。在此種構成中,當 動作狀態移行至容量優先模式時,係成爲將第2快閃記憶 體FL2中之ECC資料從較舊者依序作消去。 • ( E6)變形例6 : 在上述實施例中,係並未針對資料記憶裝置1 0之動 作狀態在從資料保障模式而移行至容量優先模式之後,再 度移行至資料保障模式時的情況作說明。但是,藉由採用 以下之方法,係成爲可以再度移行至資料保障模式。亦即 是’在移行至容量優先模式後,當資料係從第1快閃記憶 體FL1或者是第2快閃記憶體FL2被消去,而使得所記 錄之資料的全部容量成爲第1快閃記憶體FL 1之使用者資 料區域DA以下時,則實行重組(defragmentation),並 -40- 200821909 (38) 將全部的資料,移動至第1快閃記憶體FL1之使用者資料 區域中。之後,進而從被移動至第1快閃記憶體FL1之各 個的資料,產生ECC資料,並將此記錄在第2快閃記憶 體FL2中。藉由實行以上之處理,係成爲可以使動作狀態 從容量優先模式再度移行至資料保障模式。此種處理,係 可以設定爲當所記憶之資料的全容量成爲第1快閃記憶體 FL 1之使用者資料區域以下時,自動作實行者,亦可設爲 藉由設置在資料記憶裝置1 〇之物理性的開關之操作,或 是藉由被安裝於主機內之專用的應用程式所致的操作來實 行者。 (E7 )變形例7 : 在上述實施例中,就算是資料記憶裝置1 0之動作狀 態係爲容量優先模式,只要在第2快閃記憶體FL2中殘存 有ECC資料,就能使用此ECC資料而進行錯誤修正。相 對於此,亦可設定爲:當動作狀態被切換至容量優先模式 時,則將ECC資料全部消去,或是將其當作不存在。若 藉由此種構成,則由於在容量優先模式中,係不需要對在 第2快閃記憶體FL2中是否存在有ECC資料一事作判 斷,因此成爲能夠減輕處理負擔,並提昇讀取、寫入的速 度。 (E 8 )變形例8 : 在上述實施例中,資料記憶裝置10,作爲記憶裝 -41 - 200821909 (39) 置,係具備有快閃記憶體。相對於此,例如,亦可 備有硬碟或是可抹寫之光碟片等來作爲記憶裝置者 在上述實施例中,雖係採用具備有2個的快閃記憶 但是,並不限定於此數量,而可設爲具備有偶數個 記憶體者。此時,可將2個的快閃記憶體作爲一組 各組之快閃記憶體進行與實施例相同的處理。又, 實施例中,雖係採用具備有在物理性上相異之2個 記憶體,但是,亦可將1個的快閃記憶體內之記憶 輯分割爲2個的區域,並將所分割之其中一方的區 成上述實施例中之第1快閃記憶體FL 1來處理,並 一方當成上述實施例中之第2快閃記憶體FL2來處 (E9 ):變形例9 在上述實施例中,雖係將資料記憶裝置1 0作 FAT形式而被格式化者而作了說明,但是格式化之 並不限定於此。例如,亦可應用NTFS或HP FS (登錄商標)EXT等的各種形式。 又,在上述實施例中,雖係將第1快閃記憶體 第2快閃記憶體FL2之資料的記憶場所,以「位址 了說明’但是此用語,係可因應於格式化之種類或 系統、記憶裝置之種類,而適宜的改稱爲「磁區」 集」、「區塊」、「區塊位址」等。 本發明,係並不應被上述之實施例、變形例、 形態等而限定解釋,本發明之保護範圍,不用說係 採用具 〇又, mm Jbii 體者, 的快閃 ,並對 在上述 的快閃 區域遴 域,當 將另外 理。 爲經由 形式係 、Linux FL1或 」來作 是作業 、「叢 其他之 應根據 -42· 200821909 (40) 申請項以及本發明之精神來作解釋。 【圖式簡單說明】 圖1,係爲展示資料記憶裝置之槪略構成的說明圖。 圖2,係爲展示資料保障模式時之資料記憶裝置之內 部記憶映射表的說明圖。 圖3,係爲展示容量優先模式時之資料記憶裝置之內 Φ 部記憶映射表的說明圖。 圖4,係爲展示快閃控制器所使用之假想位址,和主 裝置所能認識之位址空間的說明圖。 Η 5 ’係爲主處理之流程圖。 圖6,係爲指標設定處理之流程圖。 圖7 ’係爲寫入處理之流程圖。 圖8 ’係爲展示匯流排開關之內部構成的說明圖。 圖9 ’係爲展示匯流排開關之內部構成的說明圖。 ® 圖1 0 ’係爲展示匯流排開關之內部構成的說明圖。 圖1 1 ’係爲讀取處理之流程圖。 圖1 2 ’係爲展示匯流排開關之內部構成的說明圖。 圖1 3 ’係爲展示匯流排開關之內部構成的說明圖。 圖1 4 ’係爲展示匯流排開關之內部構成的說明圖。 圖1 5 ’係爲展示匯流排開關之內部構成的說明圖。 圖1 6 ’係爲展示對第2快閃記憶體內之資料的記憶 狀態作顯示的表格之其中一例的說明圖。 -43- 200821909 (41) 【主要元件對照表】 1 〇 :資料記憶裝置 1 10 : USB連接器 120: USB控制電路 1 3 0 :快閃控制器 140 :位址變換電路 145 :暫存器 φ 150 :匯流排開關 160: ECC編碼器 170: ECC解碼器 180:虛設資料輸出電路 AP 1 :位址指標 AP2 :位址指標 AP3 :位址指標 BF3 :緩衝器 # BF4 :緩衝器 DA :使用者資料區域 FL1 :第1快閃記憶體 FL2 :第2快閃記憶體 MA :管理區域 TBL :表格 -44-

Claims (1)

  1. 200821909 (1) 十、申請專利範圍 1 · 一種資料記憶裝置,係爲將從主裝置所傳送而來 之資料作記憶的資料記憶裝置,其特徵爲,具備有: 第1記憶部,係具有特定之記憶區域;和 第2記憶部,係具有特定之記憶區域;和 監視手段,其係至少對前述第1記憶部的使用區域作 監視;和 • 寫入控制手段,其係在從前述主裝置而被傳送有前述 資料時,當使用前述監視手段而判斷前述第1記憶部係殘 存有記憶區域時,將該資料寫入至前述第1記憶部,同時 將用以修正該資料之修正用資料寫入前述第2記憶部,而 當判斷前述第1記憶部係未殘存有記憶區域時,一面將已 記憶於前述第2記憶部之前述修正用資料作消去,一面將 該資料寫入至該第2記憶部。 2·如申請專利範圍第1項所記載之資料記憶裝置, • 其中’前述寫入控制手段,係具備有:編碼手段,其係根 據從前述主裝置所傳送而來之資料,產生錯誤訂正碼,以 作爲前述修正用資料。 3 ·如申請專利範圍第2項所記載之資料記憶裝置, 其中’前述編碼手段,係產生與從前述主裝置所傳送而來 之資料相同位元數、又或是較其爲更少之位元數的錯誤訂 正碼。 4·如申請專利範圍第1項所記載之資料記憶裝置, 其中,前述寫入控制手段,係具備有:產生與從前述主裝 -45- 200821909 (2) 置所傳送而來之資料相同的資料,又或是將構成從前述主 裝置所傳送而來之資料的各位元作反轉所成的資料,以作 爲前述修正用資料的手段。 5 ·如申請專利範圍第1項所記載之資料記憶裝置, 其中’前述寫入控制手段,係在將從前述主裝置所傳送而 來之資料寫入至前述第2記憶部時,依據將前述第〗記憶 部之物理性的最終位址與前述第2記憶部之物理性的最終 H 位址作結合後的假想位址空間,來進行對前述第2記憶部 之資料的寫入。 6.如申請專利範圍第1項所記載之資料記憶裝置, 其中’係更進而具備有:讀取控制手段,其係在從前述主 裝置接收到資料之讀取要求時,當接收有該讀取要求之資 料的記憶目標係爲前述第丨記憶部,且在前述第2記憶部 中存在有由該資料所產生之修正用資料的情況時,將該資 料從前述第1記憶部中作讀取,同時將該修正用資料從前 ® 述第2記憶部中作讀取,而根據該修正用資料來對該資料 作修正’並將該資料傳送至前述主裝置。 7 ·如申請專利範圍第6項所記載之資料記憶裝置, 其中’前述讀取控制手段,係具備有: 在接收到前述讀取要求之資料的記憶目標係爲前述第 1記憶部,且在前述第2記憶部中並不存在有由該資料所 產生之修正用資料的情況時,將該資料從前述第〗記憶部 中作讀取,同時將該資料直接傳送至前述主裝置的手段。 8.如申請專利範圍第6項又或是第7項所記載之資 -46- 200821909 (3) 料記憶裝置,其中,前述讀取控制手段,係具備有:在接 收到前述讀取要求之資料的記憶目標係爲前述第2記憶 部,且係爲該第2記憶部中之被記錄有通常之資料的區域 時’將該資料從該第2記憶部中作讀取,同時將該資料直 接傳送至前述主裝置的手段。 9·如申請專利範圍第6項乃至第8項中之任一項所 記載之資料記憶裝置,其中,前述讀取控制手段,係具備 φ 有:在接收到前述讀取要求之資料的記憶目標係爲前述第 2記憶部中的被記錄有前述修正用資料的區域時,並不進 行從前述第2、記憶部中之資料的讀取,而將特定之資料作 爲虛設資料(dummy data )並傳送至前述主裝置的手段。 1 〇 ·如申請專利範圍第6項乃至第9項中之任一項所 記載之資料記憶裝置,其中, 前述寫入控制手段,在將從前述主裝置所傳送而來之 資料寫入至前述第2記憶部的情況時,係記憶有展示該資 馨 料之被寫入的最大位址之位址指標(a d d r e s s p o i n t e r ), 前述讀取控制手段,係根據前述位址指標,而判斷對 應於接受有前述讀取要求之資料的修正用資料是否有被記 憶於前述第2記憶部,又或是,判斷接受有前述讀取要求 之資料的記憶目標,是否爲前述第2記憶部中之被記憶有 前述修正用資料的區域。 1 1 ·如申請專利範圍第6項乃至第9項中之任一項所 記載之資料記憶裝置,其中, 前述寫入控制手段,在將從前述主裝置所傳送而來之 -47- 200821909 (4) 資料寫入至前述第2記憶部的情況時,係記憶有: 第2記憶部之各個的位址,展示其是否有被書寫資 定之表格(table), 前述讀取控制手段,係根據前述表格,而判斷 接受有前述讀取要求之資料的修正用資料是否有被 前述第2記憶部,又或是,判斷接受有前述讀取要 料的記憶目標’是否爲前述第2記憶部中之被記憶 • 修正用資料的區域。 1 2 ·如申請專利範圍第1項乃至第1 1項中之 所記載之貪料憶裝置,其中,係具備有:不論在 1記憶部中是否殘存有記憶區域,均會因應於特定 操作動作,而禁止前述寫入控制手段所致之對前述 憶部的通常資料之寫入的手段。 1 3 .如申請專利範圍第1項乃至第1 2項中之 所記載之資料記憶裝置,其中,前述第1記憶部與 φ 2記憶部,係具有相同之記憶容量。 1 4 ·如申請專利範圍第1項乃至第1 3項中之 所記載之資料記憶裝置,其中,前述資料,係從前 置經由USB介面而被傳送。 1 5 .如申請專利範圍第1項乃至第1 4項中之 所記載之資料記憶裝置,其中,前述第1記憶部與 2記憶部,係爲不揮發性之半導體記憶體。 1 6 .如申請專利範圍第1 5項所記載之資料 置,其中,前述不揮發性之半導體記憶體,係爲快 針對該 料的特 對應於 記憶於 求之資 有前述 任一項 前述第 之設定 第2記 任一項 前述第 任一項 述主裝 任一項 前述第 記憶裝 閃記憶 -48- (5) 200821909 體。 1 7. —種資料記憶方法,係爲使具備 憶區域的第1記憶部與第2記憶部之資料 主裝置所傳送而來之資料作記憶的資料記 爲: 對前述第1記憶部的使用區域作監視 在從前述主裝置而被傳送有前述資料 結果係判斷前述第1記憶部中殘存有記憶 料寫入至前述第1記憶部,同時將用以修 用資料寫入前述第2記憶部, 而當前述監視結果係判斷前述第1記 記憶區域時,一面將已記憶於前述第2記 用資料作消去,一面將該資料寫入至該第 有具有特定之記 記憶裝置,將從 憶方法,其特徵 時,當前述監視 區域時,將該資 正該資料之修正 憶部中未殘存有 憶部之前述修正 2記憶部。
    -49-
TW096117402A 2006-05-18 2007-05-16 Data storage device and data storage method TW200821909A (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006138780A JP4700562B2 (ja) 2006-05-18 2006-05-18 データ記憶装置およびデータ記憶方法

Publications (2)

Publication Number Publication Date
TW200821909A true TW200821909A (en) 2008-05-16
TWI355605B TWI355605B (zh) 2012-01-01

Family

ID=38723330

Family Applications (1)

Application Number Title Priority Date Filing Date
TW096117402A TW200821909A (en) 2006-05-18 2007-05-16 Data storage device and data storage method

Country Status (7)

Country Link
US (1) US8136015B2 (zh)
EP (1) EP2031492B1 (zh)
JP (1) JP4700562B2 (zh)
CN (1) CN101449234B (zh)
AT (1) ATE521030T1 (zh)
TW (1) TW200821909A (zh)
WO (1) WO2007136018A1 (zh)

Cited By (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI383399B (zh) * 2009-03-03 2013-01-21 Wistron Corp 嵌入式電子裝置及資料儲存方法
TWI406175B (zh) * 2008-08-20 2013-08-21 Nuvoton Technology Corp 記憶卡以及用於記憶卡之方法
US8886990B2 (en) 2011-01-27 2014-11-11 Apple Inc. Block management schemes in hybrid SLC/MLC memory
TWI468938B (zh) * 2011-09-30 2015-01-11 Intel Corp 用於配備具有可組態分區之不變性隨機存取記憶體的平台儲存階層之方法,設備及系統
TWI472945B (zh) * 2009-04-14 2015-02-11 Fineart Technology Co Ltd 外接式儲存裝置及其製造方法與資訊安全管理方法
TWI475387B (zh) * 2012-07-19 2015-03-01 Jmicron Technology Corp 記憶體控制方法及記憶體控制電路
TWI489373B (zh) * 2012-05-18 2015-06-21 Silicon Motion Inc 資料儲存裝置和快閃記憶體之區塊管理方法
TWI497280B (zh) * 2013-07-08 2015-08-21 Phison Electronics Corp 資料保護方法、記憶體儲存裝置與記憶體控制器
TWI507976B (zh) * 2014-03-14 2015-11-11 Toshiba Kk Semiconductor memory device
US9337873B2 (en) 2013-05-24 2016-05-10 SK Hynix Inc. Miscorrection detection for error correcting codes using bit reliabilities
US9378133B2 (en) 2011-09-30 2016-06-28 Intel Corporation Autonomous initialization of non-volatile random access memory in a computer system
US9430372B2 (en) 2011-09-30 2016-08-30 Intel Corporation Apparatus, method and system that stores bios in non-volatile random access memory
TWI551989B (zh) * 2009-09-03 2016-10-01 晶先鋒科技股份有限公司 快閃儲存系統之管理方法
US9529708B2 (en) 2011-09-30 2016-12-27 Intel Corporation Apparatus for configuring partitions within phase change memory of tablet computer with integrated memory controller emulating mass storage to storage driver based on request from software
TWI643066B (zh) * 2018-01-15 2018-12-01 慧榮科技股份有限公司 用來於一記憶裝置中重新使用關於垃圾收集的一目的地區塊之方法、記憶裝置及其控制器以及電子裝置
TWI644215B (zh) * 2017-11-02 2018-12-11 慧榮科技股份有限公司 用來控制一資料儲存裝置的運作之方法以及資料儲存裝置及其控制器
TWI658361B (zh) * 2017-09-05 2019-05-01 群聯電子股份有限公司 記憶體管理方法、記憶體控制電路單元與記憶體儲存裝置
TWI710903B (zh) * 2016-09-30 2020-11-21 南韓商三星電子股份有限公司 偽主記憶體系統及操作該系統的方法
US11030088B2 (en) 2016-07-29 2021-06-08 Samsung Electronics Co., Ltd. Pseudo main memory system
US11132298B2 (en) 2011-09-30 2021-09-28 Intel Corporation Apparatus and method for implementing a multi-level memory hierarchy having different operating modes

Families Citing this family (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8103936B2 (en) 2007-10-17 2012-01-24 Micron Technology, Inc. System and method for data read of a synchronous serial interface NAND
JP2009211234A (ja) * 2008-03-01 2009-09-17 Toshiba Corp メモリシステム
TWI389127B (zh) * 2008-08-01 2013-03-11 Jmicron Technology Corp 快閃記憶體的配置方法
US8555143B2 (en) * 2008-12-22 2013-10-08 Industrial Technology Research Institute Flash memory controller and the method thereof
US8595593B2 (en) * 2008-12-24 2013-11-26 Hynix Semiconductor Inc. Nonvolatile memory device having a copy back operation and method of operating the same
WO2010116538A1 (en) * 2009-04-06 2010-10-14 Hitachi, Ltd. Storage apparatus and data transfer method
US8381077B2 (en) * 2009-09-08 2013-02-19 Lsi Corporation Systems and methods for implementing error correction in relation to a flash memory
US8352839B2 (en) 2010-06-11 2013-01-08 International Business Machines Corporation Encoding data into constrained memory
US8972821B2 (en) * 2010-12-23 2015-03-03 Texas Instruments Incorporated Encode and multiplex, register, and decode and error correction circuitry
US20120226949A1 (en) * 2011-03-02 2012-09-06 Texas Instruments Incorporated Multi-Channel Bus Protection
JP5458064B2 (ja) * 2011-07-14 2014-04-02 株式会社東芝 不揮発性半導体メモリ
CN102915207A (zh) * 2011-08-01 2013-02-06 建兴电子科技股份有限公司 固态储存装置及其数据储存方法
US9195530B1 (en) 2011-09-06 2015-11-24 Western Digital Technologies, Inc. Systems and methods for improved data management in data storage systems
US8707104B1 (en) 2011-09-06 2014-04-22 Western Digital Technologies, Inc. Systems and methods for error injection in data storage systems
US8700834B2 (en) 2011-09-06 2014-04-15 Western Digital Technologies, Inc. Systems and methods for an enhanced controller architecture in data storage systems
US8713357B1 (en) * 2011-09-06 2014-04-29 Western Digital Technologies, Inc. Systems and methods for detailed error reporting in data storage systems
US10359949B2 (en) * 2011-10-31 2019-07-23 Apple Inc. Systems and methods for obtaining and using nonvolatile memory health information
CN103164351B (zh) * 2011-12-16 2016-04-27 宏碁股份有限公司 数据存取方法
US9015519B2 (en) * 2012-01-31 2015-04-21 Symantec Corporation Method and system for cluster wide adaptive I/O scheduling by a multipathing driver
US9053008B1 (en) 2012-03-26 2015-06-09 Western Digital Technologies, Inc. Systems and methods for providing inline parameter service in data storage devices
US9135097B2 (en) * 2012-03-27 2015-09-15 Oracle International Corporation Node death detection by querying
US9146856B2 (en) 2012-04-10 2015-09-29 Micron Technology, Inc. Remapping and compacting in a memory device
US9098445B2 (en) * 2013-03-14 2015-08-04 Apple Inc. Selection of redundant storage configuration based on available memory space
CN104346561B (zh) * 2013-07-29 2017-12-29 联想(北京)有限公司 一种保护存储单元的方法及装置
JP6185668B2 (ja) * 2014-07-25 2017-08-23 株式会社日立製作所 ストレージ装置
KR20160073834A (ko) * 2014-12-17 2016-06-27 에스케이하이닉스 주식회사 메모리 시스템 및 메모리 시스템 동작 방법
CN104503705B (zh) * 2014-12-22 2017-08-08 吴剀劼 利用闪存设备构建可信存储系统的方法及构建的可信存储系统
JP6901831B2 (ja) * 2015-05-26 2021-07-14 株式会社半導体エネルギー研究所 メモリシステム、及び情報処理システム
US10108559B2 (en) * 2015-06-17 2018-10-23 Xitron LLC Apparatus for transmitting data through the universal serial bus, converting to SCSI protocols for computer peripherals
TWI575530B (zh) * 2015-08-06 2017-03-21 慧榮科技股份有限公司 存取快閃記憶體模組的方法及相關的快閃記憶體控制器與記憶裝置
JP6527054B2 (ja) * 2015-08-28 2019-06-05 東芝メモリ株式会社 メモリシステム
US20180336086A1 (en) * 2016-01-29 2018-11-22 Hewlett Packard Enterprise Development Lp System state information monitoring
US10218387B2 (en) * 2017-05-08 2019-02-26 Silicon Laboratories Inc. ECC memory controller supporting secure and non-secure regions
US10360104B2 (en) 2017-05-08 2019-07-23 Silicon Laboratories Inc. ECC memory controller to detect dangling pointers
US10496469B2 (en) 2017-07-25 2019-12-03 Aurora Labs Ltd. Orchestrator reporting of probability of downtime from machine learning process
CN111324554B (zh) * 2020-02-18 2022-03-18 日立楼宇技术(广州)有限公司 闪存数据的管理方法及装置、电梯控制器
US11314427B2 (en) * 2020-08-21 2022-04-26 Micron Technology, Inc. Memory device with enhanced data reliability capabilities

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2785068B2 (ja) * 1990-06-25 1998-08-13 株式会社ゼクセル 車輌用データの記憶方法
JPH04349593A (ja) * 1991-05-27 1992-12-04 Tokyo Electric Co Ltd 商品登録処理装置
JPH0816327A (ja) * 1994-06-27 1996-01-19 Shikoku Nippon Denki Software Kk ディスクアレイ装置
JP2000207137A (ja) 1999-01-12 2000-07-28 Kowa Co 情報記憶装置
GB0123416D0 (en) * 2001-09-28 2001-11-21 Memquest Ltd Non-volatile memory control
US6925541B2 (en) * 2002-06-12 2005-08-02 Hitachi, Ltd. Method and apparatus for managing replication volumes
JP2004139503A (ja) * 2002-10-21 2004-05-13 Matsushita Electric Ind Co Ltd 記憶装置及びその制御方法
US7130229B2 (en) 2002-11-08 2006-10-31 Intel Corporation Interleaved mirrored memory systems
TW591393B (en) * 2003-01-22 2004-06-11 Fujitsu Ltd Memory controller
CN1722096A (zh) * 2004-07-13 2006-01-18 鸿富锦精密工业(深圳)有限公司 多磁盘容错系统及方法
EP2286343A4 (en) * 2008-05-19 2012-02-15 Axxana Israel Ltd ROBUST DATA STORAGE IN THE EVENT OF REPLICATION ERRORS AND ROLLING DISASTERS

Cited By (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI406175B (zh) * 2008-08-20 2013-08-21 Nuvoton Technology Corp 記憶卡以及用於記憶卡之方法
TWI383399B (zh) * 2009-03-03 2013-01-21 Wistron Corp 嵌入式電子裝置及資料儲存方法
TWI472945B (zh) * 2009-04-14 2015-02-11 Fineart Technology Co Ltd 外接式儲存裝置及其製造方法與資訊安全管理方法
TWI551989B (zh) * 2009-09-03 2016-10-01 晶先鋒科技股份有限公司 快閃儲存系統之管理方法
US8886990B2 (en) 2011-01-27 2014-11-11 Apple Inc. Block management schemes in hybrid SLC/MLC memory
TWI463315B (zh) * 2011-06-15 2014-12-01 Apple Inc 資料儲存裝置及用於資料儲存之方法
TWI468938B (zh) * 2011-09-30 2015-01-11 Intel Corp 用於配備具有可組態分區之不變性隨機存取記憶體的平台儲存階層之方法,設備及系統
US11132298B2 (en) 2011-09-30 2021-09-28 Intel Corporation Apparatus and method for implementing a multi-level memory hierarchy having different operating modes
US10055353B2 (en) 2011-09-30 2018-08-21 Intel Corporation Apparatus, method and system that stores bios in non-volatile random access memory
US10001953B2 (en) 2011-09-30 2018-06-19 Intel Corporation System for configuring partitions within non-volatile random access memory (NVRAM) as a replacement for traditional mass storage
US9378133B2 (en) 2011-09-30 2016-06-28 Intel Corporation Autonomous initialization of non-volatile random access memory in a computer system
US9430372B2 (en) 2011-09-30 2016-08-30 Intel Corporation Apparatus, method and system that stores bios in non-volatile random access memory
US9529708B2 (en) 2011-09-30 2016-12-27 Intel Corporation Apparatus for configuring partitions within phase change memory of tablet computer with integrated memory controller emulating mass storage to storage driver based on request from software
TWI489373B (zh) * 2012-05-18 2015-06-21 Silicon Motion Inc 資料儲存裝置和快閃記憶體之區塊管理方法
US9223691B2 (en) 2012-05-18 2015-12-29 Silicon Motion, Inc. Data storage device and method for flash block management
TWI475387B (zh) * 2012-07-19 2015-03-01 Jmicron Technology Corp 記憶體控制方法及記憶體控制電路
US9337873B2 (en) 2013-05-24 2016-05-10 SK Hynix Inc. Miscorrection detection for error correcting codes using bit reliabilities
TWI497280B (zh) * 2013-07-08 2015-08-21 Phison Electronics Corp 資料保護方法、記憶體儲存裝置與記憶體控制器
TWI507976B (zh) * 2014-03-14 2015-11-11 Toshiba Kk Semiconductor memory device
US11030088B2 (en) 2016-07-29 2021-06-08 Samsung Electronics Co., Ltd. Pseudo main memory system
TWI710903B (zh) * 2016-09-30 2020-11-21 南韓商三星電子股份有限公司 偽主記憶體系統及操作該系統的方法
TWI658361B (zh) * 2017-09-05 2019-05-01 群聯電子股份有限公司 記憶體管理方法、記憶體控制電路單元與記憶體儲存裝置
TWI644215B (zh) * 2017-11-02 2018-12-11 慧榮科技股份有限公司 用來控制一資料儲存裝置的運作之方法以及資料儲存裝置及其控制器
US10642509B2 (en) 2017-11-02 2020-05-05 Silicon Motion, Inc. Method for designating specific world-lines of data storage device as reserved word-lines, and selecting a writing mode accordingly
TWI643066B (zh) * 2018-01-15 2018-12-01 慧榮科技股份有限公司 用來於一記憶裝置中重新使用關於垃圾收集的一目的地區塊之方法、記憶裝置及其控制器以及電子裝置
US10452535B2 (en) 2018-01-15 2019-10-22 Silicon Motion Inc. Method for reusing destination block related to garbage collection in memory device, associated memory device and controller thereof, and associated electronic device

Also Published As

Publication number Publication date
CN101449234B (zh) 2012-05-30
JP4700562B2 (ja) 2011-06-15
TWI355605B (zh) 2012-01-01
EP2031492B1 (en) 2011-08-17
WO2007136018A1 (ja) 2007-11-29
EP2031492A4 (en) 2010-07-21
JP2007310636A (ja) 2007-11-29
US8136015B2 (en) 2012-03-13
US20090158124A1 (en) 2009-06-18
EP2031492A1 (en) 2009-03-04
ATE521030T1 (de) 2011-09-15
CN101449234A (zh) 2009-06-03

Similar Documents

Publication Publication Date Title
TW200821909A (en) Data storage device and data storage method
JP4560408B2 (ja) 不揮発性記憶装置の制御方法
JP4524309B2 (ja) フラッシュメモリ用のメモリコントローラ
US9176865B2 (en) Data writing method, memory controller, and memory storage device
TWI423024B (zh) 用於快閃記憶體的資料儲存方法及其控制器與儲存系統
US8707007B2 (en) Memory storage device, memory controller thereof, and method for automatically creating fill-file thereof
TWI551991B (zh) 記憶體管理方法與系統及其記憶體儲存裝置
TW201230054A (en) System and method of data encoding
US20100169556A1 (en) Nonvolatile storage device, information recording system, and information recording method
KR20110107856A (ko) 논리적 어드레스 오프셋
TWI421869B (zh) 用於快閃記憶體的資料寫入方法及其控制器與儲存系統
JP2006079543A (ja) メモリ管理装置
TWI587135B (zh) 資料儲存方法、記憶體儲存裝置及記憶體控制電路單元
TWI495998B (zh) 資料管理方法、記憶體控制器與記憶體儲存裝置
US8255656B2 (en) Storage device, memory controller, and data protection method
TWI421870B (zh) 用於快閃記憶體的資料寫入方法及其控制器與儲存系統
TWI420313B (zh) 資料管理方法、記憶體控制器與嵌入式記憶體儲存裝置
JP4242245B2 (ja) フラッシュrom制御装置
TWI533309B (zh) 資料寫入方法、記憶體儲存裝置及記憶體控制電路單元
TWI553477B (zh) 記憶體管理方法、記憶體控制電路單元及記憶體儲存裝置
CN114822664B (zh) 基于数据优先级的风险评估方法、存储装置及控制电路
JP2005115562A (ja) フラッシュrom制御装置
CN110658978A (zh) 数据处理方法、装置、电子设备及可读存储介质
TW201430564A (zh) 資料寫入方法、記憶體控制器與記憶體儲存裝置
CN112799601A (zh) 有效数据合并方法、存储器存储装置及控制电路单元

Legal Events

Date Code Title Description
MM4A Annulment or lapse of patent due to non-payment of fees