TWI681296B - Apparatus and method and computer program product for accessing a memory card - Google Patents

Apparatus and method and computer program product for accessing a memory card Download PDF

Info

Publication number
TWI681296B
TWI681296B TW107139391A TW107139391A TWI681296B TW I681296 B TWI681296 B TW I681296B TW 107139391 A TW107139391 A TW 107139391A TW 107139391 A TW107139391 A TW 107139391A TW I681296 B TWI681296 B TW I681296B
Authority
TW
Taiwan
Prior art keywords
host
memory card
length
logical block
processing unit
Prior art date
Application number
TW107139391A
Other languages
Chinese (zh)
Other versions
TW202013200A (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 慧榮科技股份有限公司
Application granted granted Critical
Publication of TWI681296B publication Critical patent/TWI681296B/en
Publication of TW202013200A publication Critical patent/TW202013200A/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/004Error avoidance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • G06F13/12Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor
    • G06F13/124Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware is a sequential transfer control unit, e.g. microprocessor, peripheral processor or state-machine
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Quality & Reliability (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

The invention introduces a memory-card access apparatus to at least include a processing unit for determining whether a logical block length of a memory card inserting into the memory-card access apparatus can be supported by a host; and when the logical block length of the memory card cannot be supported by the host, replying to the host with sense data that cannot be used to induce a subsequent data write through a host interface to respond to a request sense command issued by the host.

Description

記憶卡存取裝置及方法以及電腦程式產品Memory card access device and method, and computer program product

本發明涉及資料存取技術,尤指一種記憶卡存取裝置及方法以及電腦程式產品。The invention relates to data access technology, in particular to a memory card access device and method and a computer program product.

讀卡機是用來協助記憶卡及計算機主機端間交互的介面裝置,使得計算機主機端可存取記憶卡中儲存的資料,以及將讀取的資料儲存於主機端。計算機主機端可通過其通用序列匯流排(Universal Serial Bus, USB)的埠驅動讀卡機。記憶卡可為CF、SD、microSD或MMC卡等。大部分的讀卡機也提供寫入資料的能力。為了存取多樣使用不同格式的記憶卡,讀卡機可偵測記憶卡的能力及規格,並且據以回報它的基本資料及操作狀態給計算機主機端。然而,計算機主機端可能無法支援特定的記憶卡能力而錯誤地存取記憶卡中的資料,甚至更糟的是毀損記憶卡中的資料。因此,本發明提出一種記憶卡存取裝置及方法以及電腦程式產品,用以避免記憶卡中的資料被毀損。The card reader is an interface device used to assist the interaction between the memory card and the computer host end, so that the computer host end can access the data stored in the memory card and store the read data on the host end. The computer host can drive the card reader through its Universal Serial Bus (USB) port. The memory card can be CF, SD, microSD or MMC card. Most card readers also provide the ability to write data. In order to access memory cards that use different formats, the card reader can detect the capacity and specifications of the memory card, and report its basic data and operating status to the host computer. However, the computer host may not be able to support certain memory card capabilities and erroneously access the data in the memory card, or even worse, damage the data in the memory card. Therefore, the present invention provides a memory card access device and method, and a computer program product to prevent data in the memory card from being damaged.

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

本說明書提供一種記憶卡存取裝置的實施例,其包含:主機端介面及處理單元。處理單元偵測插入於記憶卡存取裝置的記憶卡的邏輯區塊長度是否能被主機端支援;以及當偵測到插入的記憶卡的邏輯區塊長度無法被主機端支援時,為回應主機端發出的請求感測命令,通過主機端介面回覆不能觸發後續寫入的感測資料給主機端。This specification provides an embodiment of a memory card access device, which includes a host-side interface and a processing unit. The processing unit detects whether the logical block length of the memory card inserted into the memory card access device can be supported by the host; and responds to the host when it detects that the logical block length of the inserted memory card cannot be supported by the host The request sensing command issued by the terminal, which responds through the host interface cannot trigger the subsequent writing of the sensing data to the host.

本說明書另提供一種電腦程式產品的實施例,由讀卡機的處理單元載入並執行,包含以下的程式碼:偵測插入於讀卡機的記憶卡的邏輯區塊長度是否能被主機端支援;以及當偵測到插入的記憶卡的邏輯區塊長度無法被主機端支援時,為回應主機端發出的請求感測命令,回覆不能觸發後續寫入的感測資料給主機端。This specification also provides an embodiment of a computer program product, which is loaded and executed by the processing unit of the card reader, and includes the following code: detecting whether the length of the logical block of the memory card inserted in the card reader can be used by the host Support; and when it is detected that the length of the logical block of the inserted memory card cannot be supported by the host, in response to the request sensing command sent by the host, the reply cannot trigger the subsequent writing of the sensing data to the host.

上述實施例的優點之一,通過回覆不能觸發後續寫入的感測資料給不支援插入的記憶卡的邏輯區塊長度的主機端,讓主機端不會更新記憶卡中的開機區及檔案配置表影像,避免丟失連結到檔案的全部或部分重要資訊。One of the advantages of the above embodiments is that the sensor data that cannot trigger subsequent writing by replying to the host that does not support the logical block length of the inserted memory card, so that the host does not update the boot area and file configuration in the memory card Table image to avoid losing all or part of the important information linked to the file.

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

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

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

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

必須了解的是,當元件描述為”連接”或”耦接"至另一元件時,可以是直接連結、或耦接至其他元件,可能出現中間元件。相反地,當元件描述為”直接連接”或”直接耦接”至另一元件時,其中不存在任何中間元件。使用來描述元件之間關係的其他語詞也可類似方式解讀,例如”介於”相對於”直接介於”,或者是”鄰接”相對於”直接鄰接”等等。It must be understood that when an element is described as "connected" or "coupled" to another element, it may be directly connected or coupled to the other element, and intermediate elements may appear. Conversely, when an element is described as "directly connected" or "directly coupled" to another element, there are no intervening elements present. Other words used to describe the relationship between elements can also be interpreted in a similar manner, such as "between" relative to "directly between", or "adjacent" relative to "directly adjacent" and so on.

參考圖1。資料存取系統可包含行動電話,作為主機端110。雖然實施例的系統以行動電話為例,本領域技術人員也可以將主機端110應用在其他計算機裝置,例如,個人電腦、筆記型電腦(Laptop PC)、平板電腦、數位相機、數位攝影機等。主機端110可使用通用序列匯流排(Universal Serial Bus, USB)通信協議連接並驅動讀卡機130。記憶卡150可插入讀卡機130中,使得主機端110可通過讀卡機130存取記憶卡150。讀卡機130可為可拆卸式媒體的大量儲存子系統(removable-media mass storage subsystem),透過其USB埠連接主機端110。主機端110及讀卡機130可透過交換標準定義的命令塊(command block)、資料及狀態資訊彼此通訊,如於1998年12月14日發表的Universal Serial Bus Mass Storage Class: UFI Command Specification rev. 1.0。讀卡機130可依據主機端110發出的命令,通過通用快閃記憶儲存(Universal Flash Storage UFS)通信協議存取記憶卡150中的資料。Refer to Figure 1. The data access system may include a mobile phone as the host 110. Although the system of the embodiment takes a mobile phone as an example, those skilled in the art may also apply the host 110 to other computer devices, such as personal computers, laptop PCs, tablet computers, digital cameras, digital cameras, and so on. The host 110 can use a universal serial bus (Universal Serial Bus, USB) communication protocol to connect and drive the card reader 130. The memory card 150 can be inserted into the card reader 130 so that the host 110 can access the memory card 150 through the card reader 130. The card reader 130 can be a removable-media mass storage subsystem (removable-media mass storage subsystem), which is connected to the host 110 through its USB port. The host terminal 110 and the card reader 130 can communicate with each other by exchanging command blocks, data and status information defined by the standard, such as Universal Serial Bus Mass Storage Class: UFI Command Specification rev. published on December 14, 1998. 1.0. The card reader 130 can access the data in the memory card 150 through the Universal Flash Storage UFS communication protocol according to the command issued by the host 110.

參考圖2。主機端110可包含處理單元210,以及用於連接讀卡機130的USB匯流排230。當處理單元210載入及執行檔案系統211、UFI驅動程式213及USB驅動程式215的軟體以及/或韌體指令時,完成特定功能。檔案系統211執行於特定的作業系統,用於控制如何儲存資料至記憶卡150,以及從記憶卡150讀取資料。通過將資料切分成邏輯的片段及給予每個片段名稱,容易分離並識別資訊。檔案系統211使用特定結構(如FAT12、FAT16、FAT32、exFAT等)及邏輯規則管理這些群聚的資訊以及它們的名稱。UFI驅動程式213通過發送所述標準定義的UFI命令塊,控制讀卡機130。讀卡機130中執行的UFI功能模塊,用於處理這些命令塊。所有命令塊、資料及狀態資訊的交換,可通過於USB匯流排230上傳遞封包實現,而這些交換由USB驅動程式215管理。主機端還包含記憶體250,用於儲存執行中所需的資料,如變數、資料表、資料結構等。記憶體250可為特定類型的隨機存取記憶體(Random Access Memory RAM),提供揮發性的儲存空間。Refer to Figure 2. The host 110 may include a processing unit 210 and a USB bus 230 for connecting to the card reader 130. When the processing unit 210 loads and executes software and/or firmware commands of the file system 211, UFI driver 213, and USB driver 215, specific functions are completed. The file system 211 is executed in a specific operating system and is used to control how to store data to and read data from the memory card 150. By dividing the data into logical segments and giving each segment a name, it is easy to separate and identify the information. The file system 211 uses specific structures (such as FAT12, FAT16, FAT32, exFAT, etc.) and logical rules to manage the information of these groups and their names. The UFI driver 213 controls the card reader 130 by sending the UFI command block defined by the standard. The UFI function module executed in the card reader 130 is used to process these command blocks. The exchange of all command blocks, data and status information can be achieved by passing packets on the USB bus 230, and these exchanges are managed by the USB driver 215. The host side also includes a memory 250, which is used to store data required for execution, such as variables, data tables, and data structures. The memory 250 can be a specific type of random access memory (Random Access Memory RAM) to provide volatile storage space.

當記憶卡150插入讀卡機130時,主機端110及讀卡機130間會進行一些交互,用於初始化主機端110及記憶卡150間的連線。參考圖3。於一些實施方式中,當主機端110偵測到一個設備插入其USB埠時,發送測試單元就緒(TEST UNIT READY)命令312,用以檢查插入的設備是否就緒。由於記憶卡150尚未插入讀卡機130,讀卡機130回覆CSW失敗(fail)訊息318給主機端110。主機端110發送請求感測(REQUEST SENSE)命令322,用於指示讀卡機130傳送指定邏輯單元的感測資料給主機端110。當讀卡機130偵測到記憶卡150插入讀卡機130後,回覆媒體改變(MEDIA CHANGED)的感測資料328給主機端110。接著,主機端110再一次發送測試單元就緒命令332,再次檢查插入的設備是否就緒。由於記憶卡150已經插入讀卡機130,讀卡機130回覆CSW通過(pass)訊息338給主機端110。接著,主機端110發送讀取能力命令342,請求讀卡機130提供目前插入媒體的能力。讀卡機130詢問能力資訊後,據此產生並回覆目前能力描述元(current capacity descriptor)348給主機端110,例如,其中的第0至3個位元組紀錄記憶卡150可定址區塊總數,而第5至7位元組紀錄記憶卡150中每個邏輯區塊的長度(以位元組為單位)。每個邏輯區塊的長度可為512、1K、2K、4K位元組等。於媒體初始作業中,主機端110依據讀卡機130回報的能力資訊計算儲存開機區(boot sector)、檔案配置表影像(file allocation table image)等的邏輯位址,並且發出一系列讀取(READ)命令352給讀卡機130,用以取得儲存於這些邏輯位址的開機區、檔案配置表影像等資訊。接著,為了後續運作的需要,主機端110修改開機區、檔案配置表影像中的有關內容,並發出一系列寫入(WRITE)命令362給讀卡機130,用於將更新後的內容儲存回記憶卡150。When the memory card 150 is inserted into the card reader 130, some interactions between the host 110 and the card reader 130 are performed to initialize the connection between the host 110 and the memory card 150. Refer to Figure 3. In some embodiments, when the host 110 detects that a device is inserted into its USB port, it sends a test unit ready (TEST UNIT READY) command 312 to check whether the inserted device is ready. Since the memory card 150 has not been inserted into the card reader 130, the card reader 130 replies with a CSW fail message 318 to the host 110. The host terminal 110 sends a REQUEST SENSE command 322 for instructing the card reader 130 to transmit the sensing data of the specified logical unit to the host terminal 110. When the card reader 130 detects that the memory card 150 is inserted into the card reader 130, it responds to the media change (MEDIA CHANGED) sensing data 328 to the host 110. Then, the host terminal 110 sends the test unit ready command 332 again to check whether the inserted device is ready. Since the memory card 150 has been inserted into the card reader 130, the card reader 130 replies to the CSW pass message 338 to the host 110. Next, the host 110 sends a read capability command 342, requesting the card reader 130 to provide the current capability of inserting media. After querying the capability information, the card reader 130 generates and responds to the current capacity descriptor 348 to the host 110, for example, the 0th to 3rd byte records the total number of addressable blocks of the memory card 150 , And the 5th to 7th bytes record the length of each logical block in the memory card 150 (in bytes). The length of each logical block can be 512, 1K, 2K, 4K bytes, etc. During the initial operation of the media, the host 110 calculates the logical address of the storage boot sector, file allocation table image, etc. based on the capability information reported by the card reader 130, and issues a series of reads ( The READ) command 352 is given to the card reader 130 to obtain information such as the boot area and the file configuration table image stored at these logical addresses. Then, for the needs of subsequent operations, the host 110 modifies the relevant contents in the boot area and the file configuration table image, and issues a series of WRITE commands 362 to the card reader 130 for storing the updated contents back Memory card 150.

然而,當運行主機端110的作業系統或檔案系統211無法支援過長的邏輯區塊長度時,更新後的開機區及檔案配置表影像會丟失連結到檔案的全部或部分重要資訊,造成記憶卡150中儲存的檔案毀損。例如,作業系統或檔案系統211只支援512位元組而不能支援4K位元組的邏輯區塊長度。雖然UFI驅動程式213通過USB介面接收到每個邏輯區塊長度為4K位元組的資料,但是作業系統或檔案系統211只會處理每個邏輯區塊中前512位元組的資料,忽略了之後的3.5K位元組的資料,造成寫回記憶卡150後非預期性地丟失資料。However, when the operating system or file system 211 running the host terminal 110 cannot support an excessively long logical block length, the updated boot area and file configuration table image will lose all or part of the important information linked to the file, resulting in a memory card The file stored in 150 is damaged. For example, the operating system or file system 211 only supports 512 bytes and cannot support the logical block length of 4K bytes. Although the UFI driver 213 receives 4K bytes of data per logical block through the USB interface, the operating system or file system 211 will only process the first 512 bytes of data in each logical block and ignore it The subsequent 3.5K bytes of data caused unexpected data loss after writing back to the memory card 150.

為解決如上所述的問題,讀卡機130需要執行預防機制,避免記憶卡150中儲存的檔案在連結上不支援特定邏輯區塊長度的主機端110時被毀損。參考圖4,讀卡機130至少包含處理單元410,可使用多種方式實施,例如使用專用硬體或通用硬體(如單一處理器、具平行處理能力的多處理器、圖形處理器或其他具運算能力的處理器),並且在執行韌體或軟體指令(instructions)時,提供如下所述的功能。處理單元可至少包含算數邏輯單元(ALU,Arithmetic and Logic Unit)以及位移器(Bit Shifter)。處理單元110是一種多功能裝置,可以執行算數及邏輯功能。算數邏輯單元負責執行數學運算(如加、減、乘、除等)、布林運算(如AND、OR、NOT、NAND、NOR、XOR、XNOR等)或特殊函數運算(如三角函數、平方、三方、n次方、平方根、三方根、n次方根等)。通常,模式選擇輸入決定算數邏輯單元執行邏輯運算或算數運算。位移器負責位移運算及比特旋轉。記憶體420可使用高效匯流排(high-performance bus)連接處理單元410,用於儲存執行中所需的資料,如變數、資料表、資料結構等。記憶體420可為特定類型的隨機存取記憶體,提供揮發性的儲存空間。To solve the above-mentioned problems, the card reader 130 needs to implement a preventive mechanism to prevent the files stored in the memory card 150 from being damaged when the host 110 that does not support a specific logical block length is connected. Referring to FIG. 4, the card reader 130 at least includes a processing unit 410, which can be implemented in various ways, for example, using dedicated hardware or general-purpose hardware (such as a single processor, a multiprocessor with parallel processing capabilities, a graphics processor, or other tools Computing power), and provide the following functions when executing firmware or software instructions. The processing unit may include at least an Arithmetic and Logic Unit (ALU) and a Bit Shifter. The processing unit 110 is a multifunctional device that can perform arithmetic and logic functions. The arithmetic logic unit is responsible for performing mathematical operations (such as addition, subtraction, multiplication, division, etc.), Boolean operations (such as AND, OR, NOT, NAND, NOR, XOR, XNOR, etc.) or special function operations (such as trigonometric functions, square, 3rd party, nth power, square root, 3rd root, nth power, etc.). Generally, the mode selection input determines whether the arithmetic logic unit performs logical operations or arithmetic operations. The shifter is responsible for displacement calculation and bit rotation. The memory 420 may be connected to the processing unit 410 using a high-performance bus, and is used to store data required for execution, such as variables, data tables, and data structures. The memory 420 may be a specific type of random access memory to provide volatile storage space.

處理單元410、記憶體420、USB介面460及記憶卡介面480可用系統匯流排(system bus)450彼此連接,並使用特定通訊協定在裝置間傳遞資料。USB介面460可包含USB媒體存取控制層(Media Access Control MAC)及USB實體層(Physical layer PHY),用於連接主機端110的USB埠。處理單元410可載入並執行相應的UFI驅動程式及USB驅動程式,用於接收並解譯(interpret)主機端110傳送的UFI命令(如測試單元就緒、請求感測、讀取、寫入及抹除命令等)、邏輯區塊編號及資料,並且產生及傳送UFI訊息、描述元及資料等給主機端110。記憶卡介面480可包含主機端控制器(如SD或eMMC主機端控制器),用於連接記憶卡150。處理單元410可載入執行相應的UFS驅動程式,用於產生及傳送UFS命令(如辨認、讀取、寫入及抹除命令等)、邏輯區塊編號及資料等給記憶卡150,並且接收及解譯記憶卡150傳送的完成元件(Completion Element CE)及資料等。The processing unit 410, the memory 420, the USB interface 460, and the memory card interface 480 can be connected to each other by a system bus 450, and transfer data between devices using a specific communication protocol. The USB interface 460 may include a USB media access control layer (Media Access Control MAC) and a USB physical layer (PHY) for connecting to the USB port of the host 110. The processing unit 410 can load and execute corresponding UFI drivers and USB drivers for receiving and interpreting (interpret) UFI commands (such as test unit ready, request sensing, read, write and Erase commands, etc.), logical block numbers and data, and generate and send UFI messages, descriptors and data to the host 110. The memory card interface 480 may include a host controller (such as an SD or eMMC host controller) for connecting to the memory card 150. The processing unit 410 can load and execute a corresponding UFS driver program for generating and transmitting UFS commands (such as identification, reading, writing, and erasing commands, etc.), logical block numbers, and data to the memory card 150, and receiving And interpret the completion element (Completion Element CE) and data transmitted by the memory card 150.

讀卡機130可執行錯誤預防方法,避免發生如上所述的錯誤。首先,處理單元410偵測插入於讀卡機130中的記憶卡150的邏輯區塊長度是否無法被主機端110支援。當偵測到插入的記憶卡150的邏輯區塊長度無法被主機端110支援時,為回應從主機端110接收到請求感測命令,通過主機端介面回覆不能觸發後續處理的感測資料給主機端110。The card reader 130 may perform an error prevention method to avoid the errors described above. First, the processing unit 410 detects whether the logical block length of the memory card 150 inserted in the card reader 130 cannot be supported by the host 110. When it is detected that the length of the logical block of the inserted memory card 150 cannot be supported by the host terminal 110, in response to receiving the request sensing command from the host terminal 110, the sensor data that cannot trigger subsequent processing is returned to the host through the host interface端110。 End 110.

詳細流程可參考圖5。當處理單元410通過USB介面460從主機端110接收到請求感測命令後(步驟S510),可通過記憶卡介面480詢問記憶卡130的邏輯區塊長度(步驟S520)。於步驟S520,處理單元410可發送讀取能力(Read Capacity)命令給記憶卡150,用於請求提供記憶卡150的目前能力。處理單元410可從記憶卡150接收讀取能力資料回覆(Read Capacity Data Response),其中的第4至7位元組包含其邏輯區塊長度。讀取能力命令是一種UFS SCSI命令。可理解的是,步驟S520也可以執行於步驟S510之前,本發明並不因此侷限。處理單元410可儲存讀取能力資料回覆中的邏輯區塊長度至記憶體420,直到記憶卡150被移出讀卡機130。Refer to Figure 5 for the detailed process. When the processing unit 410 receives the request sensing command from the host terminal 110 through the USB interface 460 (step S510), it may query the logical block length of the memory card 130 through the memory card interface 480 (step S520). In step S520, the processing unit 410 may send a read capacity (Read Capacity) command to the memory card 150 for requesting to provide the current capacity of the memory card 150. The processing unit 410 can receive a read capacity data response (Read Capacity Data Response) from the memory card 150, where the 4th to 7th bytes include its logical block length. The read capability command is a UFS SCSI command. It is understandable that step S520 may also be executed before step S510, and the present invention is not limited thereto. The processing unit 410 may store the length of the logical block in the readability data reply to the memory 420 until the memory card 150 is removed from the card reader 130.

當處理單元410判斷回覆的邏輯區塊長度為不需要檢查的長度,例如4K位元組(步驟S530中”否”的路徑),則回覆能夠觸發主機端110後續處理的感測資料(Sense Data),例如,指出媒體改變的感測鍵值(Sense Key)(步驟S535)。感測鍵值提供用以回報錯誤及例外狀態的基本類型。When the processing unit 410 determines that the length of the logical block of the reply is a length that does not need to be checked, for example, 4K bytes (the path of "No" in step S530), the reply can trigger the sensing data (Sense Data) of the host 110 for subsequent processing ), for example, to indicate the sense key (Sense Key) of the media change (step S535). Sensing keys provide a basic type for reporting errors and exception status.

當處理單元410判斷回覆的邏輯區塊長度為需要檢查的長度且主機端110運行的作業系統及檔案系統支援記憶卡150的邏輯區塊長度(步驟S530中”是”的路徑接步驟S540中”是”的路徑),則回覆能夠觸發主機端110後續處理的感測資料,例如,指出媒體改變的感測鍵值 (步驟S535)。When the processing unit 410 determines that the logical block length of the reply is the length to be checked and the operating system and file system running on the host 110 supports the logical block length of the memory card 150 (the path of "Yes" in step S530 is followed by the step of S540" Yes path), then reply to the sensing data that can trigger subsequent processing by the host 110, for example, indicating the sensing key value of the media change (step S535).

當處理單元410判斷回覆的邏輯區塊長度為需要檢查的長度且主機端110運行的作業系統或檔案系統不支援記憶卡150的邏輯區塊長度(步驟S530中”是”的路徑接步驟S540中”否”的路徑),則回覆不能夠觸發主機端110後續寫入的感測資料,例如,指出媒體不存在(MEDIA NOT PRESENT)或媒體受寫入防護(WRITE PROTECTED MEDIA)的感測鍵值,防止主機端110更新開機區及檔案配置表影像,造成丟失連結到檔案的全部或部分重要資訊(步驟S535)。When the processing unit 410 determines that the returned logical block length is the length that needs to be checked and the operating system or file system running on the host 110 does not support the logical block length of the memory card 150 (the path of "YES" in step S530 is followed by step S540) "No" path), the reply cannot trigger the subsequent writing of the sensing data of the host 110, for example, the sensing key value indicating that the media does not exist (MEDIA NOT PRESENT) or the media is protected by writing (WRITE PROTECTED MEDIA) To prevent the host 110 from updating the boot area and the file configuration table image, resulting in the loss of all or part of the important information linked to the file (step S535).

由於不同的作業系統會使用不同的配置長度,處理單元410可藉由請求感測命令中配置長度(allocation length)的值判斷主機端110中運行的作業系統。請求感測命令的配置長度欄位描述主機端110能夠接收的感測資料的最大位元組數目。例如,運行安卓作業系統(Android)、視窗7/10/XP作業系統(Windows 7/10/XP)及Mac作業系統的主機端的能夠接收的感測資料的最大位元組數目為96(也就是”0x60”)、18(也就是”0x12”)及18,而安卓作業系統或其檔案系統不支援4K位元組的邏輯區塊長度。如上所述不支援作業系統或其檔案系統與需檢查的邏輯區塊長度間的映射資訊可使用任意的資料結構儲存於記憶體420,例如資料表、決策規則(decision rules)等,有利於處理單元410判斷。於另一些實施例,如上所述的映射資訊也可反應在程式碼的判斷邏輯。於步驟S540,當處理單元410偵測到請求感測命令的配置長度欄位中的值為”0x60”時,判斷主機端110運行的作業系統或檔案系統不支援記憶卡150的邏輯區塊長度。當處理單元410偵測到請求感測命令的配置長度欄位中的值為”0x12”時,判斷主機端110運行的作業系統或檔案系統支援記憶卡150的邏輯區塊長度。Since different operating systems use different configuration lengths, the processing unit 410 can determine the operating system running in the host 110 by requesting the value of the allocation length in the sensing command. The configuration length field of the requested sensing command describes the maximum number of bytes of sensing data that the host 110 can receive. For example, the maximum number of bytes of sensing data that can be received by the host running the Android operating system (Android), Windows 7/10/XP operating system (Windows 7/10/XP), and Mac operating system is 96 (that is, "0x60"), 18 (that is, "0x12") and 18, and the Android operating system or its file system does not support the logical block length of 4K bytes. As described above, the mapping information between the operating system or its file system and the length of the logical block to be checked can be stored in the memory 420 using any data structure, such as data tables, decision rules, etc., which is helpful for processing Unit 410 judges. In other embodiments, the mapping information as described above may also be reflected in the judgment logic of the code. In step S540, when the processing unit 410 detects that the value in the configuration length field of the request sensing command is "0x60", it is determined that the operating system or file system running on the host 110 does not support the logical block length of the memory card 150 . When the processing unit 410 detects that the value in the configuration length field of the request sensing command is "0x12", it determines that the operating system or file system running on the host 110 supports the logical block length of the memory card 150.

參考圖6,讀卡機可於接收到請求感測命令322時,啟動錯誤預防處理程序600,執行如圖5所示的方法流程。於錯誤預防處理程序600中,處理單元410可通過記憶卡介面480發送讀取能力命令612給記憶卡150,並且從記憶卡150接收讀取能力資料回覆618,用於完成記憶卡150的邏輯區塊長度的詢問。可理解的是,本領域技術人員可將讀取能力命令612的發送執行於啟動錯誤預防處理程序600之前,或者,將讀取能力命令612的發送及讀取能力資料回覆618的接收,執行於啟動錯誤預防處理程序600之前,本發明並不因此侷限。當處理單元410判斷回覆的邏輯區塊長度為不需要檢查的長度(步驟S530中”否”的路徑),或回覆的邏輯區塊長度為需要檢查的長度且主機端110運行的作業系統或檔案系統支援記憶卡150的邏輯區塊長度(步驟S530中”是”的路徑接步驟S540中”是”的路徑),則回覆能夠觸發主機端110後續處理的感測資料628(步驟S535)。後續處理可包含測試單元就緒命令332及讀取能力命令342的傳送及相應訊息338及目前能力描述元348的接收。後續處理另可包含如上所述開機區及檔案配置表影像的讀取、修改及寫入。Referring to FIG. 6, the card reader can start the error prevention processing program 600 when it receives the request sensing command 322 to execute the method flow shown in FIG. 5. In the error prevention processing program 600, the processing unit 410 may send a read capability command 612 to the memory card 150 through the memory card interface 480, and receive a read capability data reply 618 from the memory card 150 to complete the logic area of the memory card 150 Block length query. It is understandable that a person skilled in the art can execute the sending of the reading capability command 612 before starting the error prevention processing program 600, or the sending of the reading capability command 612 and the reception of the reading capability data reply 618 can be executed on Before starting the error prevention processing program 600, the present invention is not so limited. When the processing unit 410 determines that the returned logical block length is the length that does not need to be checked (the path of "No" in step S530), or the returned logical block length is the length that needs to be checked and the operating system or file running on the host 110 The system supports the logical block length of the memory card 150 (the "YES" path in step S530 is followed by the "YES" path in step S540), and then responds to the sensing data 628 that can trigger subsequent processing by the host 110 (step S535). Subsequent processing may include the transmission of the test unit ready command 332 and the read capability command 342 and the reception of the corresponding message 338 and the current capability description element 348. Subsequent processing may also include reading, modifying, and writing the boot area and file configuration table images as described above.

參考圖7,於錯誤預防處理程序600中,當處理單元410判斷回覆的邏輯區塊長度為需要檢查的長度且主機端110運行的作業系統或檔案系統不支援記憶卡150的邏輯區塊長度(步驟S530中”是”的路徑接步驟S540中”否”的路徑),則回覆不能夠觸發主機端110後續寫入的感測資料718,例如,指出媒體不存在或寫入防護媒體的感測鍵值(步驟S545)。後續寫入可包含如上所述開機區及檔案配置表影像的讀取、修改及寫入。Referring to FIG. 7, in the error prevention process 600, when the processing unit 410 determines that the logical block length of the reply is the length to be checked and the operating system or file system running on the host 110 does not support the logical block length of the memory card 150 ( The path of "Yes" in step S530 is followed by the path of "No" in step S540), the reply cannot trigger the subsequent writing of the sensing data 718 of the host 110, for example, indicating that the media does not exist or is written to the protection media Key value (step S545). Subsequent writing may include the reading, modification, and writing of the boot area and file configuration table images as described above.

處理單元410所執行資料存取控制的方法步驟,可使用一個或多個功能模塊組成的電腦程式產品來實現。這些功能模塊存儲於非揮發性儲存裝置,並且可被處理單元410於特定時間點載入並執行。參考圖8,處理單元110執行主機端介面驅動模塊810以完成步驟S510、S535及S545的操作,執行記憶卡介面驅動模塊820以完成步驟S520的操作,以及執行錯誤預防處理模塊830以完成步驟S530及S540的操作。主機端介面驅動模塊810、記憶卡介面驅動模塊820及錯誤預防處理模塊830間的資料傳遞可透過函數呼叫(function calls)、全域變數(global variables)等完成。主機端介面驅動模塊810可包USB介面460的驅動程式,如相應的UFI驅動程式及USB驅動程式,而記憶卡介面驅動模塊820可包含記憶卡介面480的驅動程式,如UFS驅動程式。The method steps of the data access control executed by the processing unit 410 can be implemented using computer program products 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 410 at a specific time point. Referring to FIG. 8, the processing unit 110 executes the host interface driver module 810 to complete the operations of steps S510, S535 and S545, executes the memory card interface driver module 820 to complete the operations of step S520, and executes the error prevention processing module 830 to complete the step S530 And the operation of S540. Data transfer between the host interface driver module 810, the memory card interface driver module 820, and the error prevention processing module 830 can be accomplished through function calls, global variables, and so on. The host interface driver module 810 may include a USB interface 460 driver, such as a corresponding UFI driver and USB driver, and the memory card interface driver module 820 may include a memory card interface 480 driver, such as a UFS 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. A person skilled in the art can write the method of the embodiment of the present invention into a computer program, which will not be described for simplicity. The computer program implemented according to the method of the embodiment of the present invention can be stored in a suitable computer-readable data carrier, such as a DVD, CD-ROM, USB disk, or hard disk, or can be placed on a network (for example, the Internet Network server.

雖然圖4中包含了以上描述的元件,但不排除在不違反發明的精神下,使用更多其他的附加元件,已達成更佳的技術效果。此外,雖然圖5的流程圖採用指定的順序來執行,但是在不違反發明精神的情況下,熟習此技藝人士可以在達到相同效果的前提下,修改這些步驟間的順序,所以,本發明並不侷限於僅使用如上所述的順序。此外,熟習此技藝人士亦可以將若干步驟整合為一個步驟,或者是除了這些步驟外,循序或平行地執行更多步驟,本發明亦不因此而侷限。Although the elements described above are included in FIG. 4, it is not excluded that more other additional elements are used without violating the spirit of the invention, and a better technical effect has been achieved. In addition, although the flowchart in FIG. 5 is executed in a specified order, without violating the spirit of the invention, a person skilled in the art can modify the order between these steps on the premise of achieving the same effect. Therefore, the present invention does not It is not limited to use only the order 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 obvious modifications and similar settings for those skilled in the art. Therefore, the scope of the claims of the application must be interpreted in the broadest way to include all obvious modifications and similar settings.

110‧‧‧主機端110‧‧‧Host

130‧‧‧讀卡機130‧‧‧Card reader

150‧‧‧記憶卡150‧‧‧Memory card

210、410‧‧‧處理單元210, 410‧‧‧ processing unit

211‧‧‧檔案系統211‧‧‧ File System

213‧‧‧UFI驅動程式213‧‧‧ UFI driver

215‧‧‧USB驅動程式215‧‧‧USB driver

230‧‧‧USB匯流排230‧‧‧USB bus

250、420‧‧‧記憶體250, 420‧‧‧ memory

312、332‧‧‧測試單元就緒命令312、332‧‧‧Test unit ready command

318‧‧‧CSW失敗訊息318‧‧‧CSW failure message

322‧‧‧請求感測命令322‧‧‧ Request sensing command

328‧‧‧媒體改變的感測資料328‧‧‧ Sensing data of media change

338‧‧‧CSW通過訊息338‧‧‧CSW message

342‧‧‧讀取能力命令342‧‧‧Read Ability Command

348‧‧‧目前能力描述元348‧‧‧ current ability description element

352‧‧‧讀取命令352‧‧‧Read command

358‧‧‧寫入命令358‧‧‧Write command

450‧‧‧系統匯流排450‧‧‧System bus

460‧‧‧USB介面460‧‧‧USB interface

480‧‧‧記憶卡介面480‧‧‧Memory card interface

S510~S545‧‧‧方法步驟S510~S545‧‧‧Method steps

600‧‧‧錯誤預防處理程序600‧‧‧Procedure for error prevention

612‧‧‧讀取能力命令612‧‧‧Read Ability Command

618‧‧‧讀取能力資料回覆618‧‧‧Reading ability data reply

628‧‧‧能夠觸發主機端後續處理的感測資料628‧‧‧ Sensing data that can trigger subsequent processing on the host

718‧‧‧不能夠觸發主機端後續寫入的感測資料718‧‧‧Cannot trigger the subsequent writing of sensing data on the host

810‧‧‧主機端介面驅動模塊810‧‧‧Host interface driver module

820‧‧‧記憶卡介面驅動模塊820‧‧‧Memory card interface driver module

830‧‧‧錯誤預防處理模塊830‧‧‧ Error prevention processing module

圖1為依據本發明實施例的資料存取系統示意圖。FIG. 1 is a schematic diagram of a data access system according to an embodiment of the invention.

圖2為主機端的方塊圖。Figure 2 is a block diagram of the host side.

圖3為一些實施方式的主機端及讀卡機間的交互順序圖。FIG. 3 is a sequence diagram of interaction between the host and the card reader in some embodiments.

圖4為依據本發明實施例的讀卡機的系統架構圖。FIG. 4 is a system architecture diagram of a card reader according to an embodiment of the invention.

圖5為依據本發明實施例的記憶卡存取方法的流程圖。5 is a flowchart of a memory card access method according to an embodiment of the invention.

圖6及7為依據本發明實施例的主機端及讀卡機間的交互順序圖。6 and 7 are sequence diagrams of interaction between the host and the card reader according to an embodiment of the invention.

圖8為依據本發明實施例的讀卡機中資料存取的軟體模塊示意圖。8 is a schematic diagram of a software module for data access in a card reader according to an embodiment of the present invention.

S510~S545‧‧‧方法步驟 S510~S545‧‧‧Method steps

Claims (13)

一種記憶卡存取裝置,包含: 一主機端介面,耦接於一主機端;以及 一處理單元,耦接於所述主機端介面,用於偵測插入於所述記憶卡存取裝置的一記憶卡的一邏輯區塊長度是否能被所述主機端支援;以及當偵測到插入的所述記憶卡的所述邏輯區塊長度無法被所述主機端支援時,為回應所述主機端發出的一請求感測命令,通過所述主機端介面回覆不能觸發後續寫入的一感測資料給所述主機端。A memory card access device includes: a host-side interface, coupled to a host-side; and a processing unit, coupled to the host-side interface, for detecting a card inserted into the memory-card access device Whether a logical block length of the memory card can be supported by the host side; and when it is detected that the logical block length of the inserted memory card cannot be supported by the host side, in response to the host side A request sensing command issued by the host-side interface replies to the host-side with a sensing data that cannot trigger subsequent writing. 如請求項1所述的記憶卡存取裝置,包含: 一記憶卡介面,耦接於所述處理單元, 其中,所述處理單元通過所述記憶卡介面詢問所述記憶卡,用於取得所述記憶卡的所述邏輯區塊長度。The memory card access device according to claim 1, comprising: a memory card interface coupled to the processing unit, wherein the processing unit interrogates the memory card through the memory card interface for obtaining all The length of the logical block of the memory card. 如請求項1所述的記憶卡存取裝置,其中,當所述處理單元判斷所述記憶卡的所述邏輯區塊長度為不需要檢查的長度時,為回應所述主機端發出的所述請求感測命令,通過所述主機端介面回覆能夠觸發所述主機端後續處理的一感測資料給所述主機端。The memory card access device according to claim 1, wherein when the processing unit determines that the length of the logical block of the memory card is a length that does not need to be checked, it responds to the Request a sensing command and reply to the host through the host interface a piece of sensing data that can trigger subsequent processing by the host. 如請求項1所述的記憶卡存取裝置,其中,當所述處理單元判斷所述記憶卡的所述邏輯區塊長度為需要檢查的長度且所述主機端運行的一作業系統及一檔案系統支援所述記憶卡的所述邏輯區塊長度時,為回應所述主機端發出的所述請求感測命令,通過所述主機端介面回覆能夠觸發所述主機端後續處理的一感測資料給所述主機端。The memory card access device according to claim 1, wherein when the processing unit determines that the length of the logical block of the memory card is a length that needs to be checked and an operating system and a file run by the host When the system supports the length of the logical block of the memory card, in response to the request sensing command issued by the host, a response data that can trigger subsequent processing by the host is returned through the host interface To the host. 如請求項3至4中任一項所述的記憶卡存取裝置,其中,能夠觸發所述主機端後續處理的所述感測資料為指出媒體改變的一感測鍵值。The memory card access device according to any one of claims 3 to 4, wherein the sensing data capable of triggering subsequent processing by the host is a sensing key value indicating that the media is changed. 如請求項1所述的記憶卡存取裝置,其中,當所述處理單元判斷所述記憶卡的所述邏輯區塊長度為需要檢查的長度並且所述主機端運行的一作業系統或一檔案系統不支援所述記憶卡的所述邏輯區塊長度時,為回應所述主機端發出的所述請求感測命令,通過所述主機端介面回覆不能夠觸發所述主機端後續寫入的所述感測資料給所述主機端。The memory card access device according to claim 1, wherein when the processing unit determines that the length of the logical block of the memory card is a length that needs to be checked and an operating system or a file running on the host side When the system does not support the length of the logical block of the memory card, in response to the request sensing command issued by the host, replying through the host interface cannot trigger subsequent writing by the host. The sensing data is given to the host. 如請求項6所述的記憶卡存取裝置,其中,不能夠觸發所述主機端後續寫入的所述感測資料為指出媒體不存在或媒體受寫入防護的感測鍵值。The memory card access device according to claim 6, wherein the sensing data that cannot trigger subsequent writing by the host is a sensing key value indicating that the media does not exist or the media is protected from writing. 如請求項1所述的記憶卡存取裝置,其中,所述處理單元通過偵測所述請求感測命令的一配置長度欄位中的值來判斷所述主機端是否支援所述記憶卡的所述邏輯區塊長度。The memory card access device according to claim 1, wherein the processing unit determines whether the host supports the memory card by detecting a value in a configuration length field of the request sensing command The length of the logical block. 一種電腦程式產品,用以由一讀卡機的一處理單元載入並執行,包含以下的程式碼: 偵測插入於所述讀卡機的一記憶卡的一邏輯區塊長度是否能被一主機端支援;以及 當偵測到插入的所述記憶卡的所述邏輯區塊長度無法被所述主機端支援時,為回應所述主機端發出的一請求感測命令,回覆不能觸發後續寫入的一感測資料給所述主機端。A computer program product for loading and execution by a processing unit of a card reader, including the following program code: detecting whether a logical block length of a memory card inserted in the card reader can be Host support; and when it is detected that the length of the logical block of the inserted memory card cannot be supported by the host, in response to a request sensing command issued by the host, the reply cannot trigger subsequent writes The inputted sensing data is given to the host. 如請求項9所述的電腦程式產品,更包含以下的程式碼: 詢問所述記憶卡,用於取得所述記憶卡的所述邏輯區塊長度。The computer program product according to claim 9 further includes the following program code: query the memory card to obtain the length of the logical block of the memory card. 如請求項9所述的電腦程式產品,更包含以下的程式碼: 當判斷所述記憶卡的所述邏輯區塊長度為需要檢查的長度並且所述主機端運行的一作業系統或一檔案系統不支援所述記憶卡的所述邏輯區塊長度時,為回應所述主機端發出的所述請求感測命令,回覆不能夠觸發所述主機端後續寫入的一感測資料給所述主機端。The computer program product according to claim 9, further comprising the following program code: When it is determined that the length of the logical block of the memory card is the length that needs to be checked and an operating system or a file system running on the host side When the length of the logical block of the memory card is not supported, in response to the request sensing command issued by the host, a reply that cannot trigger a subsequent write of sensing data by the host to the host end. 如請求項11所述的電腦程式產品,其中,不能夠觸發所述主機端後續寫入的所述感測資料為指出媒體不存在或媒體受寫入防護的感測鍵值。The computer program product according to claim 11, wherein the sensing data that cannot trigger subsequent writing by the host is a sensing key value indicating that the media does not exist or the media is protected from writing. 如請求項9所述的電腦程式產品,更包含以下的程式碼: 通過偵測所述請求感測命令的一配置長度欄位中的值來判斷所述主機端是否支援所述記憶卡的所述邏輯區塊長度。The computer program product described in claim 9 further includes the following program code: Determine whether the host supports the memory card by detecting the value in a configuration length field of the request sensing command Describe the logical block length.
TW107139391A 2018-09-28 2018-11-06 Apparatus and method and computer program product for accessing a memory card TWI681296B (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201862738405P 2018-09-28 2018-09-28
US62/738,405 2018-09-28

Publications (2)

Publication Number Publication Date
TWI681296B true TWI681296B (en) 2020-01-01
TW202013200A TW202013200A (en) 2020-04-01

Family

ID=69942674

Family Applications (1)

Application Number Title Priority Date Filing Date
TW107139391A TWI681296B (en) 2018-09-28 2018-11-06 Apparatus and method and computer program product for accessing a memory card

Country Status (2)

Country Link
CN (1) CN110968441B (en)
TW (1) TWI681296B (en)

Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW200905569A (en) * 2007-07-20 2009-02-01 Ene Technology Inc USB card reader control device and manufacturing method for the same
TW200933490A (en) * 2008-01-28 2009-08-01 Afa Technologies Inc USB card reader and method of automatically executing program with the USB card reader
TW201035769A (en) * 2009-03-20 2010-10-01 Aten Int Co Ltd Apparatus and method for integrating memories
TW201040979A (en) * 2009-05-04 2010-11-16 Etrend Electronics Inc Firmware program operating method of small input and output (I/O) device memory card
TW201104470A (en) * 2009-07-29 2011-02-01 Tomtom Int Bv Data storage system and method
TW201142589A (en) * 2010-05-24 2011-12-01 Silicon Motion Inc Apparatuses for managing and accessing flash memory module
TW201145178A (en) * 2010-06-09 2011-12-16 Cepa Electronics Group Inc Card reader allowing memory combination and method thereof
CN102789430A (en) * 2011-05-18 2012-11-21 群联电子股份有限公司 Memory storage device, memory controller and access method of storage device
TW201317994A (en) * 2011-10-25 2013-05-01 Silicon Motion Inc Burn-in method for embedded Multi Media Card, and test board using the same, and embedded Multi Media Card tested by the same
TWM489308U (en) * 2014-05-29 2014-11-01 Eclat Forever Machinery Co Ltd Exposure machine
TW201530315A (en) * 2014-01-29 2015-08-01 Transcend Information Inc Initialization method and initialization system for storage device
TW201543347A (en) * 2014-02-14 2015-11-16 Micron Technology Inc Command queuing
TW201604690A (en) * 2014-07-21 2016-02-01 群聯電子股份有限公司 Memory storage device and control method thereof and memory control circuit unit and module

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100357875C (en) * 2006-01-25 2007-12-26 骆建军 SD memory card capable of automatically adjusting capacity
CN103092799B (en) * 2012-12-28 2015-07-22 飞天诚信科技股份有限公司 Universal serial bus (USB) device and method for recognition of host operating system
US9804783B1 (en) * 2014-10-17 2017-10-31 Sk Hynix Memory Solutions Inc. Hierarchical host controller for SSD device

Patent Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW200905569A (en) * 2007-07-20 2009-02-01 Ene Technology Inc USB card reader control device and manufacturing method for the same
TW200933490A (en) * 2008-01-28 2009-08-01 Afa Technologies Inc USB card reader and method of automatically executing program with the USB card reader
TW201035769A (en) * 2009-03-20 2010-10-01 Aten Int Co Ltd Apparatus and method for integrating memories
TW201040979A (en) * 2009-05-04 2010-11-16 Etrend Electronics Inc Firmware program operating method of small input and output (I/O) device memory card
TW201104470A (en) * 2009-07-29 2011-02-01 Tomtom Int Bv Data storage system and method
TW201142589A (en) * 2010-05-24 2011-12-01 Silicon Motion Inc Apparatuses for managing and accessing flash memory module
TW201145178A (en) * 2010-06-09 2011-12-16 Cepa Electronics Group Inc Card reader allowing memory combination and method thereof
CN102789430A (en) * 2011-05-18 2012-11-21 群联电子股份有限公司 Memory storage device, memory controller and access method of storage device
TW201317994A (en) * 2011-10-25 2013-05-01 Silicon Motion Inc Burn-in method for embedded Multi Media Card, and test board using the same, and embedded Multi Media Card tested by the same
TW201530315A (en) * 2014-01-29 2015-08-01 Transcend Information Inc Initialization method and initialization system for storage device
TW201543347A (en) * 2014-02-14 2015-11-16 Micron Technology Inc Command queuing
TWM489308U (en) * 2014-05-29 2014-11-01 Eclat Forever Machinery Co Ltd Exposure machine
TW201604690A (en) * 2014-07-21 2016-02-01 群聯電子股份有限公司 Memory storage device and control method thereof and memory control circuit unit and module

Also Published As

Publication number Publication date
CN110968441A (en) 2020-04-07
CN110968441B (en) 2023-06-06
TW202013200A (en) 2020-04-01

Similar Documents

Publication Publication Date Title
US11216206B2 (en) Method of operating data storage device
TWI613675B (en) Data storage device having reduced read latency and method of operating same
KR102147970B1 (en) Method of reparing non-volatile memory based storage device and operation method of electronic system including the storage device
US9678760B2 (en) Memory card and storage system having authentication program and method for operating thereof
KR102229024B1 (en) Data storage device for self-detecting error and logging operation, and system having the same
WO2017092002A1 (en) Data migration method applicable to computer system, and device and computer system utilizing same
US9529805B2 (en) Systems and methods for providing dynamic file system awareness on storage devices
US11556466B2 (en) Logical-to-physical data structures
TWI489272B (en) Data protecting method, and memory controller and memory storage device using the same
TW202101227A (en) Apparatus and method and computer program product for handling flash physical-resource sets
US20220100425A1 (en) Storage device, operating method of storage device, and operating method of computing device including storage device
US10642531B2 (en) Atomic write method for multi-transaction
CN111324414A (en) NVM storage medium simulator
TWI681296B (en) Apparatus and method and computer program product for accessing a memory card
KR102554418B1 (en) Memory controller and storage device including the same
KR102424293B1 (en) Storage system and method for performing secure write protect thereof
KR102555800B1 (en) Storage system and operating method thereof
US10489335B1 (en) Apparatus and method and computer program product for accessing a memory card
US10019574B2 (en) Systems and methods for providing dynamic file system awareness on storage devices
KR20210001206A (en) Controller, memory system and operating method thereof
US11288204B2 (en) Logical and physical address field size reduction by alignment-constrained writing technique
US20230043925A1 (en) Storage device and operating method thereof
EP2924576A1 (en) Storage control apparatus, control program, and control method
CN112162709A (en) Method and device for inquiring data correctness, computer equipment and storage medium
CN116069587A (en) SSD alarm method and device