TWI705329B - Apparatus and method and computer program product for generating a physical storage mapping table - Google Patents

Apparatus and method and computer program product for generating a physical storage mapping table Download PDF

Info

Publication number
TWI705329B
TWI705329B TW108113050A TW108113050A TWI705329B TW I705329 B TWI705329 B TW I705329B TW 108113050 A TW108113050 A TW 108113050A TW 108113050 A TW108113050 A TW 108113050A TW I705329 B TWI705329 B TW I705329B
Authority
TW
Taiwan
Prior art keywords
physical location
physical
location information
comparison table
parity
Prior art date
Application number
TW108113050A
Other languages
Chinese (zh)
Other versions
TW202001571A (en
Inventor
林峻葦
Original Assignee
慧榮科技股份有限公司
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 慧榮科技股份有限公司 filed Critical 慧榮科技股份有限公司
Priority to TW108113050A priority Critical patent/TWI705329B/en
Publication of TW202001571A publication Critical patent/TW202001571A/en
Application granted granted Critical
Publication of TWI705329B publication Critical patent/TWI705329B/en

Links

Images

Landscapes

  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

An apparatus for generating a storage mapping table includes: expansion circuits and a controller. The expansion circuits expand first physical location information of a storage mapping table requested by a host to second physical location information with more bytes to conform to the output format of a flash memory specification. The controller replies the second physical location information to the host.

Description

實體儲存對照表產生裝置及方法以及電腦程式產品 Entity storage comparison table generating device and method and computer program product

本發明涉及儲存裝置,尤指一種實體儲存對照表產生裝置及方法以及電腦程式產品。 The invention relates to a storage device, in particular to a device and method for generating a physical storage comparison table, and a computer program product.

快閃記憶裝置通常分為NOR快閃記憶裝置與NAND快閃記憶裝置。NOR快閃記憶裝置為隨機存取裝置,主裝置(host)可於位址腳位上提供任何存取NOR快閃記憶裝置的位址,並及時地從NOR快閃記憶裝置的資料腳位上獲得儲存於該位址上的資料。相反地,NAND快閃記憶裝置並非隨機存取,而是序列存取。NAND快閃記憶裝置無法像NOR快閃記憶裝置一樣,可以存取任何隨機位址,主裝置反而需要寫入序列的位元組(bytes)的值到NAND快閃記憶裝置中,用以定義請求命令(command)的類型(如,讀取、寫入、抹除等),以及用在此命令上的位址。位址可指向一個頁面(快閃記憶裝置中寫入作業的最小資料塊)或一個區塊(快閃記憶裝置中抹除作業的最小資料塊)。 Flash memory devices are generally divided into NOR flash memory devices and NAND flash memory devices. The NOR flash memory device is a random access device. The host device can provide any address for accessing the NOR flash memory device on the address pin, and promptly retrieve it from the data pin of the NOR flash memory device Obtain the data stored at that address. In contrast, NAND flash memory devices are not random access, but serial access. NAND flash memory devices cannot access any random address like NOR flash memory devices. Instead, the master device needs to write the value of the sequence of bytes to the NAND flash memory device to define the request The type of command (for example, read, write, erase, etc.) and the address used for this command. The address can point to a page (the smallest data block for writing in the flash memory device) or a block (the smallest data block for erasing in the flash memory device).

實際上,為了提升寫入的速度,一段連續邏輯位置的資料可能被散佈放置於數個實體的快閃記憶單元中,並且NAND快閃記憶裝置使用實體儲存對照表來指出資料被寫入到實體快閃記憶單元中的何處。當主裝置發送包含邏輯位置的資料讀取命令給NAND快閃記憶裝置,NAND快閃記憶裝置須依據實體儲存對照表的內容將邏輯位置轉換為實體位置,然後再從實體位置讀取資料並回覆給主裝置。然而, 由於NAND快閃記憶裝置中資料緩衝區的空間有限,無法儲存完整的實體儲存對照表以供快速查找,只能儲存其中的一部份。當主裝置發出的讀取命令中的邏輯位置無法命中資料緩存區的部分實體儲存對照表時,NAND快閃記憶裝置必須耗費大量時間從快閃記憶單元中讀取適當部分的實體儲存對照表,增加主裝置取得資料的等待時間(latency)。 In fact, in order to increase the writing speed, a piece of data in consecutive logical locations may be scattered among several physical flash memory cells, and the NAND flash memory device uses a physical storage table to indicate that the data is written to the physical Where in the flash memory unit. When the master device sends a data read command containing a logical location to the NAND flash memory device, the NAND flash memory device must convert the logical location to a physical location based on the contents of the physical storage comparison table, and then read the data from the physical location and reply To the main device. however, Due to the limited space of the data buffer in the NAND flash memory device, a complete physical storage comparison table cannot be stored for quick search, and only a part of it can be stored. When the logical position in the read command sent by the host device cannot hit part of the physical storage comparison table in the data buffer area, the NAND flash memory device must spend a lot of time reading the appropriate part of the physical storage comparison table from the flash memory unit. Increase the latency for the main device to obtain data.

為降低等待時間,新的快閃記憶標準可讓主裝置可直接發送包含實體位置的資料讀取命令給NAND快閃記憶裝置。但是,主裝置需要先從NAND快閃記憶裝置取得實體儲存對照表,才能進行邏輯實體位址轉換。為了讓主裝置可以跟不同製造商的NAND快閃記憶裝置通訊,快閃記憶標準規範實體儲存對照表的輸出格式。然而,標準規範的輸出格式通常不同於NAND快閃記憶裝置的內部使用格式,需要進行轉換。因此,本發明提出一種裝置及方法,用以節省產生符合規範的實體儲存對照表的時間。 In order to reduce the waiting time, the new flash memory standard allows the host device to directly send a data read command containing the physical location to the NAND flash memory device. However, the host device needs to obtain the physical storage comparison table from the NAND flash memory device before performing the logical physical address conversion. In order to allow the host device to communicate with NAND flash memory devices of different manufacturers, the flash memory standard specifies the output format of the physical storage comparison table. However, the standard output format is usually different from the internal format used by the NAND flash memory device and needs to be converted. Therefore, the present invention provides an apparatus and method to save the time of generating a conforming entity to store a comparison table.

有鑑於此,如何減輕或消除上述相關領域的缺失,實為有待解決的問題。 In view of this, how to reduce or eliminate the deficiencies in the above-mentioned related fields is indeed a problem to be solved.

本發明提出一種實體儲存對照表產生裝置,該裝置包含:擴充電路及控制器。擴充電路擴充相應於主裝置請求的實體儲存對照表中的第一實體位置資訊為使用更多位元組數目表示的第二實體位置資訊,使得第二實體位置資訊符合快閃記憶標準規範的輸出格式。控制器回覆第二實體位置資訊給主裝置。 The present invention provides a physical storage comparison table generating device, which includes an expansion circuit and a controller. The expansion circuit expands the first physical location information in the physical storage comparison table corresponding to the request of the host device to the second physical location information represented by more bytes, so that the second physical location information conforms to the output of the flash memory standard specification format. The controller replies the second physical location information to the main device.

上述實施例的優點之一,透過使用擴充電路既能維持第一實體位置資訊的精簡表示,又能產生符合快閃記憶標準規範的輸出格式的第二實體位置資訊。 One of the advantages of the above embodiment is that by using the expansion circuit, the simplified representation of the first physical location information can be maintained, and the second physical location information can be generated in an output format conforming to the flash memory standard specification.

本發明的其他優點將搭配以下的說明和圖式進行更詳細的解說。 Other advantages of the present invention will be explained in more detail with the following description and drawings.

110:主裝置 110: main device

130:快閃記憶裝置 130: Flash memory device

151:讀取請求 151: Read request

153:傳送實體儲存對照表的迴圈 153: Transmission entity stores the loop of the comparison table

155:讀取回覆 155: Read reply

210:實體儲存對照表 210: Entity storage comparison table

230:實體位置資訊 230: physical location information

230-0:實體區塊編號 230-0: physical block number

230-1:主頁面的起始單元編號 230-1: The starting unit number of the main page

250:實體區塊 250: physical block

251:主頁面 251: Main Page

310:實體層 310: physical layer

320:資料連結層 320: Data Link Layer

330:處理單元 330: Processing Unit

351:控制器 351: Controller

353:直接記憶體存取控制器 353: Direct Memory Access Controller

370、450:資料緩衝區 370, 450: data buffer

380、430:直接記憶體存取控制器 380, 430: Direct memory access controller

375、480:快閃記憶控制器 375, 480: Flash memory controller

390:快閃記憶單元 390: flash memory unit

410、410_1~410_13:擴充電路 410, 410_1~410_13: expansion circuit

470:處理單元 470: Processing Unit

490:控制器 490: Controller

S510~S550:方法步驟 S510~S550: method steps

610:存取子介面 610: Access sub-interface

630_0~630_i:儲存子單元 630_0~630_i: storage subunit

650:資料線 650: data line

670_0~670_i:晶片致能控制訊號 670_0~670_i: Chip enable control signal

710、710_1~710_2:填充寄存器 710, 710_1~710_2: fill registers

730、730_1~730_2:實體位置寄存器 730, 730_1~730_2: physical location register

750_1~750_2:擾碼寄存器 750_1~750_2: scrambling code register

770_1~770_2:擾碼器 770_1~770_2: scrambler

780、780_1~780_2:同位元寄存器 780, 780_1~780_2: parity register

790、790_1~790_2:同位元產生器 790, 790_1~790_2: parity generator

1410、1430、1450:程式模塊 1410, 1430, 1450: program module

圖1為依據本發明實施例主裝置向快閃記憶裝置請求實體儲存對照表的順序圖。 FIG. 1 is a sequence diagram of a host device requesting a flash memory device to physically store a comparison table according to an embodiment of the present invention.

圖2為依據本發明實施例的實體儲存對照示意圖。 2 is a schematic diagram of physical storage comparison according to an embodiment of the present invention.

圖3為一些實施方式的系統方塊圖。 Figure 3 is a system block diagram of some embodiments.

圖4為依據本發明實施例的產生快閃記憶裝置的實體儲存對照表的系統方塊圖。 4 is a block diagram of a system for generating a physical storage comparison table of a flash memory device according to an embodiment of the present invention.

圖5為依據本發明實施例的產生快閃記憶裝置的實體儲存對照表的方法流程圖。 FIG. 5 is a flowchart of a method for generating a physical storage comparison table of a flash memory device according to an embodiment of the present invention.

圖6為存取子介面與多個儲存子單元的連接示意圖。 FIG. 6 is a schematic diagram of the connection between the access sub-interface and the multiple storage sub-units.

圖7至13為依據本發明實施例的擴充電路的方塊圖。 7 to 13 are block diagrams of expansion circuits according to embodiments of the present invention.

圖14為本發明實施例的產生快閃記憶裝置的實體儲存對照表的功能模塊示意圖。 14 is a schematic diagram of functional modules for generating a physical storage comparison table of a flash memory device according to an embodiment of the present invention.

以下說明為完成發明的較佳實現方式,其目的在於描述本發明的基本精神,但並不用以限定本發明。實際的發明內容必須參考之後的權利要求範圍。 The following description is a preferred implementation manner for completing the invention, and its purpose is to describe the basic spirit of the invention, but not to limit the invention. The actual content of the invention must refer to the scope of the claims that follow.

必須了解的是,使用於本說明書中的”包含”、”包括”等詞,用以表示存在特定的技術特徵、數值、方法步驟、作業處理、元件以及/或組件,但並不排除可加上更多的技術特徵、數值、方法步驟、作業處理、元件、組件,或以上的任意組合。 It must be understood that the words "including" and "including" used in this specification are used to indicate the existence of specific technical features, values, method steps, operations, elements and/or components, but they do not exclude the possibility of adding More technical features, values, method steps, job processing, components, components, or any combination of the above.

於權利要求中使用如”第一”、"第二"、"第三"等詞是用來修飾權利要求中的元件,並非用來表示之間具有優先順序,前置關係,或者是一個元件先於另一個元件,或者是執行方法步驟時的時間先後順序,僅用來區別具有相同名字的元件。 Words such as "first", "second", and "third" used in the claims are used to modify the elements in the claims, and are not used to indicate that there is a precedence, prerequisite relationship, or an element Prior to another element, or the chronological order of execution of method steps, is only used to distinguish elements with the same name.

圖1為依據本發明實施例主裝置向快閃記憶裝置請求實體儲存對照表的順序圖。快閃記憶系統包含主裝置110及快閃記憶裝置130,並以快閃記憶通訊協定(例如,通用快閃記憶儲存,Universal Flash Storage UFS)彼此通信。快閃記憶裝置130可為NAND快閃記憶裝置。由於NAND快閃記憶裝置並非隨機存取裝置,為了提升寫入的效率,主裝置110可提供至少一個長度的連續性資料,例如128K位元組的資料,使得快閃記憶裝置130可以有效率的並行作業方式將資料寫入其中的數個儲存子單元。當成功寫入一個邏輯位置的使用者資料後,快閃記憶裝置130需要更新暫存於靜態隨機存取記憶體的臨時實體儲存對照表(temporary storage mapping table)中此邏輯位置及寫入實體位置的對應關係資訊。此外,於成功寫入預定數量的邏輯位置的的使用者資料後,依據暫存的臨時實體儲存對照表的內容更新非揮發性的快閃記憶單元中儲存的實體儲存對照表(storage mapping table,又稱為H2F Host-to-Flash表)。所以,實體儲存對照表的內容由快閃記憶裝置130負責維護,而不是主裝置110。實體儲存對照表紀錄每個邏輯位置的使用者資料實際儲存於快閃記憶單元中的哪個實體位置。 FIG. 1 is a sequence diagram of a host device requesting a flash memory device to physically store a comparison table according to an embodiment of the present invention. The flash memory system includes a main device 110 and a flash memory device 130, and uses a flash memory communication protocol (for example, universal flash memory storage, Universal Flash Storage UFS) communicate with each other. The flash memory device 130 may be a NAND flash memory device. Since the NAND flash memory device is not a random access device, in order to improve writing efficiency, the host device 110 can provide at least one length of continuous data, such as 128K bytes of data, so that the flash memory device 130 can be efficient Parallel operation writes data into several storage subunits. After successfully writing user data in a logical location, the flash memory device 130 needs to update the logical location and the written physical location in the temporary storage mapping table temporarily stored in the static random access memory Correspondence information for. In addition, after successfully writing the user data in a predetermined number of logical locations, the storage mapping table (storage mapping table, which is stored in the non-volatile flash memory unit) is updated according to the contents of the temporary physical storage comparison table stored temporarily. Also known as H2F Host-to-Flash table). Therefore, the content of the physical storage comparison table is maintained by the flash memory device 130 instead of the main device 110. The physical storage comparison table records which physical location in the flash memory unit the user data of each logical location is actually stored.

圖2為依據本發明實施例的實體儲存對照示意圖。實體儲存對照表210依照順序儲存相應於每一邏輯位置的實體位置資訊。實體儲存對照表210所需的空間從64M到1G位元組不等。邏輯位置可以邏輯區塊位址(Logical Block Address LBA)表示,每一個LBA對應到一個固定大小的實體儲存空間,例如512位元組(Bytes)。舉例來說,實體儲存對照表210依序儲存從LBA0至LBA65535的實體位置資訊。數個連續邏輯位置(例如LBA0至LBA7)的資料可形成一個主頁面(host page)。實體位置資訊230可以四個位元組表示:前二個位元組230-0紀錄實體區塊編號(physical block number);後二個位元組230-1紀錄單元編號(unit number)。例如,相應於邏輯位置LBA2的實體位置資訊230可指向實體區塊250中的一個實體區域251。位元組230-0紀錄實體區塊250的編號,位元組230-1紀錄實體區域251的單元編號。 2 is a schematic diagram of physical storage comparison according to an embodiment of the present invention. The physical storage comparison table 210 sequentially stores the physical location information corresponding to each logical location. The space required for the physical storage of the comparison table 210 ranges from 64M to 1G bytes. The logical location can be represented by a logical block address (Logical Block Address LBA), and each LBA corresponds to a fixed size physical storage space, such as 512 bytes (Bytes). For example, the physical storage comparison table 210 sequentially stores the physical location information from LBA0 to LBA65535. Data in several consecutive logical locations (such as LBA0 to LBA7) can form a host page. The physical location information 230 may be represented by four bytes: the first two bytes 230-0 record the physical block number; the last two bytes 230-1 record the unit number. For example, the physical location information 230 corresponding to the logical location LBA2 may point to a physical area 251 in the physical block 250. The byte 230-0 records the number of the physical block 250, and the byte 230-1 records the unit number of the physical area 251.

由於快閃記憶裝置130可因應實際運作來更新實體儲存對照表210的內容,例如,執行資料寫入作業、垃圾回收程序(garbage collection GC process)、損耗平均程序(wear leveling process)、讀取回收程序(read reclaim process)、讀取更新程序(read reflash process)。當實體儲存對照表210的內容修改後,快閃記憶裝置130可通知主裝置110需要重新取得相應邏輯位置區間的修改後實體儲存對照表210。於收到通知後,主裝置110可於任意時間點發出實體儲存對照表的讀取請求151。讀取請求151可包含邏輯位置區間的資訊,例如LBA0至LBA199。舉例來說,主裝置110可發送UFS通訊協定資訊單元命令(CMD UPIU-UFS Protocol Information Unit)給快閃記憶裝置130,CMD UPIU包含讀取請求151。快閃記憶裝置130取得請求的邏輯位置區間的實體儲存對照表210,並可執行一個迴圈153,用以分段傳送請求的邏輯位置區間的實體儲存對照表210給主裝置110。於每一回合,快閃記憶裝置130可將一部份請求的邏輯位置區間的實體儲存對照表210裝載於DATA IN UPIU的資料區域(data segment area)。當請求的實體位置資訊傳送完成,快閃記憶裝置130發送讀取回覆155給主裝置110。快閃記憶裝置130可發送UFS通訊協定資訊單元回覆(Response UPIU)給主裝置110,且Response UPIU包含讀取回覆155。 Since the flash memory device 130 can update the content of the physical storage comparison table 210 in response to actual operations, for example, perform data writing operations, garbage collection GC process, wear leveling process, read recovery Procedure (read reclaim process), read update procedure (read reflash process). When the content of the physical storage comparison table 210 is modified, the flash memory device 130 may notify the main device 110 that it needs to retrieve the modified physical storage comparison table 210 for the corresponding logical location interval. After receiving the notification, the host device 110 can issue a read request 151 for the physical storage comparison table at any time. The read request 151 may include information on logical location intervals, such as LBA0 to LBA199. For example, the main device 110 may send a UFS protocol information unit command (CMD UPIU-UFS Protocol Information Unit) to the flash memory device 130, and the CMD UPIU includes a read request 151. The flash memory device 130 obtains the physical storage comparison table 210 of the requested logical location interval, and executes a loop 153 to transfer the physical storage comparison table 210 of the requested logical location interval to the host device 110 in segments. In each round, the flash memory device 130 can load a part of the physical storage comparison table 210 of the requested logical location interval in the data segment area of the DATA IN UPIU. When the requested physical location information is transmitted, the flash memory device 130 sends a read response 155 to the host device 110. The flash memory device 130 can send a UFS protocol information unit response (Response UPIU) to the main device 110, and the Response UPIU includes a read response 155.

為避免資料緩衝區的實體儲存對照表210因非預期的斷電而遺失,快閃記憶裝置130可於非揮發的快閃記憶單元保存完整的實體儲存對照表210。為了節省資料緩衝區及快閃記憶單元的空間消耗,通常以最少的位元組紀錄相應於每個邏輯位置的實體位置資訊。然而,為了讓主裝置110可兼容所有廠商開發的快閃記憶裝置,快閃記憶標準規範的實體儲存對照表的輸出格式通常使用更多位元組來記錄相應於每個邏輯位置的實體位置資訊。舉例來說,快閃記憶裝置130使用四個位元組儲存相應於每個邏輯位置的實體位置資訊,但 快閃記憶標準使用八個位元組儲存相同的資訊。因此,快閃記憶裝置130需要將實體儲存對照表210的實體位置資訊230擴充為更多位元組的輸出格式。 To prevent the physical storage table 210 of the data buffer from being lost due to unexpected power failure, the flash memory device 130 may store a complete physical storage table 210 in a non-volatile flash memory unit. In order to save the space consumption of the data buffer and flash memory unit, the physical location information corresponding to each logical location is usually recorded with the least number of bytes. However, in order for the main device 110 to be compatible with flash memory devices developed by all manufacturers, the output format of the physical storage comparison table specified by the flash memory standard usually uses more bytes to record the physical location information corresponding to each logical location. . For example, the flash memory device 130 uses four bytes to store the physical location information corresponding to each logical location, but The flash memory standard uses eight bytes to store the same information. Therefore, the flash memory device 130 needs to expand the physical location information 230 of the physical storage comparison table 210 into an output format of more bytes.

於一些實施方式,快閃記憶裝置130可於資料緩衝區中配置空間,用以進行格式轉換。圖3為一些實施方式的系統方塊圖。假設快閃記憶裝置130使用如圖2所示的四位元組儲存相應於每個邏輯位置的實體位置資訊,而快閃記憶標準規範使用八位元組進行實體位置資訊的儲存:處理單元330從主裝置110收到讀取請求151後,驅動快閃記憶單元390讀取請求的邏輯位置區間的實體儲存對照表210並儲存至資料緩衝區370。資料緩衝區370配置二個區域分別儲存原始的實體儲存對照表210以及擴充後的實體儲存對照表。接著,處理單元330驅動直接記憶體存取控制器(Direct Memory Access DMA controller)380,用以將原始的實體儲存對照表210複製成兩份(亦即擴充後的實體儲存對照表),並儲存至資料緩衝區370中的指定區域。接著,處理單元330透過控制器351驅動直接記憶體存取控制器353從資料緩衝區370的指定區域讀取擴充後實體儲存對照表,並經由資料連結層320(例如unipro)及實體層310回覆給主裝置110。然而,這樣的實施方式需要於資料緩衝區370配置一個區域來儲存擴充後實體儲存對照表。例如,為了1KB的原始實體位置資訊(相應於256筆邏輯位置),資料緩衝區370須額外配置2KB空間來儲存擴充後實體位置資訊。資料緩衝區370是稀少資源,增加用來儲存擴充後實體儲存對照表的區域可能排擠其他重要資料的儲存。此外,以上所述的實施方式需要處理單元330耗費時間控制直接記憶體存取控制器380。 In some embodiments, the flash memory device 130 may allocate space in the data buffer for format conversion. Figure 3 is a system block diagram of some embodiments. Assume that the flash memory device 130 uses the four-byte group shown in FIG. 2 to store the physical location information corresponding to each logical location, and the flash memory standard specification uses eight-byte groups to store the physical location information: the processing unit 330 After receiving the read request 151 from the host device 110, the flash memory unit 390 is driven to read the physical storage comparison table 210 in the logical location interval of the request and stored in the data buffer 370. The data buffer 370 is configured with two areas to store the original physical storage comparison table 210 and the expanded physical storage comparison table respectively. Next, the processing unit 330 drives the Direct Memory Access DMA controller 380 to copy the original physical storage comparison table 210 into two copies (that is, the expanded physical storage comparison table), and store To the designated area in the data buffer 370. Then, the processing unit 330 drives the direct memory access controller 353 through the controller 351 to read the expanded physical storage comparison table from the designated area of the data buffer 370, and replies via the data link layer 320 (such as unipro) and the physical layer 310给主装置110。 To the main device 110. However, such an implementation needs to allocate an area in the data buffer 370 to store the expanded physical storage comparison table. For example, for 1KB of original physical location information (corresponding to 256 logical locations), the data buffer 370 needs to be allocated an additional 2KB space to store the expanded physical location information. The data buffer 370 is a scarce resource, and increasing the area for storing the expanded physical storage comparison table may crowd out the storage of other important data. In addition, the above-mentioned implementation requires the processing unit 330 to spend time controlling the direct memory access controller 380.

為改進如上所述實施方式的缺點,圖4為本發明實施例的產生快閃記憶裝置的實體儲存對照表的系統方塊圖。控制器490通過資料連結層320及實體層310電性連接(耦接)於主裝置110,並且連接於 處理單元470、擴充電路410及直接記憶體存取控制器430之間。處理單元470連接至快閃記憶控制器480,用以依據主裝置110發送的命令驅動快閃記憶控制器480從快閃記憶單元390的特定實體位置讀取使用者資料並儲存至資料緩衝區450,從資料緩衝區450取得使用者資料並寫入快閃記憶單元390的特定實體位置,或者針對快閃記憶單元390的特定實體位置執行抹除操作。控制器490可通過直接記憶體存取控制器430從資料緩衝區450讀取使用者資料並通過驅動資料連結層320及實體層310依序敲出給主裝置110。控制器490可通過直接記憶體存取控制器430將主裝置110欲寫入的使用者資料儲存至資料緩衝區450。處理單元470可使用多種方式實施,例如使用通用硬體,如單一處理器、具平行處理能力的多處理器、圖形處理器、輕簡型通用目的處理器(Lightweight General-Purpose Processor)或其他具運算能力的處理器,並且在執行指令(Instructions)、宏碼(Macrocode)或微碼(Microcode)時,提供之後描述的功能。控制器490可為UFS控制器,透過UFS通訊協定與主裝置110進行溝通。雖然本發明實施例以UFS通訊協定舉例,但當其他通訊協定將來允許主裝置直接發送包含實體位置資訊的讀取命令時,本發明也可應用到其他的通訊協定,例如通用序列匯流排(Universal Serial Bus,USB)、先進技術附著(advanced technology attachment,ATA)、序列先進技術附著(serial advanced technology attachment,SATA)、快速周邊元件互聯(peripheral component interconnect express,PCI-E)或其他介面的通訊協定。 In order to improve the shortcomings of the above-mentioned embodiments, FIG. 4 is a system block diagram of a physical storage comparison table for generating a flash memory device according to an embodiment of the present invention. The controller 490 is electrically connected (coupled) to the main device 110 through the data link layer 320 and the physical layer 310, and is connected to Between the processing unit 470, the expansion circuit 410, and the direct memory access controller 430. The processing unit 470 is connected to the flash memory controller 480 for driving the flash memory controller 480 to read user data from a specific physical location of the flash memory unit 390 according to the command sent by the host device 110 and store it in the data buffer 450 , Obtain user data from the data buffer 450 and write it into the specific physical location of the flash memory unit 390, or perform an erase operation on the specific physical location of the flash memory unit 390. The controller 490 can read the user data from the data buffer 450 through the direct memory access controller 430 and sequentially knock out the data to the host device 110 by driving the data link layer 320 and the physical layer 310. The controller 490 can store the user data to be written by the host device 110 in the data buffer 450 through the direct memory access controller 430. The processing unit 470 can be implemented in a variety of ways, such as using general-purpose hardware, such as a single processor, multi-processors with parallel processing capabilities, graphics processors, lightweight general-purpose processors (Lightweight General-Purpose Processor), or other tools. A processor with computing power, and provides the functions described later when executing instructions, macrocodes or microcodes. The controller 490 may be a UFS controller, and communicates with the main device 110 through the UFS communication protocol. Although the embodiment of the present invention uses the UFS communication protocol as an example, when other communication protocols allow the host device to directly send read commands containing physical location information in the future, the present invention can also be applied to other communication protocols, such as Universal Serial Bus (Universal Serial Bus). Serial Bus (USB), Advanced Technology Attachment (ATA), Serial Advanced Technology Attachment (SATA), Peripheral Component Interconnect Express (PCI-E) or other interface communication protocols .

直接記憶體存取控制器430從資料緩衝區450讀取實體儲存對照表210中相應於每一邏輯位置的原始實體位置資訊,並且原始實體位置資訊使用第一數目的位元組表示。擴充電路410連接或耦接於直接記憶體存取控制器430,用以取得原始實體位置資訊,擴充原始實體位置資訊為使用第二數目的位元組表示的擴充後實體位置資訊, 並且輸出擴充後實體位置資訊給控制器490,其中第二數目大於第一數目。控制器490連接或耦接於擴充電路410,通過資料連結層320及實體層310傳送(或回覆)擴充後實體位置資訊給主裝置110。 The direct memory access controller 430 reads the original physical location information corresponding to each logical location in the physical storage comparison table 210 from the data buffer 450, and the original physical location information is represented by a first number of bytes. The expansion circuit 410 is connected to or coupled to the direct memory access controller 430 to obtain original physical location information. The expanded original physical location information is the expanded physical location information represented by a second number of bytes. And output the expanded physical location information to the controller 490, where the second number is greater than the first number. The controller 490 is connected or coupled to the expansion circuit 410, and transmits (or responds) the expanded physical location information to the main device 110 through the data link layer 320 and the physical layer 310.

處理單元470負責維護實體儲存對照表210的內容,而不是主裝置110,實體儲存對照表210紀錄每個邏輯位置的使用者資料實際儲存於快閃記憶單元390中的哪個實體位置。 The processing unit 470 is responsible for maintaining the content of the physical storage comparison table 210 instead of the main device 110. The physical storage comparison table 210 records which physical location in the flash memory unit 390 the user data of each logical location is actually stored.

圖5為依據本發明實施例的產生快閃記憶裝置的實體儲存對照表的方法流程圖。此方法由處理單元470於載入並執行指令、宏碼或微碼時實施。處理單元470通過控制器490從主裝置110收到讀取請求151後(步驟S510),驅動快閃記憶控制器480從快閃記憶單元390讀取請求的邏輯位置區間的實體儲存對照表210(也就是相應於邏輯位置區間的實體位置資訊)並儲存至資料緩衝區450(步驟S530)。需注意的是,資料緩衝區450只需要配置空間儲存原始的實體儲存對照表210。接著,處理單元470驅動直接記憶體存取控制器430從資料緩衝區450讀取實體儲存對照表210中的實體位置資訊,並輸出至擴充電路410(步驟S550)。 FIG. 5 is a flowchart of a method for generating a physical storage comparison table of a flash memory device according to an embodiment of the present invention. This method is implemented by the processing unit 470 when the instruction, macrocode or microcode is loaded and executed. After the processing unit 470 receives the read request 151 from the host device 110 via the controller 490 (step S510), it drives the flash memory controller 480 to read from the flash memory unit 390 the physical storage comparison table 210 ( That is, the physical location information corresponding to the logical location interval) and stored in the data buffer 450 (step S530). It should be noted that the data buffer 450 only needs to allocate space to store the original physical storage comparison table 210. Next, the processing unit 470 drives the direct memory access controller 430 to read the physical location information in the physical storage comparison table 210 from the data buffer 450 and output it to the expansion circuit 410 (step S550).

快閃記憶控制器480使用數個電子訊號來協調與快閃記憶單元390間的資料與命令傳遞,包含資料線(data line)、時脈訊號(clock signal)與控制訊號(control signal)。資料線可用以傳遞命令、位址、讀出及寫入的資料;控制訊號線可用以傳遞晶片致能(Chip Enable CE)、位址提取致能(Address Latch Enable ALE)、命令提取致能(Command Latch Enable CLE)、寫入致能(Write Enable WE)等控制訊號。處理單元470可採用雙倍資料率(Double Data Rate DDR)通訊協定與快閃記憶單元390溝通,例如,開放NAND快閃記憶介面(Open NAND Flash Interface ONFI)、雙倍資料率開關(DDR toggle)或其他介面。 The flash memory controller 480 uses several electronic signals to coordinate data and command transmission with the flash memory unit 390, including data lines, clock signals, and control signals. The data line can be used to transfer commands, addresses, read and write data; the control signal line can be used to transfer Chip Enable CE, Address Latch Enable ALE, and Command Extraction Enable ( Control signals such as Command Latch Enable CLE) and Write Enable WE. The processing unit 470 can communicate with the flash memory unit 390 using the Double Data Rate DDR communication protocol, for example, Open NAND Flash Interface ONFI, double data rate switch (DDR toggle) Or other interface.

快閃記憶單元390可包含多個儲存子單元,每個儲存子單元各自使 用關聯的存取子介面與處理單元470進行溝通。一或多個儲存子單元可封裝在一個晶粒(Die)之中。存取子介面及其後連接的儲存子單元又可統稱為輸出入通道,並可以邏輯單元編號(Logical Unit Number LUN)識別。換句話說,多個儲存子單元共享一個存取子介面。例如,當快閃記憶單元390包含4個存取子介面且每一個存取子介面連接4個儲存子單元時,快閃記憶單元390一共擁有16個儲存子單元。處理單元470可驅動存取子介面中之一者,從指定的儲存子單元讀取資料。每個儲存子單元擁有獨立的晶片致能(CE)控制訊號。換句話說,當欲對指定的儲存子單元進行資料讀取時,需要驅動關聯的存取子介面來致能此儲存子單元的晶片致能控制訊號。圖6為存取子介面與多個儲存子單元的連接示意圖。處理單元470可透過存取子介面610使用獨立的晶片致能控制訊號670_0至670_i從連接的儲存子單元630_0至630_i中選擇出其中一者,接著,透過共享的資料線650從選擇出的儲存子單元的指定實體位址讀取資料。 The flash memory unit 390 may include multiple storage sub-units, each of which uses its own The associated access sub-interface is used to communicate with the processing unit 470. One or more storage sub-units can be packaged in a die. The access sub-interface and the subsequent storage sub-units can also be collectively referred to as input and output channels, and can be identified by the logical unit number (Logical Unit Number LUN). In other words, multiple storage sub-units share one access sub-interface. For example, when the flash memory unit 390 includes 4 access sub-interfaces and each access sub-interface is connected to 4 storage sub-units, the flash memory unit 390 has 16 storage sub-units in total. The processing unit 470 can drive one of the access sub-interfaces to read data from the designated storage sub-unit. Each storage sub-unit has an independent chip enable (CE) control signal. In other words, when you want to read data from a specified storage subunit, you need to drive the associated access sub-interface to enable the chip enable control signal of this storage subunit. FIG. 6 is a schematic diagram of the connection between the access sub-interface and a plurality of storage sub-units. The processing unit 470 can use independent chip enable control signals 670_0 to 670_i to select one of the connected storage subunits 630_0 to 630_i through the access sub-interface 610, and then use the shared data line 650 from the selected storage The specified physical address of the subunit reads data.

參考圖4。擴充電路410將實體儲存對照表210中相應於讀取請求151中每一個邏輯位置的實體位置資訊擴充為快閃記憶標準規範的位元組長度。接著,控制器490從擴充電路410取得相應於每一個邏輯位置的擴充後實體位置資訊,並經由資料連結層320及實體層310回覆給主裝置110。實體層310可包含差動輸出對(Rx pair)以傳送資料或回覆訊息至主裝置110,以及差動輸入對(Tx pair)以從主裝置110接收資料或命令。於另一些實施例,擴充電路410可整合至直接記憶體存取控制器430的內部。 Refer to Figure 4. The expansion circuit 410 expands the physical location information corresponding to each logical location in the read request 151 in the physical storage comparison table 210 to the byte length specified by the flash memory standard. Then, the controller 490 obtains the expanded physical location information corresponding to each logical location from the expansion circuit 410, and replies to the main device 110 via the data link layer 320 and the physical layer 310. The physical layer 310 may include a differential output pair (Rx pair) to send data or reply messages to the main device 110, and a differential input pair (Tx pair) to receive data or commands from the main device 110. In other embodiments, the expansion circuit 410 can be integrated into the direct memory access controller 430.

圖7至13為依據本發明實施例的擴充電路的方塊圖。需注意的是,快閃記憶裝置130可使用多於或少於四位元組儲存相應於每個邏輯位置的實體位置資訊,快閃記憶標準規範可使用多於八位元組,或少於八位元組但高於快閃記憶裝置130使用的位元組數目進行實體位置資訊的儲存,本發明並不因此侷限。 7 to 13 are block diagrams of expansion circuits according to embodiments of the present invention. It should be noted that the flash memory device 130 can use more or less than four bytes to store the physical location information corresponding to each logical location. The flash memory standard specification can use more than eight bytes or less than The number of octets but is higher than the number of bytes used by the flash memory device 130 for storing physical location information, the present invention is not limited thereby.

參考圖7。擴充電路410可使用填充的方式產生擴充後實體位置資訊。詳細來說,擴充電路410透過直接記憶體存取控制器430從資料緩衝區450接收實體位置資訊,加上填充資料成為擴充後實體位置資訊,並輸出至控制器490。擴充電路410_1至410_3為填充式(padding-type)的擴充電路。 Refer to Figure 7. The expansion circuit 410 can use a padding method to generate expanded physical location information. In detail, the expansion circuit 410 receives the physical location information from the data buffer 450 through the direct memory access controller 430, adds the filling data to become the expanded physical location information, and outputs it to the controller 490. The expansion circuits 410_1 to 410_3 are padding-type expansion circuits.

擴充電路410_1可包含四位元組的填充寄存器710及實體位置寄存器730。填充寄存器710鎖存固定的虛假值(dummy value),例如0x0000、0xFFFF、0xAAAA或其他資料模式(data pattern)。實體位置寄存器730電性連接至直接記憶體存取控制器430的輸出端,可接收並鎖存(latch)相應於一個邏輯位置的實體位置資訊[0..3]。控制器490取得填充寄存器的710的虛假值作為擴充後實體位置資訊[0..3],取得實體位置寄存器730的實體位置資訊作為擴充後實體位置資訊[4..7],並且組合輸出至資料連結層320。以上所述可稱為前填充(pre-padding)。 The expansion circuit 410_1 may include a four-byte padding register 710 and a physical location register 730. The stuffing register 710 latches a fixed dummy value, such as 0x0000, 0xFFFF, 0xAAAA or other data patterns. The physical location register 730 is electrically connected to the output terminal of the direct memory access controller 430, and can receive and latch physical location information [0..3] corresponding to a logical location. The controller 490 obtains the false value of the filled register 710 as the expanded physical location information [0..3], obtains the physical location information of the physical location register 730 as the expanded physical location information [4..7], and outputs the combination to Data link layer 320. The above can be called pre-padding.

相似地,擴充電路410_2可包含四位元組的實體位置寄存器730及填充寄存器710。控制器490取得實體位置寄存器730的實體位置資訊作為擴充後實體位置資訊[0..3],取得填充寄存器的710的虛假值作為擴充後實體位置資訊[4..7],並且組合輸出至資料連結層320。以上所述可稱為後填充(post-padding)。 Similarly, the expansion circuit 410_2 may include a four-byte physical location register 730 and a padding register 710. The controller 490 obtains the physical location information of the physical location register 730 as the expanded physical location information [0..3], and obtains the false value of the filled register 710 as the expanded physical location information [4..7], and outputs the combination to Data link layer 320. The above can be called post-padding.

擴充電路410_3使用穿插填充(interleaved-padding)的方式產生擴充後實體位置資訊。擴充電路410_3可包含二個二位元組的填充寄存器710_1及710_2,以及二個二位元組的實體位置寄存器730_1及730_2。填充寄存器710_1及710_2可鎖存相同或不同的虛假值。實體位置寄存器730_1及730_2,舉例來說,可分別鎖存實體位置資訊中的實體區塊編號及單元編號。控制器490可分別讀取實體位置寄存器730_1、填充寄存器的710_1、實體位置寄存器730_2及填充寄存器的710_2的值作為擴充後實體位置資訊[0..1]、[2..3]、[4..5]及 [6..7],並且組合輸出至資料連結層320。所屬領域具有通常知識者可置換擴充電路410_3中的元件,例如使用四個一位元組的填充寄存器,以及四個一位元組的實體位置寄存器,或者改變擴充電路410_3中的元件安排,用以完成類似但不同的穿插填充方式,因此,本發明並不因此侷限。 The expansion circuit 410_3 uses an interleaved-padding method to generate expanded physical location information. The expansion circuit 410_3 may include two two-byte padding registers 710_1 and 710_2, and two two-byte physical location registers 730_1 and 730_2. The padding registers 710_1 and 710_2 can latch the same or different false values. The physical location registers 730_1 and 730_2, for example, can respectively latch the physical block number and the unit number in the physical location information. The controller 490 can respectively read the values of the physical location register 730_1, the filling register 710_1, the physical location register 730_2, and the filling register 710_2 as the expanded physical location information [0..1], [2..3], [4 ..5] and [6..7], and the combination is output to the data link layer 320. Those with ordinary knowledge in the field can replace the components in the expansion circuit 410_3, such as using four one-byte padding registers and four one-byte physical location registers, or changing the arrangement of components in the expansion circuit 410_3. To complete similar but different interspersed filling methods, therefore, the present invention is not limited thereby.

圖7所示的填充式擴充電路410_1可進一步改良來加上擾碼器,將實體位置資訊編碼,避免被惡意使用。擾碼器可於快閃記憶裝置130中轉置(transpose)或以其他方式編碼實體位置資訊,使得當主裝置110或其他裝置沒有配置適當設定的解擾器時,無法解讀出編碼訊息。圖8為改良後的擴充電路410_4及410_5。擴充電路410_4可包含八位元組擾碼寄存器750_1,用以鎖存擾碼[0..7]。擴充電路410_4可更設置擾碼器770_1,連接擾碼寄存器750_1、填充寄存器的710及實體位置寄存器730的輸出端、以及控制器490的輸入端。擾碼器770_1使用擾碼寄存器750_1中的值對擴充後實體位置資訊進行擾碼運算,並輸出擾碼後擴充實體位置資訊至控制器490。擾碼器770_1可包含多個互斥或閘(XOR gate)對擾碼寄存器750_1中的值及擴充後實體位置資訊執行互斥或運算。控制器490接著回覆此擾碼後的擴充實體位置資訊給主裝置110。 The padding extension circuit 410_1 shown in FIG. 7 can be further improved to add a scrambler to encode the physical location information to avoid malicious use. The scrambler can transpose or encode the physical location information in the flash memory device 130 in other ways, so that when the main device 110 or other devices are not equipped with a descrambler with a proper setting, the encoded message cannot be decoded. Figure 8 shows the improved expansion circuits 410_4 and 410_5. The expansion circuit 410_4 may include an octet scrambling code register 750_1 for latching the scrambling code [0..7]. The expansion circuit 410_4 can be further provided with a scrambler 770_1, which is connected to the scrambler register 750_1, the output terminals of the filling register 710 and the physical location register 730, and the input terminal of the controller 490. The scrambler 770_1 uses the value in the scrambling code register 750_1 to perform a scrambling operation on the expanded physical location information, and outputs the scrambled expanded physical location information to the controller 490. The scrambler 770_1 may include a plurality of exclusive OR gates (XOR gates) to perform exclusive OR operations on the value in the scrambler register 750_1 and the expanded physical location information. The controller 490 then replies the scrambled extended physical location information to the main device 110.

擴充電路410_5可包含四位元組擾碼寄存器750_2,用以鎖存擾碼[0..3]。擴充電路410_5可更設置擾碼器770_2,連接擾碼寄存器750_1、實體位置寄存器730的輸入端、及直接記憶體存取控制器430的輸出端。擾碼器770_2使用擾碼寄存器750_2中的值對原始實體位置資訊進行擾碼運算,並輸出擾碼後實體位置資訊至實體位置寄存器730。擾碼器770_2可包含多個互斥或閘對擾碼寄存器750_2中的值及原始實體位置資訊執行互斥或運算。控制器490取得填充寄存器的710的虛假值作為擴充後實體位置資訊[0..3],取得實體位置寄存器730的擾碼後實體位置資訊作為擴充後實體位置資訊[4..7], 並且組合輸出至資料連結層320,用以回覆主裝置110。 The expansion circuit 410_5 may include a four-byte scrambling code register 750_2 for latching the scrambling code [0..3]. The expansion circuit 410_5 can be further provided with a scrambler 770_2, which is connected to the scrambler 750_1, the input terminal of the physical location register 730, and the output terminal of the direct memory access controller 430. The scrambler 770_2 uses the value in the scrambling code register 750_2 to perform a scrambling operation on the original physical location information, and outputs the scrambled physical location information to the physical location register 730. The scrambler 770_2 may include a plurality of mutually exclusive OR gates to perform mutually exclusive OR operations on the values in the scrambling code register 750_2 and the original physical location information. The controller 490 obtains the false value of the filled register 710 as the expanded physical location information [0..3], and obtains the scrambled physical location information of the physical location register 730 as the expanded physical location information [4..7], And the combination is output to the data link layer 320 for replying to the main device 110.

圖7所示的填充式擴充電路410_2可進一步改良來加上擾碼器770_1或770_2及擾碼寄存器750_1或750_2,將(擴充後)實體位置資訊編碼,避免被惡意使用。所屬技術領域具有通常知識者可依據如上所述擴充電路410_1的內容推論填充式擴充電路410_2的修改技術細節,為求簡潔不再贅述。 The padding expansion circuit 410_2 shown in FIG. 7 can be further improved to add a scrambler 770_1 or 770_2 and a scramble code register 750_1 or 750_2 to encode (expanded) physical location information to avoid malicious use. Those skilled in the art can infer the technical details of the modification of the filling type extension circuit 410_2 based on the content of the extension circuit 410_1 as described above, and will not be repeated for brevity.

圖7所示的填充式擴充電路410_3可進一步改良來加上擾碼器,將實體位置資訊編碼,避免被惡意使用。圖9為改良後的擴充電路410_6及410_7。擴充電路410_6可更設置擾碼器770_1,連接擾碼寄存器750_1、填充寄存器的710_1及710_2以及實體位置寄存器730_1及730_2的輸出端、以及控制器490的輸入端。擾碼器770_1使用擾碼寄存器750_1中的值對擴充後實體位置資訊(組合實體位置寄存器730_1及730_2以及填充寄存器710_1及710_2的值)進行擾碼運算,並輸出擾碼後擴充實體位置資訊至控制器490。控制器490接著回覆此擾碼後的擴充實體位置資訊給主裝置110。 The padding extension circuit 410_3 shown in FIG. 7 can be further improved to add a scrambler to encode the physical location information to avoid malicious use. Figure 9 shows the improved expansion circuits 410_6 and 410_7. The expansion circuit 410_6 can be further equipped with a scrambler 770_1, which is connected to the scrambler register 750_1, the output terminals of the filling registers 710_1 and 710_2, the physical location registers 730_1 and 730_2, and the input terminal of the controller 490. The scrambler 770_1 uses the value in the scramble code register 750_1 to scramble the expanded physical location information (combined the values of the physical location registers 730_1 and 730_2 and the padding registers 710_1 and 710_2), and outputs the scrambled expanded physical location information to Controller 490. The controller 490 then replies the scrambled extended physical location information to the main device 110.

擴充電路410_7可更設置擾碼器770_2,連接擾碼寄存器750_2、實體位置寄存器730_1及730_2的輸入端、及直接記憶體存取控制器430的輸出端。擾碼器770_2使用擾碼寄存器750_2中的值對原始實體位置資訊進行擾碼運算,並分別輸出擾碼後實體位置資訊[0..1]及[2..3]至實體位置寄存器730_1及730_2。控制器490取得實體位置寄存器730_1的擾碼後實體位置資訊作為擴充後實體位置資訊[0..1],取得填充寄存器的710_1的虛假值作為擴充後實體位置資訊[2..3],取得實體位置寄存器730_2的擾碼後實體位置資訊作為擴充後實體位置資訊[4..5],取得填充寄存器的710_2的虛假值作為擴充後實體位置資訊[6..7],並且組合輸出至資料連結層320,用以回覆主裝置110。 The expansion circuit 410_7 can be further equipped with a scrambler 770_2, which is connected to the scrambler register 750_2, the input terminals of the physical location registers 730_1 and 730_2, and the output terminal of the direct memory access controller 430. The scrambler 770_2 uses the value in the scrambling code register 750_2 to perform a scrambling operation on the original physical location information, and outputs the scrambled physical location information [0..1] and [2..3] to the physical location register 730_1 and 730_2. The controller 490 obtains the scrambled physical location information of the physical location register 730_1 as the expanded physical location information [0..1], and obtains the false value of the stuffed register 710_1 as the expanded physical location information [2..3], and obtains The scrambled physical location information of the physical location register 730_2 is used as the expanded physical location information [4..5], the false value of 710_2 filled in the register is obtained as the expanded physical location information [6..7], and the combination is output to the data The connection layer 320 is used to reply to the main device 110.

所屬領域具有通常知識者可置換擴充電路410_6或410_7中的元件, 例如使用四個一位元組的填充寄存器,以及四個一位元組的實體位置寄存器,或者改變擴充電路410_6或410_7中的元件安排,用以完成類似但不同的穿插填充方式,因此,本發明並不因此侷限。 Those with ordinary knowledge in the field can replace the components in the expansion circuit 410_6 or 410_7, For example, use four one-tuple padding registers and four one-tuple physical location registers, or change the component arrangement in the expansion circuit 410_6 or 410_7 to complete similar but different interleaved padding methods. Therefore, this The invention is not limited by this.

參考圖4。擴充電路410可使用同位元編碼的方式產生擴充後實體位置資訊。詳細來說,擴充電路410從資料緩衝區450接收實體位置資訊,並據以加上更多位元組的資料以成為帶有奇同位(odd parity)或偶同位(even parity)的擴充後實體位置資訊,並輸出至控制器490,使得主裝置110可判斷擴充後實體位置資訊是否正確。當擴充後實體位置資訊不正確時,主裝置110可請求快閃記憶裝置重新傳送相應此邏輯位置的實體位置資訊。擴充電路410_8至410_10為同位式(parity-type)的擴充電路。 Refer to Figure 4. The expansion circuit 410 can generate expanded physical location information by using parity coding. In detail, the expansion circuit 410 receives the physical location information from the data buffer 450, and adds more bytes of data accordingly to become an expanded entity with odd parity or even parity. The location information is output to the controller 490 so that the main device 110 can determine whether the expanded physical location information is correct. When the expanded physical location information is incorrect, the main device 110 can request the flash memory device to resend the physical location information corresponding to the logical location. The expansion circuits 410_8 to 410_10 are parity-type expansion circuits.

參考圖10。擴充電路410_8可包含四位元組的同位元寄存器780及實體位置寄存器730。擴充電路410_8可更包含同位元產生器790,連接至直接記憶體存取控制器430的輸出端,用以依據原始實體位置資訊產生更多位元組的資料(又稱為同位元組),並輸出同位元組至同位元寄存器780。舉例來說,同位元產生器790可包含比較器,判斷原始實體位置資訊中位元值為1的總數。若總數為奇數則同位元產生器790輸出帶有偶數個位元值為1的同位元組(例如0x0000),若總數為偶數則輸出帶有奇數個位元值為1的同位元組(例如0x0001)。控制器490取得同位元寄存器的780的同位元組作為擴充後實體位置資訊[0..3],取得實體位置寄存器730的實體位置資訊作為擴充後實體位置資訊[4..7],並且組合輸出帶奇同位的擴充後實體位置資訊至資料連結層320。以上所述可稱為前同位(pre-parity)。 Refer to Figure 10. The expansion circuit 410_8 may include a 4-byte parity register 780 and a physical location register 730. The expansion circuit 410_8 may further include a parity generator 790, connected to the output terminal of the direct memory access controller 430, for generating more bytes of data (also called parity) according to the original physical location information, And output the parity group to the parity register 780. For example, the parity generator 790 may include a comparator to determine the total number of bit values of 1 in the original physical location information. If the total number is odd, the parity generator 790 outputs a parity group with an even number of bit values of 1 (for example, 0x0000), and if the total number is an even number, it outputs a parity group with an odd number of bits of 1 (for example, 0x0001). The controller 490 obtains the parity group of 780 of the parity register as the expanded physical location information [0..3], and obtains the physical position information of the physical location register 730 as the expanded physical location information [4..7], and combines them Output the expanded physical location information with odd parity to the data link layer 320. The above can be called pre-parity.

相似地,擴充電路410_9可包含四位元組的實體位置寄存器730及同位元寄存器780。控制器490取得實體位置寄存器730的實體位置資訊作為擴充後實體位置資訊[0..3],取得同位元寄存器的780的同位元組作為擴充後實體位置資訊[4..7],並且組合輸出帶奇同位的擴充 後實體位置資訊至資料連結層320。以上所述可稱為後同位(post-parity)。 Similarly, the expansion circuit 410_9 may include a four-byte physical location register 730 and a parity register 780. The controller 490 obtains the physical location information of the physical location register 730 as the expanded physical location information [0..3], and obtains the parity group of 780 of the parity register as the expanded physical location information [4..7], and combines them Output expansion with odd parity The post-physical location information is sent to the data link layer 320. The above can be called post-parity.

於另一些實施例中,所屬技術領域具通常知識者可修改同位元產生器790,若總數為奇數則同位元產生器790輸出帶有奇數個位元值為1的同位元組(例如0x0001),若總數為偶數則輸出帶有偶數個位元值為1的同位元組(例如0x0000),使得擴充電路410_8或410_9可輸出帶偶同位的擴充後實體位置資訊[0..7]。 In other embodiments, those skilled in the art can modify the parity generator 790. If the total number is an odd number, the parity generator 790 outputs parity groups with an odd number of bit values of 1 (for example, 0x0001) If the total number is even, output a parity group with an even number of bit values of 1 (for example, 0x0000), so that the expansion circuit 410_8 or 410_9 can output the expanded physical location information with even parity [0..7].

於更另一些實施例中,當實體位置資訊及同位元組的長度相同時,所屬技術領域具通常知識者可省略同位元產生器790。同位元寄存器780連接至直接記憶體存取控制器430的輸出端,並鎖存直接記憶體存取控制器430輸出的原始實體位置資訊作為同位元組。控制器490取得實體位置寄存器730的實體位置資訊作為擴充後實體位置資訊[0..3],取得同位元寄存器的780的實體位置資訊作為擴充後實體位置資訊[4..7],並且組合輸出偶同位的擴充後實體位置資訊至資料連結層320。 In some other embodiments, when the physical location information and the length of the parity group are the same, those skilled in the art can omit the parity generator 790. The parity register 780 is connected to the output terminal of the direct memory access controller 430, and latches the original physical location information output by the direct memory access controller 430 as a parity group. The controller 490 obtains the physical location information of the physical location register 730 as the expanded physical location information [0..3], and obtains the physical location information of the parity register 780 as the expanded physical location information [4..7], and combines Output the expanded physical location information of even parity to the data link layer 320.

擴充電路410_10使用穿插同位(interleaved-parity)的方式產生擴充後實體位置資訊。擴充電路410_10可包含二個二位元組的同位元寄存器780_1及780_2,以及二個二位元組的實體位置寄存器730_1及730_2。擴充電路410_10可更包含同位元產生器790_1及790_2,連接至直接記憶體存取控制器430的輸出端。舉例來說,同位元產生器790_1可包含比較器,判斷原始實體位置資訊的實體區塊編號中位元值為1的總數。若總數為奇數則同位元產生器790_1輸出帶有偶數個位元值為1的同位元組(例如0x00),若總數為偶數則輸出帶有奇數個位元值為1的同位元組(例如0x01)至同位元寄存器780_1。同位元產生器790_2可包含比較器,判斷原始實體位置資訊的單元編號中位元值為1的總數。若總數為奇數則同位元產生器790_2輸出帶有偶數個位元值為1的同位元組(例如0x00),若總數為偶數則 輸出帶有奇數個位元值為1的同位元組(例如0x01)至同位元寄存器780_2。控制器490可分別讀取實體位置寄存器730_1、同位元寄存器的780_1、實體位置寄存器730_2及同位元寄存器的780_2的值作為帶奇同位的擴充後實體位置資訊[0..1]、[2..3]、[4..5]及[6..7],並且組合輸出至資料連結層320。所屬領域具有通常知識者可置換擴充電路410_10中的元件,例如使用四個一位元組的同位元寄存器,以及四個一位元組的實體位置寄存器,或者改變擴充電路410_10中的元件安排,用以完成類似但不同的穿插填充方式,因此,本發明並不因此侷限。 The expansion circuit 410_10 uses an interleaved-parity method to generate expanded physical location information. The expansion circuit 410_10 may include two two-byte parity registers 780_1 and 780_2, and two two-byte physical location registers 730_1 and 730_2. The expansion circuit 410_10 may further include parity generators 790_1 and 790_2, which are connected to the output terminal of the direct memory access controller 430. For example, the parity generator 790_1 may include a comparator to determine the total number of bit values in the physical block number of the original physical location information. If the total number is odd, the parity generator 790_1 outputs a parity group with an even number of bit values of 1 (for example, 0x00), and if the total number is an even number, it outputs a parity group with an odd number of bits of 1 (for example, 0x01) to the parity register 780_1. The parity generator 790_2 may include a comparator to determine the total number of bit values of 1 in the unit number of the original physical location information. If the total number is odd, the parity generator 790_2 outputs a parity group with an even number of bits (for example, 0x00), if the total number is an even number, Output the parity group with an odd number of bit values of 1 (for example, 0x01) to the parity register 780_2. The controller 490 can read the values of the physical location register 730_1, the parity register 780_1, the physical position register 730_2, and the parity register 780_2 respectively as the expanded physical position information with odd parity [0..1], [2. .3], [4..5] and [6..7], and the combination is output to the data link layer 320. Those with ordinary knowledge in the field can replace the components in the expansion circuit 410_10, for example, use four one-byte parity registers and four one-byte physical location registers, or change the arrangement of components in the expansion circuit 410_10, It is used to complete similar but different interspersed filling methods, therefore, the present invention is not limited thereby.

於另一些實施例中,所屬技術領域具通常知識者可修改同位元產生器790_1及790_2。若同位元產生器790_1及790_2中之每一者偵測到總數為奇數則輸出0x0001(亦即是數值1)作為同位元組,若總數為偶數則輸出0x0000(亦即是數值0)作為同位元組,使得擴充電路410_10可輸出帶偶同位的擴充後實體位置資訊[0..7]。 In other embodiments, those skilled in the art can modify the parity generators 790_1 and 790_2. If each of the parity generators 790_1 and 790_2 detects that the total number is odd, it outputs 0x0001 (that is, the value 1) as the parity group, and if the total number is even, it outputs 0x0000 (that is, the value 0) as the parity. Tuples, so that the expansion circuit 410_10 can output expanded physical location information [0..7] with even parity.

於更另一些實施例中,當實體位置資訊及同位元組的長度相同時,所屬技術領域具通常知識者可省略同位元產生器790_1及790_2。同位元寄存器780_1及780_2連接至直接記憶體存取控制器430的輸出端,並分別鎖存直接記憶體存取控制器430輸出的原始實體位置資訊的實體區塊編號及單元編號。控制器490分別取得實體位置寄存器730_1、同位元寄存器780_1、實體位置寄存器730_2及同位元寄存器780_2的內容作為擴充後實體位置資訊[0..1]、[2..3]、[4..5]及[6..7],並且組合輸出帶偶同位的擴充後實體位置資訊至資料連結層320。 In some other embodiments, when the physical location information and the length of the parity group are the same, those skilled in the art can omit the parity generators 790_1 and 790_2. The parity registers 780_1 and 780_2 are connected to the output terminal of the direct memory access controller 430, and respectively latch the physical block number and unit number of the original physical location information output by the direct memory access controller 430. The controller 490 obtains the contents of the physical location register 730_1, the parity register 780_1, the physical position register 730_2, and the parity register 780_2 respectively as the expanded physical position information [0..1], [2..3], [4.. 5] and [6..7], and output the expanded physical location information with even parity to the data link layer 320 in combination.

圖10所示的同位式擴充電路410_8可進一步改良來加上擾碼器,將實體位置資訊編碼,避免被惡意使用。圖12為改良後的擴充電路410_11及410_12。擴充電路410_11可包含八位元組擾碼寄存器750_1,用以鎖存擾碼[0..7]。擴充電路410_11可更設置擾碼器770_1, 連接擾碼寄存器750_1、同位元寄存器780及實體位置寄存器730的輸出端、以及控制器490的輸入端。擾碼器770_1使用擾碼寄存器750_1中的值對擴充後實體位置資訊進行擾碼運算,並輸出擾碼後擴充實體位置資訊至控制器490。 The parity expansion circuit 410_8 shown in FIG. 10 can be further improved to add a scrambler to encode the physical location information to avoid malicious use. Figure 12 shows the improved expansion circuits 410_11 and 410_12. The expansion circuit 410_11 may include an octet scrambling code register 750_1 for latching the scrambling code [0..7]. The expansion circuit 410_11 can be further equipped with a scrambler 770_1, The output terminals of the scrambling code register 750_1, the parity register 780 and the physical location register 730, and the input terminal of the controller 490 are connected. The scrambler 770_1 uses the value in the scrambling code register 750_1 to perform a scrambling operation on the expanded physical location information, and outputs the scrambled expanded physical location information to the controller 490.

擴充電路410_12可包含四位元組擾碼寄存器750_2,用以鎖存擾碼[0..3]。擴充電路410_12可更設置擾碼器770_2,連接擾碼寄存器750_2、實體位置寄存器730的輸入端、及直接記憶體存取控制器430的輸出端。擾碼器770_2使用擾碼寄存器750_2中的值對原始實體位置資訊進行擾碼運算,並輸出擾碼後實體位置資訊至實體位置寄存器730。控制器490取得同位元寄存器的780的同位元組作為擴充後實體位置資訊[0..3],取得實體位置寄存器730的擾碼後實體位置資訊作為擴充後實體位置資訊[4..7],並且組合輸出至資料連結層320,用以回覆主裝置110。 The expansion circuit 410_12 may include a four-byte scrambling code register 750_2 for latching the scrambling code [0..3]. The expansion circuit 410_12 can be further provided with a scrambler 770_2, which is connected to the scrambler 750_2, the input terminal of the physical location register 730, and the output terminal of the direct memory access controller 430. The scrambler 770_2 uses the value in the scrambling code register 750_2 to perform a scrambling operation on the original physical location information, and outputs the scrambled physical location information to the physical location register 730. The controller 490 obtains the parity group of 780 of the parity register as the expanded physical position information [0..3], and obtains the scrambled physical position information of the physical position register 730 as the expanded physical position information [4..7] , And output the combination to the data link layer 320 for replying to the main device 110.

圖10所示的同位式擴充電路410_9可進一步改良來加上擾碼器,將(擴充後)實體位置資訊編碼,避免被惡意使用。所屬技術領域具有通常知識者可依據如上所述擴充電路410_8的內容推論同位式擴充電路410_9的修改技術細節,為求簡潔不再贅述。 The co-located expansion circuit 410_9 shown in FIG. 10 can be further improved to add a scrambler to encode (expanded) physical location information to avoid malicious use. Those with ordinary knowledge in the technical field can infer the technical details of the modification of the co-located expansion circuit 410_9 based on the content of the expansion circuit 410_8 as described above, and will not be repeated for the sake of brevity.

圖11所示的同位式擴充電路410_10可進一步改良來加上擾碼器,將實體位置資訊編碼,避免被惡意使用。圖13為改良後的擴充電路410_13。擴充電路410_13可更設置擾碼器770_1,電性連接擾碼寄存器750_1、同位元寄存器的780_1及780_2以及實體位置寄存器730_1及730_2的輸出端、以及控制器490的輸入端。擾碼器770_1使用擾碼寄存器750_1中的值對擴充後實體位置資訊(組合實體位置寄存器730_1及730_2以及同位元寄存器的780_1及780_2的值)進行擾碼運算,並輸出擾碼後擴充實體位置資訊至控制器490。控制器490接著回覆此擾碼後的擴充實體位置資訊給主裝置110。 The parity expansion circuit 410_10 shown in FIG. 11 can be further improved to add a scrambler to encode the physical location information to avoid malicious use. Figure 13 shows the improved expansion circuit 410_13. The expansion circuit 410_13 can be further provided with a scrambler 770_1, which is electrically connected to the scrambler register 750_1, the output terminals of the parity register 780_1 and 780_2, the physical location registers 730_1 and 730_2, and the input terminal of the controller 490. The scrambler 770_1 uses the value in the scrambling code register 750_1 to scramble the expanded physical location information (combined physical location registers 730_1 and 730_2 and the values of the parity register 780_1 and 780_2), and outputs the scrambled expanded physical location Information to the controller 490. The controller 490 then replies the scrambled extended physical location information to the main device 110.

於另一些實施例中,圖11所示的同位式擴充電路410_10可進一步改 良來將擾碼器770_2加到介於實體位置寄存器730_1及730_2,以及直接記憶體存取控制器430的輸出端之間,用以將實體位置資訊編碼,避免被惡意使用。所屬技術領域具有通常知識者可依據如上所述圖9的擴充電路410_7的內容推論同位式擴充電路410_10的修改技術細節,為求簡潔不再贅述。 In other embodiments, the co-located expansion circuit 410_10 shown in FIG. 11 can be further modified Lianglai adds the scrambler 770_2 between the physical location registers 730_1 and 730_2 and the output terminal of the direct memory access controller 430 to encode physical location information to avoid malicious use. Those skilled in the art can infer the technical details of the modification of the co-located extension circuit 410_10 based on the content of the extension circuit 410_7 in FIG. 9 as described above, and will not be repeated for the sake of brevity.

處理單元470執行的方法步驟,可用一或多個功能模塊組成的電腦程式產品來實現。這些功能模塊存儲於非揮發性儲存裝置,並且可被處理單元470於特定時間點載入並執行。圖14為本發明實施例的產生快閃記憶裝置的實體儲存對照表的功能模塊示意圖。處理單元470執行讀取請求解析模塊1410以完成步驟S510的操作,執行實體位置資訊讀取驅動模塊1430以完成步驟S530的操作,並且執行實體位置資訊輸出驅動模塊1450以完成步驟S550的操作。讀取請求解析模塊1410可包含控制器490的驅動程式,以及解析器(parser),用以辨認接收到請求的類型,以及從請求中取得邏輯位置區間。實體位置資訊讀取驅動模塊1430可包含快閃記憶單元390的驅動程式,以及操作驅動程式的程式碼。實體位置資訊輸出驅動模塊1450可包含直接記憶體存取控制器430驅動程式,以及操作驅動程式的程式碼。 The method steps executed by the processing unit 470 can be implemented by a computer program product composed of one or more functional modules. These functional modules are stored in a non-volatile storage device, and can be loaded and executed by the processing unit 470 at a specific time. 14 is a schematic diagram of functional modules for generating a physical storage comparison table of a flash memory device according to an embodiment of the present invention. The processing unit 470 executes the read request parsing module 1410 to complete the operation of step S510, executes the physical location information reading drive module 1430 to complete the operation of step S530, and executes the physical location information output drive module 1450 to complete the operation of step S550. The read request parsing module 1410 may include a driver of the controller 490 and a parser to identify the type of the received request and obtain the logical location interval from the request. The physical location information reading driver module 1430 may include a driver program for the flash memory unit 390 and a program code for operating the driver program. The physical location information output driver module 1450 may include a direct memory access controller 430 driver and program codes for operating the driver.

本發明所述的方法中的全部或部分步驟可以電腦程式實現,例如電腦的作業系統、電腦中特定硬體的驅動程式、或軟體應用程式。此外,也可實現於如上所示的其他類型程式。所屬技術領域具有通常知識者可將本發明實施例的方法撰寫成電腦程式,為求簡潔不再加以描述。依據本發明實施例方法實施的電腦程式.可儲存於適當的電腦可讀取資料載具,例如DVD、CD-ROM、USB碟、硬碟,亦可置於可通過網路(例如,網際網路,或其他適當載具)存取的網路伺服器。 All or part of the steps in the method of the present invention can be implemented by a computer program, such as a computer operating system, a specific hardware driver in the computer, or a software application program. In addition, it can also be implemented in other types of programs as shown above. Those with ordinary knowledge in the technical field can write the method of the embodiments of the present invention into a computer program, which is not described for brevity. The computer program implemented according to the method of the embodiment of the present invention can be stored in an appropriate computer readable data carrier, such as DVD, CD-ROM, USB disk, hard disk, and can also be placed on the Internet (for example, the Internet Or other appropriate vehicle).

雖然圖4、7-13中包含了以上描述的元件,但不排除在不違反發明的 精神下,使用更多其他的附加元件,已達成更佳的技術效果。此外,雖然圖5的流程圖採用指定的順序來執行,但是在不違反發明精神的情況下,熟習此技藝人士可以在達到相同效果的前提下,修改這些步驟間的順序,所以,本發明並不侷限於僅使用如上所述的順序。此外,熟習此技藝人士亦可以將若干步驟整合為一個步驟,或者是除了這些步驟外,循序或平行地執行更多步驟,本發明亦不因此而侷限。 Although the elements described above are included in Figures 4 and 7-13, they are not excluded from In spirit, using more other additional components has achieved better technical results. In addition, although the flowchart of FIG. 5 is executed in a specified order, those skilled in the art can modify the sequence of these steps on the premise of achieving the same effect without violating the spirit of the invention. Therefore, the present invention does not It is not limited to using only the sequence described above. In addition, those skilled in the art can also integrate several steps into one step, or in addition to these steps, perform more steps sequentially or in parallel, and the present invention is not limited thereby.

雖然本發明使用以上實施例進行說明,但需要注意的是,這些描述並非用以限縮本發明。相反地,此發明涵蓋了熟習此技藝人士顯而易見的修改與相似設置。所以,申請權利要求範圍須以最寬廣的方式解釋來包含所有顯而易見的修改與相似設置。 Although the present invention is described using the above embodiments, it should be noted that these descriptions are not intended to limit the present invention. On the contrary, this invention covers modifications and similar arrangements that are obvious to those skilled in the art. Therefore, the scope of applied claims must be interpreted in the broadest way to include all obvious modifications and similar settings.

110:主裝置 110: main device

130:快閃記憶裝置 130: Flash memory device

310:實體層 310: physical layer

320:資料連結層 320: Data Link Layer

390:快閃記憶單元 390: flash memory unit

410:擴充電路 410: Expansion Circuit

430:直接記憶體存取控制器 430: Direct Memory Access Controller

450:資料緩衝區 450: data buffer

470:處理單元 470: Processing Unit

480:快閃記憶控制器 480: Flash memory controller

490:控制器 490: Controller

Claims (10)

一種實體儲存對照表產生裝置,用於產生一快閃記憶裝置的一實體儲存對照表,包含:一擴充電路,用以取得相應於一主裝置請求的該實體儲存對照表中使用一第一數目的位元組表示的一第一實體位置資訊,擴充該第一實體位置資訊為使用一第二數目的位元組表示的一第二實體位置資訊,其中,該第二數目大於該第一數目;以及一控制器,耦接於該擴充電路,用以回覆該第二實體位置資訊給該主裝置。 A physical storage comparison table generating device for generating a physical storage comparison table of a flash memory device, comprising: an expansion circuit for obtaining a first number used in the physical storage comparison table corresponding to a request of a host device The first physical location information represented by the byte of, the expansion of the first physical location information is a second physical location information represented by a second number of bytes, wherein the second number is greater than the first number And a controller, coupled to the expansion circuit, for replying to the second physical location information to the main device. 如請求項1所述的實體儲存對照表產生裝置,其中該控制器使用通用快閃記憶儲存通訊協定回覆該第二實體位置資訊給該主裝置。 The physical storage comparison table generating device according to claim 1, wherein the controller uses a universal flash memory storage protocol to reply the second physical location information to the main device. 如請求項1至2中任一項所述的實體儲存對照表產生裝置,其中該第一實體位置資訊從一快閃記憶單元讀取。 The physical storage comparison table generating device according to any one of claim 1 to 2, wherein the first physical location information is read from a flash memory unit. 如請求項1至2中任一項所述的實體儲存對照表產生裝置,包含:一處理單元,耦接至一快閃記憶單元,用以維護該快閃記憶單元中的該實體儲存對照表的內容,紀錄每一邏輯位置實際儲存於一快閃記憶單元中的一實體位置。 The physical storage comparison table generation device according to any one of claim 1 to 2, comprising: a processing unit, coupled to a flash memory unit, for maintaining the physical storage comparison table in the flash memory unit The content of each logical location is recorded in a physical location actually stored in a flash memory unit. 如請求項1至2中任一項所述的實體儲存對照表產生裝置,其中該擴充電路將該第一實體位置資訊加上一填充資料以產生該第二實體位置資訊。 The physical storage comparison table generating device according to any one of claim 1 to 2, wherein the expansion circuit adds a padding data to the first physical location information to generate the second physical location information. 如請求項5所述的實體儲存對照表產生裝置,其中該擴充電路包含:一填充寄存器,用以儲存一虛假值;以及一實體位置寄存器,用以儲存該第一實體位置資訊,其中,該控制器取得該虛假值及該第一實體位置資訊,以及組合該虛假值及該第一實體位置資訊成為該第二實體位置資訊。 The physical storage comparison table generating device according to claim 5, wherein the expansion circuit includes: a padding register for storing a false value; and a physical location register for storing the first physical location information, wherein the The controller obtains the false value and the first physical location information, and combines the false value and the first physical location information to become the second physical location information. 如請求項1至2中任一項所述的實體儲存對照表產生裝置,其中該擴 充電路根據該第一實體位置資訊產生一同位元組,將該第一實體位置資訊加上該同位元組以產生帶有奇同位或偶同位的該第二實體位置資訊。 The entity storage comparison table generating device according to any one of claim 1 to 2, wherein the extension The charging circuit generates a co-byte group according to the first physical location information, and adds the first physical location information to the co-byte group to generate the second physical location information with odd parity or even parity. 如請求項7所述的實體儲存對照表產生裝置,其中該擴充電路包含:一同位元產生器,用以根據該第一實體位置資訊產生該同位元組;一同位元寄存器,耦接至該同位元產生器,用以儲存該同位元組;以及一實體位置寄存器,用以儲存該第一實體位置資訊,其中,該控制器取得該同位元組及該第一實體位置資訊,以及組合該同位元組及該第一實體位置資訊成為帶有奇同位或偶同位的該第二實體位置資訊。 The physical storage comparison table generating device according to claim 7, wherein the expansion circuit includes: a parity generator for generating the parity group based on the first physical location information; and a parity register coupled to the parity register A parity generator for storing the parity group; and a physical location register for storing the first physical position information, wherein the controller obtains the parity group and the first physical position information, and combines the The parity group and the first physical position information become the second physical position information with odd parity or even parity. 如請求項7所述的實體儲存對照表產生裝置,其中該擴充電路包含:一同位元寄存器,用以儲存該第一實體位置資訊作為一同位元組;以及一實體位置寄存器,用以儲存該第一實體位置資訊,其中,該控制器取得該同位元組及該第一實體位置資訊,以及組合該同位元組及該第一實體位置資訊成為帶有偶同位的該第二實體位置資訊。 The physical storage comparison table generating device according to claim 7, wherein the expansion circuit includes: a co-bit register for storing the first physical location information as a co-byte; and a physical location register for storing the The first physical position information, wherein the controller obtains the parity group and the first physical position information, and combines the parity group and the first physical position information to form the second physical position information with even parity. 如請求項4所述的實體儲存對照表產生裝置,其中該處理單元因應該實體儲存對照表的內容的修改,通知該主裝置需要重新取得該實體儲存對照表。 For the entity storage comparison table generating device described in claim 4, the processing unit notifies the host device that the entity storage comparison table needs to be retrieved in response to the modification of the content of the entity storage comparison table.
TW108113050A 2018-06-25 2018-06-25 Apparatus and method and computer program product for generating a physical storage mapping table TWI705329B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
TW108113050A TWI705329B (en) 2018-06-25 2018-06-25 Apparatus and method and computer program product for generating a physical storage mapping table

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW108113050A TWI705329B (en) 2018-06-25 2018-06-25 Apparatus and method and computer program product for generating a physical storage mapping table

Publications (2)

Publication Number Publication Date
TW202001571A TW202001571A (en) 2020-01-01
TWI705329B true TWI705329B (en) 2020-09-21

Family

ID=69942023

Family Applications (1)

Application Number Title Priority Date Filing Date
TW108113050A TWI705329B (en) 2018-06-25 2018-06-25 Apparatus and method and computer program product for generating a physical storage mapping table

Country Status (1)

Country Link
TW (1) TWI705329B (en)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101401076A (en) * 2004-08-24 2009-04-01 桑迪士克3D公司 Method and apparatus for using a one-time or few-time programmable memory with a host device designed for erasable/rewriteable memory
TW201344432A (en) * 2012-04-17 2013-11-01 Phison Electronics Corp Memory management method and memory controller and memory storage device using the same
CN104025010A (en) * 2011-09-30 2014-09-03 净睿存储股份有限公司 Variable length encoding in a storage system
TW201502973A (en) * 2013-03-15 2015-01-16 Micron Technology Inc Apparatuses and methods for adaptive control of memory
TWI587135B (en) * 2016-11-23 2017-06-11 群聯電子股份有限公司 Data storage method, memory storage device and memory control circuit unit
TWI592800B (en) * 2016-10-04 2017-07-21 大心電子(英屬維京群島)股份有限公司 Memory management method and storage controller using the same
US20170322847A1 (en) * 2016-05-03 2017-11-09 Samsung Electronics Co., Ltd. Raid storage device and method of management thereof

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101401076A (en) * 2004-08-24 2009-04-01 桑迪士克3D公司 Method and apparatus for using a one-time or few-time programmable memory with a host device designed for erasable/rewriteable memory
CN104025010A (en) * 2011-09-30 2014-09-03 净睿存储股份有限公司 Variable length encoding in a storage system
TW201344432A (en) * 2012-04-17 2013-11-01 Phison Electronics Corp Memory management method and memory controller and memory storage device using the same
TW201502973A (en) * 2013-03-15 2015-01-16 Micron Technology Inc Apparatuses and methods for adaptive control of memory
US20170322847A1 (en) * 2016-05-03 2017-11-09 Samsung Electronics Co., Ltd. Raid storage device and method of management thereof
TWI592800B (en) * 2016-10-04 2017-07-21 大心電子(英屬維京群島)股份有限公司 Memory management method and storage controller using the same
TWI587135B (en) * 2016-11-23 2017-06-11 群聯電子股份有限公司 Data storage method, memory storage device and memory control circuit unit

Also Published As

Publication number Publication date
TW202001571A (en) 2020-01-01

Similar Documents

Publication Publication Date Title
TWI475385B (en) Method of programming memory cells and reading data, memory controller and memory storage device using the same
TWI467372B (en) Command executing method, memory controller and memory storage apparatus
TWI662410B (en) Data storage device and methods for processing data in the data storage device
TW201303587A (en) Meta data handling within a flash media controller
TW201506674A (en) Command executing method, memory controller and memory storage apparatus
WO2019090493A1 (en) Memory block recovery method and device
US11086554B2 (en) Writing same data on a storage system
TWI656531B (en) Average wear method, memory control circuit unit and memory storage device
US11307991B2 (en) Apparatus and method and computer program product for generating a storage mapping table
TWI722496B (en) Method and apparatus for encrypting and decrypting user data
KR20210041158A (en) Operating method of memory system and host recovering data with write error
TW201432709A (en) Controlling method, connector and memory storage device
JP2016143422A (en) Configuring serial devices
TWI705329B (en) Apparatus and method and computer program product for generating a physical storage mapping table
TWI661302B (en) Apparatus and method and computer program product for generating a physical storage mapping table
CN113721838B (en) Write, read data method for memory device, memory controller, and DMA engine
TWI750013B (en) Data accessing method, memory control circuit unit and memory storage device
TWI787110B (en) Method and apparatus for programming data into flash memory
TWI648629B (en) Mapping table updating method, memory control circuit unit and memory storage device
TWI728448B (en) Command transmitting method, memory control circuit unit and memory storage device
WO2022126534A1 (en) Data processing method and related device
TWI747351B (en) Method and apparatus for encrypting and decrypting physical address information
TWI712052B (en) Memory management method, storage controller and storage device
TWI797905B (en) Apparatus and method for driving redundant array of independent disks (raid) engine
TWI798034B (en) Memory controller and data processing method