TWI343529B - Method and apparatus for performing full transfer automation in a usb controller - Google Patents

Method and apparatus for performing full transfer automation in a usb controller Download PDF

Info

Publication number
TWI343529B
TWI343529B TW96151485A TW96151485A TWI343529B TW I343529 B TWI343529 B TW I343529B TW 96151485 A TW96151485 A TW 96151485A TW 96151485 A TW96151485 A TW 96151485A TW I343529 B TWI343529 B TW I343529B
Authority
TW
Taiwan
Prior art keywords
buffer
usb
logic signal
data
hardware logic
Prior art date
Application number
TW96151485A
Other languages
Chinese (zh)
Other versions
TW200842601A (en
Inventor
Baojing Liu
Radhakrishnan Nair
Paul Lassa
Original Assignee
Sandisk Corp
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
Priority claimed from US11/618,865 external-priority patent/US7802034B2/en
Priority claimed from US11/618,867 external-priority patent/US20080162737A1/en
Application filed by Sandisk Corp filed Critical Sandisk Corp
Publication of TW200842601A publication Critical patent/TW200842601A/en
Application granted granted Critical
Publication of TWI343529B publication Critical patent/TWI343529B/en

Links

Classifications

    • 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/38Information transfer, e.g. on bus
    • G06F13/382Information transfer, e.g. on bus using universal interface adapter
    • G06F13/385Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices
    • 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/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • G06F3/0613Improving I/O performance in relation to throughput
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0656Data buffering arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0658Controller construction arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Information Transfer Systems (AREA)

Description

1343529 九、發明說明: * 【發明所屬之技術領域】 . 本申請案係關於通用串列匯流排(USB)資料傳送架構及 方法。更具體言之,本申請案係關於用於增加刪周邊設 _ 備中之資料輸送量的USB資料傳送架構及方法。 【先前技術】 諸如含有非揮發性記憶體之資料儲存設備的usb周邊設 備通常在家庭及商務計算環境中被用於緊密及攜帶型封裝 • 巾的可靠資料儲存。此類型之⑽周邊設備可包括利用協 定處理f式與USB實體層(PHY)設備建立介面之⑽控制 器及與快閃記憶體通信之後端電路。當經由USB設備之 USB連接器連接之主機希望向該USB設備寫入或自其讀取 '‘ 資料時,藉由適當USB協定且以根據一約定標準之適當格 式來呈現命令及資料。該等USB標準以理論上最大資料傳 送速率而設計。雖然USB標準理論上將支援此等最大資料 速率,但歸因於儲存媒體及相關聯電路的限制,usb資料 ^ 儲存設備之效能實際上可能不能達成最大資料速率。 USB資料儲存設備中之USB控制器管理資料傳送至及傳 , 送自該USB資料儲存設備。通常,以已知長度之批量來傳 ^ 送資料並在主機與U S B設備之間交換交握訊息以管理資料 傳送期間的時序及錯誤檢查。一處理USB周邊設備令之資 料交換的方法為USB控制器回應於隨著每一批量之資料移 動至或移動自緩衝器所產生之處理器中斷而執行一内部微 處理器上的多個韌體指令。然而,涉及韌體可顯著影響資 127934.doc 1343529 料傳送效能。每一中斷將延遲内部微處理器可能參與之其 他動作,或將微處理器自任何臨時睡眠或閒置模式唤醒, 且很可能需要時間來識別、解譯及作用於關於該中斷之勒 體指令。因此’ USB控制器中之微處理器動作可減慢可達 成之資料傳送速率且增加USB設備中的功率消耗。 【發明内容】1343529 IX. Description of the invention: * [Technical field to which the invention pertains] This application relates to a general serial bus (USB) data transfer architecture and method. More specifically, the present application relates to a USB data transfer architecture and method for increasing the amount of data transferred in a peripheral device. [Prior Art] USB peripheral devices such as data storage devices containing non-volatile memory are commonly used in home and business computing environments for reliable data storage of compact and portable packages. The (10) peripheral device of this type may include a (10) controller that establishes an interface with a USB physical layer (PHY) device using a protocol f and a back-end circuit that communicates with the flash memory. When a host connected via a USB connector of a USB device wishes to write to or read from the USB device, the command and data are presented by an appropriate USB protocol and in an appropriate format according to an agreed standard. These USB standards are designed with a theoretical maximum data transfer rate. Although the USB standard will theoretically support these maximum data rates, due to limitations of the storage media and associated circuitry, the performance of the usb data storage device may not actually achieve the maximum data rate. The USB controller management data in the USB data storage device is transmitted to and from the USB data storage device. Typically, data is sent in batches of known length and exchanged messages are exchanged between the host and the U S B device to manage timing and error checking during data transfer. A method of processing USB peripheral devices for data exchange is to execute a plurality of firmware on an internal microprocessor in response to a processor interrupt generated by moving or moving the data from the buffer with each batch of data. instruction. However, the involvement of the firmware can significantly affect the throughput of the 127934.doc 1343529 material. Each interrupt will delay other actions that the internal microprocessor may participate in, or wake the microprocessor from any temporary sleep or idle mode, and will likely take time to identify, interpret, and act on the instruction for the interrupt. Therefore, the microprocessor operation in the USB controller can slow down the data transfer rate and increase the power consumption in the USB device. [Summary of the Invention]

為解決對經改良之USB控制器架構及傳送資料之方法的 需要,提出可在某些資料傳送功能期間減少或避免使用韌 體及微處理器額外耗用的具有完全傳送自動化之刪控制 器。To address the need for an improved USB controller architecture and method of transferring data, it is proposed to have a full transfer automation decommissioner that can reduce or avoid the use of firmware and microprocessors during certain data transfer functions.

根據-第-態樣,揭示—種在_通用串列匯流排⑽B) 控制器中實施完全傳送自動化之方法。該方法包括在該 USB控制器處自—主機接收—咖大量資料傳送起始訊息 及在-USB大量資料傳送操作期間傳送資料封包。在該大 量資料傳送操作之一資料傳送階段期間,在該刪控制器 =一主機介面模組與—後端模組之間交換關於該刪控制 器内之一資料傳送狀態的硬體產生邏輯信號。在—實施 中,父換硬體產生邏輯信號可包括在該刪大量資料傳送 操作期間在該USB控制器之一後端模組中產生指示一緩衝 記憶體準備就緒將資料傳送人或傳送出大㈣存媒體之至 少―後端硬體邏輯信號。另夕卜,交換硬體產生邏輯信號可 i括在„亥USB控制器之一主機介面模組中產生至少一主機 介面模組硬體邏輯信號,使得在一刪大量資料傳送讀取 或寫入操作期間’該後端模組及主機介面模組可經組態以 127934.doc 1343529 ,彼此進行關於該USB控制器内之資㈣送狀態的㈣。 在另-態樣巾,-種在_通料龍流排_)控制器 中實施:全傳送自動化之方法包括在該刪控制器處接收 USB大里傳送寫入操作之_Usb大量資料傳送起始訊息, 及在該刪控制器内初始化—完全傳送自動化模式。在該 刪大量傳送寫入操作期間,於該⑽控制器處,自主機 接收資料封包,並在接收該等資料封包的同時,於該刪 =二之一主機介面模組與一後端模組之間,交換關於該 控制器内之-資料傳送狀態的硬體產生邏輯信號。 在又#代實施中,揭示—種在一通 卿)控制器Μ施完全傳送自動化之方法,盆中在t =!器處’自-主機接收,b大量傳送讀取操作: ㈣傳送起始訊息’且該咖控制器在該咖控 制㈣起始一完全傳送自動化模式。在該大量傳送讀取操 :乍期間’該完全傳送自動化模式可包括自該咖控制器向 Μ主機傳輸資料封包,及在傳輸該等資料封包的同時, 於該USB控制益之—主機介面模组與一後端模組之間,交 =關於該⑽控制器内之資料傳送狀態的硬體產生邏輯信 根據另—態樣’揭示—種用於—聰周邊設備中之通用 •列匯流排(USB)控制器。該刪控制器可包括一具 衝§己憶體之後端模組,該緩衝記憶體經組態以將資料傳送 二或傳送出諸如非揮發性記憶體之大量儲存媒體。另外, 機’|面模組與該後端模組通信H组態以與—主機 127934.doc 1343529 通信。後端模組及主機介面模組亦經組態以在―湖大量 資料傳送讀取或寫人操作期間,經由硬體邏輯信號而彼此 進行關於該腦控制器内之_f料傳送狀態的通信。 在另一 ‘4樣中,描述一種通用串列匯流排(USB)周邊設 備。該USB周邊設備可包括諸如非揮發性記憶體之大量儲 存媒體,該大量儲存媒體經調適用於自一主機及— USB控 制器接收資料或向該主機及該uSB控制器提供資料。該According to the -th aspect, a method of implementing full transfer automation in the _universal serial bus (10) B) controller is disclosed. The method includes receiving, at the USB controller, a data transfer start message from the host and transmitting the data packet during the -USB mass data transfer operation. During a data transfer phase of the mass data transfer operation, a hardware generated logic signal is exchanged between the delete controller=a host interface module and the backend module for a data transfer state in the delete controller. . In the implementation, the parent switching hardware generates a logic signal, which may include generating a buffer in a backend module of the USB controller during the mass data transfer operation to indicate that the buffer memory is ready to transmit or transmit the data. (4) At least the back-end hardware logic signal of the storage medium. In addition, the switching hardware generates a logic signal to generate at least one host interface module hardware logic signal in one of the host interface modules of the USB controller, so that a large amount of data is transferred to read or write. During operation, the back-end module and host interface module can be configured with 127934.doc 1343529, and each other can carry out (4) the status of the USB controller (4). In the other-style sample towel, In the controller, the method of full transfer automation includes receiving the _Usb mass data transfer start message of the USB large transfer write operation at the delete controller, and initializing in the delete controller. Fully transmitting the automatic mode. During the deletion of the mass transfer write operation, at the (10) controller, the data packet is received from the host, and at the same time as receiving the data packet, the host interface module is deleted Between a back-end module, a hardware-generated logic signal is exchanged for the data transfer state in the controller. In the implementation of the generation, the method of fully transmitting the automation is disclosed in a controller. Pots In the t =! device 'self-host receiving, b mass transfer read operation: (four) transfer start message 'and the coffee controller in the coffee control (four) start a full transfer automation mode. In the mass transfer read During the operation period, the full transmission automation mode may include transmitting data packets from the coffee controller to the host, and transmitting the data packets while the USB control benefits the host interface module and a back module. Between the groups, the hardware generated logical information about the data transfer status in the (10) controller is disclosed in the other way as a general-purpose column bus (USB) controller for use in the Cong peripheral device. The delete controller may include a rear end module that is configured to transfer data or transfer a large amount of storage medium such as non-volatile memory. The module communicates with the backend module to configure H to communicate with the host 127934.doc 1343529. The backend module and the host interface module are also configured to be used during the "hulk data transfer read or write operation". Via hardware logic signals This performs communication regarding the state of delivery of the message within the brain controller. In another example, a universal serial bus (USB) peripheral device is described. The USB peripheral device may include, for example, non-volatile memory. A large amount of storage medium adapted to receive data from a host and a USB controller or to provide data to the host and the uSB controller.

USB控制器可包括一具有緩衝記憶體之後端模組,該緩衝 記憶體經組態以將資料傳送人或傳送出該大量儲存媒體。 另外’該控制器可包括—與該後端模組通信且經組態以與 «玄主機通#之主機介面模組,其中在一 usb大量資料傳送 讀取或寫人操作期間,後端模組及主機介面模組經組態以 經由硬體邏輯信號而彼此進行關於該USB控制器内之一資 料傳送狀態的通信。The USB controller can include a buffer memory back module that is configured to transfer data to or from the mass storage medium. In addition, the controller may include a host interface module that communicates with the backend module and is configured to communicate with the host device, wherein during a large amount of data transfer read or write operations, the back end mode The group and host interface modules are configured to communicate with each other about a data transfer state within the USB controller via hardware logic signals.

在審閱以下圖式、實施方式及中請專利職後,本發明 之其他特徵及優點即變得顯而易見。 【實施方式】 圖1說明經由USB通信線14與主機12連接之通用串列匯 流排(USB)周邊設備10的方塊圖。主機丨2可為個人電腦之 USB埠或例如MP3播放器、行動電話等具有USB能力之任 何電子組件^ USB通信線14可為USB周邊設備1〇經由—標 準USB連接器至主機12的直接USB連接,或可包括諸如集 線窃之介入USB功能。如圖i中所示,USB周邊設備1〇可為 經組態用於大量資料儲存之快閃記憶體拇指驅動器(thumb 127934.doc •9· 1343529 drive)。USB周邊設備包括由主機介面模組(HIM)】8、緩 衝器管理單元(BMU) 20、快閃記憶體介面模組(FIM) 22及 中央處理單元(CPU) 24組成之USB控制器16。usb控制器 16與USB周邊設備10外部的USB通信線14通信且亦與含於 USB周邊設備1〇内之快閃記憶體%通信。雖然usb控制器 16之一或多個組件可被組態為分立組件,但在一實施例 中’ HIM 18、BMU 20、FIM 22及CPU 24全部被形成於單 一特殊用途積體電路(ASIC)上。又,雖然說明了快閃記憶 體,但涵蓋其他非揮發性記憶體或大量儲存媒體。 現參看圖2,更詳細地展示HIM 。HIM 18包括實體層 介面28,諸如用於在一側與USB串列匯流排資料線接合且 在另一側與一UTMI介面接合的USB 2〇實體介面。實體層 介面28自串列流提取時脈資訊及資料、檢查所接收資料令 之錯誤、執行NRZI解碼、位元抽取、串列至並列轉換, 且接著將此資料發送至USB設備核心3〇 實體層介面28亦 執行相反功能,進而將以UTMIi列資料格式自USB設備 核心30接收之資料轉譯成USB串列資料格式。在一實施 中,UTMI傳輸可為並列30 MHz 16位元匯流排。在其他實 施中’可以用於USB應用之多個數位介面標準中之任—者 來替代UTMI ’諸如UTMI+或ULPI 〇可以多個USB 2 〇 PHY IP核心配置中的任一者來實施實體層介面28,諸如彼 等可構得於葡萄牙里斯本(Lisb〇n)之Chipidea MicroelectMnica S.A.的配置。又,實體層介面28可支援符 合USB 2.0規格之高速(480 Mbps)、全速(12 Mbps)及低速 127934.doc -10· 1343529 (1·5 Mbps)資料傳送速率β USB設備核心30包括媒體存取控制(MAC)控制器32及直 接s己憶體存取(DMA)區塊3 6。每一者經由微處理器介面4〇 而與CPU 24通信以允許CPU 24讀取及寫入至USB設備核心 30暫存器、以設置並觸發USB異動且回應USB設備核心30 所報告之異動事件及狀態改變。MAC控制器32經由UTMI 資料路徑而與實體層介面28通信、解析自主機接收之所有 USB符記並產生回應封包。另外,MAC控制器32亦負責所 有錯誤檢查、檢查填充產生、USB交握格式、ping命令及 資料回應封包,及必須基於USB時序要求而產生之任何信 號。 DMA區塊36與MAC控制器32通信,且負責在USB設備核 心與BMU 20中之緩衝RAM (BRAM)之間移動所有待傳送 至或傳送自USB周邊設備1〇中之快閃記憶體26的資料。在 一實施中,當管理諸如USB大量資料輸入或輸出傳送(亦分 別稱為大量資料讀取或寫入傳送)之資料傳送時,DMA區 塊36經由USB完全傳送自動化(FTA)介面與USB周邊設備 10中之BMU 20通信,以交換硬體邏輯產生交握信號。諸 如BVCI介面之資料匯流排連接將DMA區塊36與CPU 24連 接。另外,DMA區塊36維持内容資訊,並在MAC控制器 32與DMA區塊36之間建置可組態FIFO緩衝器42、44。此 等FIFO解耦來自USB協定本身所要求之緊密時序的系統處 理器記憶體匯流排請求,並衡消影響DMA區塊36與MAC 控制器32之間之資料傳送之時序之内部時脈頻率的差異。 127934.doc 11 1343529 可為系統中之活動端點之每一者維持多個FIFO通道。基於 所支援之設備端點之數目,及獲取匯流排並擷取一資料區 塊的最壞情況潛時,確定TX及RX FIFO緩衝器之大小。 在一實施中,USB核心30可為來自Portugal之Lisbon之 Chipidea Microelectronica S.A,的 IP核心。亦可使用來自其 他USB IP核心提供者之多個其他1{>核心中的任一者。HIM 18亦包括FTA暫存器46及FTA邏輯模組48。FTA暫存器46 經組態以接收用於啟用完全傳送自動化模式之設立資訊, 其中如下文更詩細描述,USB控制器16可利用硬體產生邏 輯信號而非經由中斷之CPU動作及韌體指令來管理資料區 塊移動至及移動自BRAM。隨著硬體產生邏輯信號遞增一 預期之大量資料傳送中已完成之資料區塊傳送的數目, FTA暫存器亦維持諸如當前傳送狀態之資訊。fta模組48 含有USB控制器16在FTA模式中操作時用於產生内部交握 信號之硬體邏輯。輔助介面5〇可含有具有供處理器以處理 諸如CPU睡眠或喚醒常式之各種任務之韌體的輔助暫存 器。 圖3說明USB控制器16之其餘部分,並展示USB周邊設備 10之快閃記憶體26(本文中將其組合稱為USB周邊設備1〇之 後端52)〇緩衝器管理單元(BMU) 2〇可包括與bram %通 信之自動緩衝管理器(ABM) 54。可以多種方式來分割 BRAM 56,(例如)以提供用於傳輸或接收待寫人或讀取自 快閃記憶體26之大量資料傳送之f料封包(諸如刪高速應 用中之512位元區塊)的第一緩衝器58及第二緩衝器。 127934.doc 12· 1343529 BMU 2〇與在BMU 2G與快閃記憶體%之間協調的快閃介面 模組(FIM) 22通信。 為在邊設備1G中實施完全傳送自動化,並相應地 輔助增加資料速度及降低功率消耗,職周邊設_包括 對標準USB控制架構的若干修改,以使用硬體邏輯在 USB控制器16中提供額外内部交握。可在該控制器之硬體 邏輯中實施詩細Μ 18與㈣52之_信之此等額外内Other features and advantages of the present invention will become apparent upon review of the appended claims. [Embodiment] FIG. 1 is a block diagram showing a universal serial bus (USB) peripheral device 10 connected to a host 12 via a USB communication line 14. The host computer 2 can be a USB port of a personal computer or any electronic component having USB capability such as an MP3 player, a mobile phone, etc. The USB communication line 14 can be a USB peripheral device 1 via a standard USB connector to the direct USB of the host 12 Connected, or may include an interventional USB function such as wire thief. As shown in Figure i, the USB peripheral device 1 can be a flash memory thumb drive (thumb 127934.doc • 9. 1343529 drive) configured for mass data storage. The USB peripheral device includes a USB controller 16 composed of a Host Interface Module (HIM) 8, a Buffer Management Unit (BMU) 20, a Flash Memory Interface Module (FIM) 22, and a Central Processing Unit (CPU) 24. The usb controller 16 communicates with the USB communication line 14 external to the USB peripheral device 10 and also with the flash memory % contained in the USB peripheral device 1A. Although one or more components of the usb controller 16 can be configured as discrete components, in one embodiment the 'HIM 18, BMU 20, FIM 22, and CPU 24 are all formed in a single special purpose integrated circuit (ASIC). on. Also, although flash memory is described, other non-volatile memories or mass storage media are contemplated. Referring now to Figure 2, the HIM is shown in more detail. The HIM 18 includes a physical layer interface 28, such as a USB 2® physical interface for bonding with a USB serial bus data line on one side and a UTMI interface on the other side. The physical layer interface 28 extracts clock information and data from the serial stream, checks received data for errors, performs NRZI decoding, bit extraction, serial to parallel conversion, and then sends the data to the USB device core. The layer interface 28 also performs the inverse function to translate the data received from the USB device core 30 in the UTMi column data format into a USB serial data format. In one implementation, the UTMI transmission can be a side-by-side 30 MHz 16-bit bus. In other implementations - any of a number of digital interface standards that can be used for USB applications - instead of UTMI - such as UTMI+ or ULPI - can implement a physical layer interface in any of a number of USB 2 〇 PHY IP core configurations 28, such as the configuration of Chipidea Microelect Mnica SA which can be constructed in Lisb〇n, Portugal. In addition, the physical layer interface 28 can support high speed (480 Mbps), full speed (12 Mbps) and low speed 127934.doc -10·1343529 (1·5 Mbps) data transfer rate conforming to the USB 2.0 specification. The USB device core 30 includes media storage. A control (MAC) controller 32 and a direct memory access (DMA) block 36 are taken. Each communicates with the CPU 24 via a microprocessor interface to allow the CPU 24 to read and write to the USB device core 30 registers to set and trigger USB transactions and to respond to the transaction events reported by the USB device core 30. And the status changes. The MAC controller 32 communicates with the physical layer interface 28 via the UTMI data path, parses all USB tokens received from the host, and generates response packets. In addition, the MAC controller 32 is responsible for all error checking, checking pad generation, USB handshake format, ping commands, and data response packets, as well as any signals that must be generated based on USB timing requirements. The DMA block 36 is in communication with the MAC controller 32 and is responsible for moving all of the flash memory 26 to be transferred to or from the USB peripheral device 1 between the USB device core and the buffer RAM (BRAM) in the BMU 20. data. In one implementation, when managing data transfers such as USB mass data input or output transfer (also referred to as mass data read or write transfer, respectively), DMA block 36 completely transfers the automation (FTA) interface to the USB peripheral via USB. The BMU 20 in device 10 communicates to exchange hardware logic to generate a handshake signal. A data bus connection such as the BVCI interface connects the DMA block 36 to the CPU 24. In addition, DMA block 36 maintains the content information and builds configurable FIFO buffers 42, 44 between MAC controller 32 and DMA block 36. These FIFOs decouple the system processor memory bus request from the tight timing required by the USB protocol itself and offset the internal clock frequency that affects the timing of data transfer between the DMA block 36 and the MAC controller 32. difference. 127934.doc 11 1343529 Multiple FIFO channels can be maintained for each of the active endpoints in the system. The size of the TX and RX FIFO buffers is determined based on the number of supported device endpoints, and the worst case latency for obtaining the bus and extracting a data block. In one implementation, the USB core 30 can be an IP core from Chipidea Microelectronica S.A, of Lisbon, Portugal. Any of a number of other 1{> cores from other USB IP core providers may also be used. The HIM 18 also includes an FTA register 46 and an FTA logic module 48. The FTA register 46 is configured to receive setup information for enabling the full transfer automation mode, wherein as described in more detail below, the USB controller 16 can utilize hardware to generate logic signals rather than interrupted CPU actions and firmware. Instructions to manage the movement of data blocks to and from BRAM. The FTA register also maintains information such as the current transfer status as the hardware generates a logic signal that is incremented by the expected number of data blocks transferred in the bulk data transfer. The fta module 48 contains hardware logic for generating an internal handshake signal when the USB controller 16 is operating in the FTA mode. The Auxiliary Interface 5 can contain a secondary scratchpad with firmware for the processor to handle various tasks such as CPU sleep or wake-up routines. 3 illustrates the remainder of the USB controller 16 and shows the flash memory 26 of the USB peripheral device 10 (collectively referred to herein as the USB peripheral device 1〇end 52) buffer management unit (BMU) 2〇 An automatic buffer manager (ABM) 54 that communicates with the bram % can be included. The BRAM 56 can be partitioned in a variety of ways, for example, to provide a bulk packet for transmitting or receiving a large amount of data transfer to or from the flash memory 26 (such as deleting a 512-bit block in a high speed application). The first buffer 58 and the second buffer. 127934.doc 12· 1343529 BMU 2〇 communicates with Flash Interface Module (FIM) 22 coordinated between BMU 2G and Flash Memory%. In order to implement full transfer automation in the edge device 1G and correspondingly assist in increasing data speed and power consumption, the peripherals include several modifications to the standard USB control architecture to provide additional hardware in the USB controller 16 using hardware logic. Internal grip. It can be implemented in the hardware logic of the controller, and the additional details of the verses 18 and (4) 52

部交握訊息,以消除某些傳統動體實施步驟要求涉及CPU 24的需求。 USB^準支援四種傳送/端點類^ :控制傳送、中斷傳 送、等時傳送及大量傳送。如下文指tH,大量傳送涉及以 固定長度區塊處理之大資料叢發,且可最大受益於本文中 描述之完全傳送自動化。在—實施中,⑽控制器Μ僅在 大量資料傳送任務期間調用本文描述之完全傳送自動化,The Ministry of Communication holds the message to eliminate the need for certain traditional mobile implementation steps involving the CPU 24. USB^ supports four types of transmission/endpoints ^: control transfer, interrupt transfer, isochronous transfer, and mass transfer. As referred to below as tH, mass transfer involves large bursts of data processed in fixed length blocks and can benefit most from the full transfer automation described herein. In the implementation, (10) the controller 调用 invokes the full transfer automation described herein only during a large number of data transfer tasks.

且將夕個;^準中之任—者或已知的基於cpu之傳送機制用 於等時端點、控制端點或中斷端點。 關於USB標準下之大量資料傳送,提供如圖”所說明 的一個p& I又在第m主機丨2向周邊設備1 〇發送 CBW(命令區塊包)訊!,且該訊息被置人緩衝器管理單 元20之BRAM 46中(步驟62處)。CBW訊息為31個位元組且 ζ_>括關於USB周邊设備1〇將執行之傳送之類型的資訊。在 接收4 CB W 息後,USB周邊設備中之勃體(例如,在 息並將資料寫入HIM 18 器46。下文更詳細地論 24之主RAM (MRAM)中)讀取此訊 中的完全傳送自動化(FTA)暫存 127934.doc -13· 1343529 述’ FTA暫存器46包括諸如BRAM 56中之起始位址、緩衝 器大小及傳送方向之資訊。在該CBW階段之後,大量資料 傳送之資料階段發生且主機12視CBW訊息中所指示之傳送 方向而將資料封包發送至(大量輸出傳送或寫入操作)USB 周邊設備10或自其接收資料封包(大量輸入傳送或讀取操 作)(步驟64、66處)。USB大量資料傳送之最後階段為結束 主機I2與USB周邊設備1〇之間的交換之csw(命令狀態包) 訊息(步驟68處)。 參看圖5,在於第一階段中自主機12接收到CBW訊息 後,CPU執行韌體以向FTA暫存器46寫入實施FTA程序所 必需之資料。圖5中之暫存器表76包括表示循環緩衝器 (BRAM)之記憶體單元的記憶體單元位址78、循環緩衝器 基位址80、結束位址82且含有該等brAM基位址及結束位 址之字位址。當前位址84在FTA傳送進行時由硬體更新, 以指向傳送中當前涉及之記憶體位置。FTA暫存器表%亦 包括傳送大小86(依據預期之區塊(資料封包)的總數p當 前傳送大小88為在正進行之FTA傳送期間由硬體更新的攔 位,其追蹤資料封包已被傳送之數目。傳送描述符鏈接清 單基位址90含有資料傳送描述符(dTD)鏈接清單之字基位 址,傳輸(Tx) 92及接收(RX) 94自動化之傳送自動化控制 含有基於端點控制傳送自動化特徵的資訊,且端點傳送完 成暫存器96指示大量輸出傳送(資料自主機輸出)或大量資 料輸入傳送(資料輸入主機)在已傳送所有資料封包後之結 束狀態。端點MISC控制98包括用於迫使USB設備核心30在 127934.doc •14· 1343529 自主機之輸出傳送期間以確認(ACK)符記進行回應的指 令。停止傳送控制100暫存器包括一控制位元以停止完全 傳送自動化過程,且傳送自動化狀態102含有隨著每一資 料傳送描述符及資料查詢標頭設立完成之硬體更新的狀 態。Tx FIFO低標組態暫存器1〇4界定用於為讀取(1川傳送 起始對TX FIFO暫存器之預擷取的臨限值。 當啟用USB控制器16之FTA模式並以圖5之資料表%中所 示的資料裝填FTA暫存器46時,USB控制器16亦準備端點 資料傳送描述符(dTD)及端點資料佇列頭(dQH)資料結構。 在初始資料結構設立中’如圖6中所示,USB控制器16亦 產生FTA啟用資料,該FTA啟用資料包括:一啟用位元 7〇,其作為將為特定資料傳送資料交換啟用完全傳送自動 化之USB設備核心3〇的旗標;以及xfer一方向位元72,其指 示傳送之方向。異動之封包長度1〇6及總預期位元組ι〇8亦 可連同指向每一預期資料封包所需之BRAM緩衝器位址的 DMA指標1〇9—起被記錄於該資料結構中。此等資料結構 可由HIM 18之FTA模組48中之硬體邏輯來產生,或以cpu 24所執行之韌體來實施。視預期之資料量而定,可能需要 產生一個以上資料結構,以識別處理大量資料傳送中之所 有組成資料區塊所需要之位址集合中的每一者之指標 109。dTD及dQH資料結構資訊被寫入至以適當偏移設定以 適應dTD及卿之大小的FTA暫存^料指補鍵接清 單基位址90所指向的位置。dTD及dQH資料結構向him 18 中之DMA區塊36通知總傳送大小、DMA來源/目的位址及 127934.doc •15· 1343529 其他傳送資訊。 一旦CBW訊息已被處理,其中已設立dTD及dQH資料並 產生FTA暫存器中之初始資訊,USB控制器16便準備處理 FTA模式下之資料傳送並消除或減少大量資料傳送中之韋刃 體涉及。如圖7中所示’說明利用USB控制器162fTA模式 的一可能尚速設備大量輸出異動。此實例說明以BRam中 存在兩個緩衝器可用於支援資料傳送開始之情況。當主機 12傳輸後面緊跟一資料區塊(亦稱為資料封包)之資料傳送 112之輸出符記11〇時,大量輸出資料傳送階段開始。假定 USB周邊設備10操作於高速模式下,資料封包大小可為 512個位元組。USB周邊設備⑺在出^^ 18處接收資訊並將 ί料傳遞至BMU 20以供儲存於組態於BRAM 56中之緩衝 器58、60中的一者中。BMU 2〇中之ABM M提供指示該等 緩衝器已準備好接收資訊的硬體邏輯產生信號buf_rdyi II4及buf—rdy2 II6。對於大量輸出資料傳送,ABM “基 於计數BRAM中之空閒緩衝器之數目的緩衝器計數器來產 生buf_rdyl及buf_rdy2仏號》可使用多個類型之數位計數 器電路中之任一者來形成產生buf_rdyl&buf—『办2之數位 邏輯H的緩衝器計數II。buf—rdyl信號指示BRAM中至 少一緩衝态之可用性,且buf—rdy2指示BRAM中兩個或兩 個以上緩衝器之可用性。在此實施例中,術語“緩衝器” 指代BRAM中鄰接512位元組位置。 在第一資料封包至緩衝器之傳送完成後,由於buf_rdy2 及bUf」dyl在該傳送開始時皆為,,Π(高),因此_ 18即 I27934.doc 16 1343529 觸發MAC控制器32以向主機1 2發送一確認(ack) 11 6訊 息。同時’ HIM 1 8中之FTA模組48經由硬體產生一 ”早期 釋放”信號脈衝’該信號脈衝被傳達回至BMU 20以向BMU 20通知該資料封包之傳送已完成。回應於此釋放信號, BMU 20確定buf_rdy2為兩個或兩個以上緩衝器不可用之事 實的較低表示。又’ BMU可接著指導FIM 22開始將此資料 寫入快閃記憶體26。 在USB周邊設備1〇處接收來自主機之下一輸出符記,且 伴隨之資料封包傳送將資料置於BRAM 56中兩個專用緩衝 器中的第二緩衝器中。HIM 18於該傳送開始時解譯其狀態 表中的buf_rdyl與buf一rdy2之組合,並向主機12發送出 NYET 父握 §代息 120 (buf_rdy2 = 0,buf rdyl = l)。同時, HIM 18向後端中之BMU 20發送另一早期釋放信號122(或 等同的最終釋放信號),以使得BMU 20知道該傳送已完 成。在通知此釋放後,後端52經由BMU 20除了發送已為 低之buf一rdy2信號外,還發送一 buf_rdyl低信號來向HIM 18指示目前無緩衝器58、60可用。NYET訊息120向主機12 傳達前一資料傳送被接收,但主機12在未首先檢查狀態的 情況下可能不發送更多資訊。在圖7之情形中,主機12向 USB周邊設備1 〇發送piNG符記124。注意,buf_rdy2及 buf_rdyl信號皆處於邏輯低,表示當前無緩衝器可用, HIM 18以NAK回應126進行回應。當該等緩衝器中之一者 變得可用時(由ABM 54硬體邏輯所產生之buf_rdyl之邏輯 高設定來表示),USB周邊設備自主機接收後續PING,且 127934.doc 17 1343529 HIM以ACK回應128進行回應,藉以通知主機準備就緒接 收後續資料。 在圖7之實例中,對於大量輸出資料傳送,緩衝器準備 就緒信號(buf_rdy2及buf_rdyl)為BMU 20中之自動緩衝管 理器4 4所產生之硬體彳§號。硬體實施信號可基於回應於佔 用第一緩衝器48及第二緩衝器50之資料的基本數位邏輯, 其中buf_rdy2可係自BMU 20中維持存在於BRAM 56中之有 效緩衝器之計數的計數器得出。若來自該計數器之計數值 超過一臨限值,則ABM將確定一buf_rdy2高信號。該臨限 值為可組態的且可藉由韌體來設定。在USB資料傳送中, 臨限值被設定為2。當BMU中之計數器之計數值大於或等 於1時,ABM 54中之額外硬體實施邏輯產生一 buf—rdyl高 信號。因此,當兩個緩衝器皆準備就緒時,Abm所產生並 發送至HIM的buf_rdy 1及buf_rdy2交握信號皆為高,當兩 個緩衝器皆未準備就緒時,兩個交握信號皆為低,且當僅 一個緩衝器可用時’ buf_rdy 1為高且buf_rdy2為低。在一 實施中’使用計數器產生buf_rdyl及buf_rdy2信號以識別 BRAM 56中空閒緩衝器之數目。 HIM 18利用buf_rdyl及buf一rdy2之緩衝器可用性信號來 產生對自主機12接收之〇u丁及PING符記的回應。圖8中展 示USB控制器1 6回應於buf_rdyl及buf_rdy2信號的三個有 效組合而為OUT符記及為ping符記所產生之USB交握封包 的狀態表130。當兩個緩衝器皆準備好(兩個可用性信號皆 處於邏輯高或丨)時,HIM 18答覆OUT或PING符記而產生一 127934.doc 1343529 ACK回應封包。當兩個緩衝器皆不可用(兩個可用性信號 皆處於邏輯低或0)時,HIM 18答覆0UT4PING符記而產生 一 NAK回應封包。當僅1個緩衝器準備好時,所產生之回 應封包對於OUT符記及PING符記係不同的··為piNG產生 ACK且為OUT產生NYET。 在相反方向上,亦產生自HIM 18至後端52中之BMU 2〇 的交握信號,早期釋放信號及最終釋放信號為可實施為 HIM 18之FTA模組38中之數位邏輯的硬體產生邏輯信號。 視USB控制器16正在處理大量輸出資料傳送(圖7中所見之 傳送的實例)還是大量輸入資料傳送(圖9中所示之傳送的實 例)而定’ FTA独38使早_放交握訊息及最終釋放交握 訊息基於不同輸入資訊。對於大量輸出資料傳送,早期釋 放信號與最終釋放信號等同。在A量輸出f料傳送之情況 下’ FTA模組48自USB核心3〇之MAC控制器32所產生之成 功資料封包傳送信號導出早期釋放信號。對於高速⑽大And the use of the cum; or the known cpu-based delivery mechanism for isochronous endpoints, control endpoints, or interrupt endpoints. Regarding the large amount of data transmission under the USB standard, a p&I described in the figure is provided, and the CBW (command block packet) is sent to the peripheral device 1 at the mth host 丨2, and the message is buffered. In the BRAM 46 of the management unit 20 (at step 62). The CBW message is 31 bytes and ζ_> includes information about the type of transmission that the USB peripheral device 1 will perform. After receiving the 4 CB W message, The USB peripheral device (for example, in the interest and write data to the HIM 18 device 46. In more detail on the 24 main RAM (MRAM) below) read the full transfer automation (FTA) temporary storage in this message 127934.doc -13· 1343529 The FTA register 46 includes information such as the start address, buffer size, and transfer direction in the BRAM 56. After the CBW phase, a large data transfer data phase occurs and the host 12 Sending a data packet to (either a large number of output transfer or write operations) the USB peripheral device 10 or receiving a data packet from it (a large number of input transfer or read operations) depending on the transfer direction indicated in the CBW message (steps 64, 66) The end of USB mass data transfer The segment is a csw (command state packet) message for ending the exchange between the host I2 and the USB peripheral device 1 (at step 68). Referring to FIG. 5, after receiving the CBW message from the host 12 in the first stage, the CPU executes the toughness. The body writes the data necessary to implement the FTA program to the FTA register 46. The register table 76 in FIG. 5 includes a memory unit address 78 representing the memory unit of the circular buffer (BRAM), and a circular buffer. The base address 80, the end address 82, and the word address of the brAM base address and the end address. The current address 84 is updated by the hardware when the FTA transfer is performed to point to the memory location currently involved in the transfer. The FTA register table % also includes the transfer size 86 (based on the total number of expected blocks (data packets) p current transfer size 88 is the block that is updated by the hardware during the ongoing FTA transfer, and the tracking data packet has been The number of transmitted descriptors. The transfer descriptor link list base address 90 contains the data transfer descriptor (dTD) link list of the word base address, and the transport (Tx) 92 and receive (RX) 94 automated transport automation controls contain endpoints based on Control transfer automatically Information of the feature, and the endpoint transfer completion register 96 indicates a large number of output transfers (data from the host output) or a large number of data input transfers (data input host) at the end state after all data packets have been transmitted. Endpoint MISC Control 98 Includes instructions for forcing the USB device core 30 to respond with an acknowledgment (ACK) token during the output of the 127934.doc • 14· 1343529. The stop transfer control 100 register includes a control bit to stop the full transfer. The automated process, and the transfer automation state 102 contains a state of hardware updates as each data transfer descriptor and data query header is set up. The Tx FIFO Low-Scale Configuration Register 1〇4 defines the threshold for pre-fetching of the TX FIFO register for the read (1) when the FTA mode of the USB controller 16 is enabled and When the data shown in the data table % of Figure 5 is loaded into the FTA register 46, the USB controller 16 also prepares the endpoint data transfer descriptor (dTD) and the endpoint data header (dQH) data structure. In the structure setup, as shown in FIG. 6, the USB controller 16 also generates FTA enablement data, and the FTA enablement data includes: an enable bit 7〇, which is a USB device that will enable full transfer automation for a specific data transfer data exchange. The flag of the core 3〇; and the xfer direction bit 72, which indicates the direction of the transmission. The packet length of the transaction 1〇6 and the total expected byte ι8 can also be combined with the BRAM required for each expected data packet. The DMA indicator 1缓冲器9 of the buffer address is recorded in the data structure. These data structures can be generated by the hardware logic in the FMA module 48 of the HIM 18, or by the firmware executed by the CPU 24. Implementation. Depending on the amount of data expected, more than one may be required Material structure to identify indicators 109 for processing each of the set of addresses required for a large number of data transfers. The dTD and dQH data structure information is written to the appropriate offset to accommodate the dTD and The size of the FTA temporary storage refers to the location pointed to by the key address 90. The dTD and dQH data structures inform the DMA block 36 in him 18 of the total transfer size, DMA source/destination address, and 127934. .doc •15· 1343529 Other transmission information. Once the CBW message has been processed, the dTD and dQH data have been set up and the initial information in the FTA register is generated, the USB controller 16 is ready to process the data transfer in the FTA mode and eliminate it. Or reduce the amount of data in the data transfer. As shown in Figure 7, 'a description of the use of the USB controller 162fTA mode of a possible speed device a large number of output transactions. This example shows that there are two buffers available in BRam for support When the data transfer starts, when the host 12 transmits the output of the data transfer 112 followed by a data block (also referred to as a data packet), a large number of output data transmission phases are opened. Assuming that the USB peripheral device 10 operates in the high speed mode, the data packet size can be 512 bytes. The USB peripheral device (7) receives the information at the output ^^ 18 and passes the message to the BMU 20 for storage in the configuration. One of the buffers 58, 60 in the BRAM 56. The ABM M in the BMU 2 provides hardware logic generation signals buf_rdyi II4 and buf_rdy2 II6 indicating that the buffers are ready to receive information. Data transfer, ABM "Buffer_bud and buf_rdy2 nickname based on the buffer counter counting the number of free buffers in the BRAM" can be used to generate buf_rdyl & buf - using any of a number of types of digital counter circuits. The buffer count II of the logical H of 2 digits. The buf-rdyl signal indicates the availability of at least one buffer state in the BRAM, and buf-rdy2 indicates the availability of two or more buffers in the BRAM. In this embodiment, the term "buffer" refers to a contiguous 512-bit location in the BRAM. After the transfer of the first data packet to the buffer is completed, since buf_rdy2 and bUf"dyl are both at the beginning of the transfer, Π (high), _ 18 is I27934.doc 16 1343529 triggers the MAC controller 32 to the host 1 2 Send a confirmation (ack) 11 6 message. At the same time, the FTA module 48 in the HIM 18 generates an "early release" signal pulse via the hardware. The signal pulse is communicated back to the BMU 20 to inform the BMU 20 that the transfer of the data packet has been completed. In response to this release signal, BMU 20 determines that buf_rdy2 is a lower representation of the fact that two or more buffers are unavailable. Again, the BMU can then instruct the FIM 22 to begin writing this data to the flash memory 26. An output token from the host is received at the USB peripheral device 1 and the accompanying data packet transfer places the data in a second buffer in two dedicated buffers in BRAM 56. The HIM 18 interprets the combination of buf_rdyl and buf-rdy2 in its status table at the beginning of the transfer, and sends a NYET parental grip § 120 to the host 12 (buf_rdy2 = 0, buf rdyl = l). At the same time, the HIM 18 sends another early release signal 122 (or equivalent final release signal) to the BMU 20 in the back end to cause the BMU 20 to know that the transfer has been completed. After notifying this release, the backend 52 sends a buf_rdyl low signal via the BMU 20 in addition to transmitting the already low buf-rdy2 signal to indicate to the HIM 18 that no buffers 58, 60 are currently available. The NYET message 120 conveys to the host 12 that the previous data transfer was received, but the host 12 may not send more information without first checking the status. In the case of FIG. 7, the host 12 transmits a piNG token 124 to the USB peripheral device 1. Note that both the buf_rdy2 and buf_rdyl signals are at logic low, indicating that no buffer is currently available, and the HIM 18 responds with a NAK response 126. When one of the buffers becomes available (represented by the logic high setting of buf_rdyl generated by the ABM 54 hardware logic), the USB peripheral device receives the subsequent PING from the host, and 127934.doc 17 1343529 HIM with ACK Response 128 responds to inform the host that it is ready to receive subsequent data. In the example of Figure 7, for a large number of output data transfers, the buffer ready signals (buf_rdy2 and buf_rdyl) are the hardware numbers generated by the automatic buffer manager 44 in the BMU 20. The hardware implementation signal may be based on basic digital logic responsive to data occupying the first buffer 48 and the second buffer 50, wherein buf_rdy2 may be from a counter in the BMU 20 that maintains a count of valid buffers present in the BRAM 56. Out. If the count value from the counter exceeds a threshold, the ABM will determine a buf_rdy2 high signal. This threshold value is configurable and can be set by firmware. In USB data transfer, the threshold is set to 2. When the counter value in the BMU is greater than or equal to 1, the additional hardware implementation logic in the ABM 54 generates a buf-rdyl high signal. Therefore, when both buffers are ready, the buf_rdy 1 and buf_rdy2 handshake signals generated by Abm and sent to the HIM are high. When both buffers are not ready, both handshake signals are low. And when only one buffer is available 'buf_rdy 1 is high and buf_rdy2 is low. In one implementation, the counters are used to generate buf_rdyl and buf_rdy2 signals to identify the number of free buffers in BRAM 56. The HIM 18 utilizes the buffer availability signals of buf_rdyl and buf-rdy2 to generate responses to the received and received PING tokens from the host 12. The state diagram 130 of the USB handshake packet generated by the USB controller 16 in response to the three valid combinations of the buf_rdyl and buf_rdy2 signals for the OUT token and the ping token is shown in FIG. When both buffers are ready (both availability signals are at logic high or 丨), HIM 18 answers the OUT or PING token to produce a 127934.doc 1343529 ACK response packet. When both buffers are unavailable (both availability signals are at logic low or zero), HIM 18 responds with a 0UT4PING token to generate a NAK response packet. When only one buffer is ready, the resulting response packet is different for the OUT token and the PING token. ACK is generated for piNG and NYET is generated for OUT. In the opposite direction, a handshake signal from the HIM 18 to the BMU 2〇 in the back end 52 is also generated. The early release signal and the final release signal are hardware generated by the digital logic in the FTA module 38 that can be implemented as the HIM 18. Logic signal. Depending on whether the USB controller 16 is processing a large amount of output data transfer (an example of the transfer seen in Figure 7) or a large amount of input data transfer (an example of the transfer shown in Figure 9), the FTA alone 38 early _ _ _ And the final release of the handshake message is based on different input information. For large output data transfers, the early release signal is equivalent to the final release signal. In the case where the A quantity output f material is transmitted, the FTA module 48 derives the early release signal from the success data packet transmission signal generated by the MAC controller 32 of the USB core. For high speed (10) large

量輸出傳送,一旦接收到一 512位元組封包便觸發成功資 料封包傳送信號。在資料封包大小可為64個位元組的全速 或低速USB大量輸出傳送之情況下,在觸發早期釋放/最終 釋放信號之前,使用MAC控制器資訊來計數8個成功資料 封包傳送。 參看圖9,使用上文論述之緩衝器可用性«吻^及 bufjdy2)及緩衝H釋放(早期#放及最終釋放)硬體產生交 握訊息來說明大量輸人傳送情形。在大量輸人傳送中,將 資料自刪周邊設備中之快閃記憶體傳送至主機。類似於 127934.doc •19· 1343529 大量輸出傳送,CBW訊息被HIM 18接收,該HIM 18將 CBW訊息置於BMU 20之BRAM 56中。HIM 18接著通知 CPU 24 CBW訊息已被接收,且CPU 24接著自BRAM 56讀 取該訊息並初始化HIM中之FTA暫存器48。CBW訊息中所 指示之資料量所必需之資料傳送指示符及資料佇列頭被產 生,且FIM 22開始自快閃記憶體26將資料封包讀取至 BRAM 56之緩衝器中。再次假定BRAM 46中有兩個緩衝器 組態,一旦來自第一緩衝器之資料自BMU傳輸至HIM, HIM 18便向BMU 20發送一早期釋放邏輯脈衝。The quantity output is transmitted, and a successful data packet transmission signal is triggered upon receiving a 512-bit packet. In the case where the data packet size can be 64-byte full-speed or low-speed USB mass output transmission, the MAC controller information is used to count 8 successful data packet transmissions before the early release/final release signal is triggered. Referring to Figure 9, the buffer availability (kiss and bufjdy2) discussed above and the buffered H release (early #release and final release) hardware generate a handshake message to illustrate a large number of input transmission scenarios. In a large number of input transmissions, the data is transferred from the flash memory in the peripheral device to the host. Similar to 127934.doc • 19· 1343529 A large number of output transfers, the CBW message is received by the HIM 18, which places the CBW message in the BRAM 56 of the BMU 20. The HIM 18 then notifies the CPU 24 that the CBW message has been received, and the CPU 24 then reads the message from the BRAM 56 and initializes the FTA register 48 in the HIM. The data transfer indicator and data headers necessary for the amount of data indicated in the CBW message are generated, and the FIM 22 begins reading the data packet from the flash memory 26 into the buffer of the BRAM 56. Again assuming that there are two buffer configurations in BRAM 46, once the data from the first buffer is transferred from the BMU to the HIM, the HIM 18 sends an early release logic pulse to the BMU 20.

早期釋放硬體信號係由FTA模組48產生。在此例項中, 早期釋放硬體信號及最終釋放硬體信號由於FTA模組48分 別導出早期釋放信號及最終釋放信號而不同。BMU 20使 用早期釋放信號為預填充傳輸(讀取)資料至TX FIFO 44檢 查缓衝器可用性。若當BRAM中之緩衝器未準備好時BMU 接收一早期釋放信號,則BMU否定buf_rdyl信號(亦即,該 信號變低),以防止HIM 1 8自該緩衝器預擷取資料。在大 量輸入資料傳送中,當HIM 18起始自TX FIFO 44向主機12 發送讀取資料時,FTA模組48基於產生於MAC控制器32中 之邏輯信號來產生一早期釋放。最終釋放信號證實早期釋 放,並向BMU發信:既然已自主機接收到ACK回應,則可 最終釋放封包。FTA模組48基於產生於MAC控制器32中的 指示自主機接收到ACK之邏輯信號而產生最終釋放信號。 由於來自MAC控制器32之此等信號係在不同於FTA模組48 所使用之時脈頻域中產生,因此該FTA模組亦包括將MAC 127934.doc -20- 1343529 控制器32信號自MAC控制器之USB PHY時脈域轉換成fta 模組藉以操作之系統時脈域的電路。 圖9之大量輸入傳送情形中的第一早期釋放信號丨32向 ΒΜϋ 20指示:若第二BRAM緩衝器50可用,則現在適合將 輸入讀取資料填充於該緩衝器之緩衝器空間中。歸因於快The early release hardware signal is generated by the FTA module 48. In this example, the early release of the hardware signal and the final release of the hardware signal differ because the FTA module 48 derives the early release signal and the final release signal, respectively. The BMU 20 uses the early release signal to pre-fill the transmit (read) data to the TX FIFO 44 to check buffer availability. If the BMU receives an early release signal when the buffer in the BRAM is not ready, the BMU negates the buf_rdyl signal (i.e., the signal goes low) to prevent the HIM 18 from prefetching data from the buffer. In a large amount of input data transfer, when the HIM 18 initiates a read of data from the TX FIFO 44 to the host 12, the FTA module 48 generates an early release based on the logic signals generated in the MAC controller 32. The final release signal confirms the early release and sends a message to the BMU: since the ACK response has been received from the host, the packet can eventually be released. The FTA module 48 generates a final release signal based on a logic signal generated in the MAC controller 32 indicating that an ACK was received from the host. Since the signals from the MAC controller 32 are generated in a different frequency domain than that used by the FTA module 48, the FTA module also includes the MAC 127934.doc -20-1343529 controller 32 signal from the MAC. The controller's USB PHY clock domain is converted to the circuitry of the system clock domain through which the fta module operates. The first early release signal 丨32 in the bulk input transfer scenario of Figure 9 indicates to ΒΜϋ 20 that if the second BRAM buffer 50 is available, it is now suitable to fill the input read data into the buffer space of the buffer. Attributable to fast

閃記憶體26與BRAM緩衝器58、60之間的通常比自BRAM 緩衝器58、60經由HIM 18至主機12更慢的資料傳送速率, HIM 18將自BRAM向TX FIFO暫存器44預擷取資料,並同 時將資料自TX FIFO 44暫存器發送至主機12。僅在自主機 接收到指示先前資料封包成功接收之ACK訊息136後,自 HIM 18向BMU 20發送最終釋放硬體信號134。圖7中說明 第二IN符記1 3 8及第三IN符記140以及資料傳送封包142、 144。在第二傳送與第三傳送之間,存在由於USB周邊設 備10未自主機接收到ACK訊息而產生於該USB周邊設備内The data transfer rate between flash memory 26 and BRAM buffers 58, 60 is typically slower than from BRAM buffers 58, 60 via HIM 18 to host 12, and HIM 18 will pre-populate from BRAM to TX FIFO register 44. The data is fetched and the data is simultaneously sent from the TX FIFO 44 register to the host 12. The final released hardware signal 134 is sent from the HIM 18 to the BMU 20 only after receiving an ACK message 136 from the host indicating that the previous data packet was successfully received. The second IN symbol 138 and the third IN symbol 140 and the data transfer packets 142, 144 are illustrated in FIG. Between the second transmission and the third transmission, there is a USB peripheral device 10 that is not generated from the host and is generated in the USB peripheral device.

的匯流排逾時146。由於未自主機接收到確認,因此mM 未產生最終釋放信號且未見到下一傳送之早期釋放信號。 此係由於在不存在首次嘗試被正確接收之確認的情況下必 須再次發送來自第二傳送之相同資料。以上實例假定 buf_rdy 1信號始終為高,指示快閃記憶體%已完成一讀取 操作且BRAM緩衝器中之有效資料可用。若定該緩 衝益由於某原因而未準備好,則buf—吻!信號可保持為低 且_ 18可基於此buf_rdyl低信號而向主機傳輸一nak交 握封包》 在USB大量資料輸入或輸出傳送結束時,引擎48在 127934.doc •21 - ^43529 達到傳送大小86時自動停止傳送。亦在一大量傳送結束 時’自主機接收到對csw訊息之請求。作為回應,物體準 備CSW且亦在A f傳送結束時將其發相至主機。作為回 應韌體準備cs W且將其發送回至主機。在FTA啟用之大 里資料傳送進行的同時,此實施不阻礙至其他端點之傳 、、款 送。 在大量輸出傳送情形及大量輸入傳送情形中皆說明了產 生於HIM 18及BMU 20中的提供硬體交握以增加USB周邊 設備讀取及寫入資料之能力的硬體信號之使用。每一資料 叢發未使用或需要要求CPU干預之知體中斷。在不需要參 與及中斷的情況下將資料傳送入或傳送出快閃記憶體(及 大體而言USB周邊設備)避免觸發、由cpu讀取,且作用於 中斷所必需的時間。邏輯上結果是,在此資料傳送階段期 間將不需要CPU活動,且因此可節省USB周邊設備之總功 率使用。 使用硬體交握在後端與him之間進行關於緩衝器空間可 用性通信的另一優點在於’可將緩衝器中之記憶體大小維 持於較低位準’從而釋放為其他使用而另外規劃之緩衝記 憶體。另外’在不需要中斷及CPU干預的情況下,CPU額 外耗用被降低且與需要韌體追蹤資料傳送及管理緩衝器空 間的實施相比可降低CPU時脈速度。基於較低CPU額外耗 用之較低時脈速度實施亦可有助於額外功率節省。 雖然已提供USB控制器16中之後端52之實例(其中已分 配兩個緩衝器用於實施大量資料傳送操作之FTA模式),但 127934.doc -22· 丄州529 在其他實施中,可僅俅用罝― • 使用早一緩衝器。該緩衝器可具有單 一資料傳送區塊(封肖f )之大小。或者,上文描述之USB控 ,器及方法同樣可經調適成使用BRAM中之兩個以上緩衝 盗其中β玄等緩衝器中之每一者可與資料封包具有相同大 小。在其他實施中,例如當以全速模式或低速模式(分別 為12百萬位元每秒或15百萬位元每秒,而非高速模式之 480百萬位元每秒)執行USB周邊設備時,fta操作模式可 經調整而適應全速模式或低速模式中支援之料位元組資料 =包大λ!…在其他實施中,USB周邊設備1()可經組態成相 畲於一主機並如所描述將相同FTA模式用於大量傳送操 作又’雖然論述了特定資料封包大小,例如對於高速為 512個位元組且對於全速及低速為以個位元組,但可根據 選擇用於USB周邊設備之後端中的快閃記憶體類型而將後 端所處理之此資料大小設定為其他長度。 以下同時申請(2006年12月31日)、共同擁有之美國專利 申請案(藉由美國專利申請案序號"USSN"引用)之整體以引 用的方式併入本文中:"Selectively Powering DataThe bus has a timeout of 146. Since no acknowledgment was received from the host, mM did not produce a final release signal and did not see an early release signal for the next transmission. This is because the same data from the second transmission must be resent in the absence of an acknowledgment that the first attempt was received correctly. The above example assumes that the buf_rdy 1 signal is always high, indicating that the flash memory % has completed a read operation and that valid data in the BRAM buffer is available. If the buffer is not ready for some reason, then buf-kiss! The signal can be kept low and _ 18 can transmit a nak handshake packet to the host based on this buf_rdyl low signal. At the end of the USB mass data input or output transfer, the engine 48 reaches the transfer size at 127934.doc •21 - ^43529 The transmission is automatically stopped. A request for a csw message is also received from the host at the end of a large number of transfers. In response, the object prepares the CSW and also sends it to the host at the end of the Af transfer. Prepare cs W as a response firmware and send it back to the host. While the data transfer is being carried out in the FTA enabled, this implementation does not hinder the transmission and delivery to other endpoints. The use of hardware signals generated in HIM 18 and BMU 20 to provide hardware handshake to increase the ability of USB peripherals to read and write data is illustrated in a number of output transfer scenarios and in a large number of input transfer scenarios. Each data burst is unused or requires a physical interrupt that requires CPU intervention. Transferring data into or out of flash memory (and, in general, USB peripherals) without the need for participation and interruption, avoids triggering, is read by the CPU, and acts on the time necessary for the interrupt. The logical result is that CPU activity will not be required during this data transfer phase, and thus the total power usage of USB peripherals can be saved. Another advantage of using hard-handed handshakes between the backend and him for buffer space-available communication is that 'the memory size in the buffer can be maintained at a lower level' and the release is otherwise planned for other uses. Buffer memory. In addition, the CPU overhead is reduced and the CPU clock speed can be reduced compared to the implementation that requires firmware tracking data transfer and management buffer space without interrupts and CPU intervention. Lower clock speed implementations based on lower CPU overhead can also contribute to additional power savings. Although an example of the rear end 52 in the USB controller 16 has been provided (in which the FTA mode has been allocated for implementing a large number of data transfer operations), 127934.doc -22. 丄州529 In other implementations, only 俅Use 罝― • Use the early buffer. The buffer can have a single data transfer block size. Alternatively, the USB controllers and methods described above can be adapted to use more than two buffers in the BRAM, each of which can have the same size as the data packet. In other implementations, such as when performing USB peripherals in full speed mode or low speed mode (12 million bits per second or 15 million bits per second, instead of 480 million bits per second in high speed mode) , fta operation mode can be adjusted to adapt to the full-speed mode or low-speed mode supported material tuple data = package large λ!... In other implementations, USB peripheral device 1 () can be configured to be opposite to a host and The same FTA mode is used for a large number of transfer operations as described. 'Although the specific data packet size is discussed, for example, 512 bytes for high speed and one byte for full speed and low speed, but can be selected for USB according to selection. The size of the data processed by the backend is set to other lengths by the type of flash memory in the rear end of the peripheral device. The following simultaneous application (December 31, 2006), co-owned US patent application (by US Patent Application Serial No. "USSN" cited) is incorporated herein by reference: "Selectively Powering Data

Interfaces"(具有 USSN 1 1/649,325及代理人參考號sdA-1076x) ; ‘‘ Selectively Powered Data Interfaces’’ (具有 USSN 1 1/649,326 及代理人參考號 SDA-1076y); "lnternaiiyInterfaces" (with USSN 1 1/649, 325 and agent reference sdA-1076x); ‘‘Selectively Powered Data Interfaces’’ (with USSN 1 1/649, 326 and agent reference number SDA-1076y); "lnternaiiy

Protecting Lines at Power Island Boundaries"(具有 USSN 1 1/618,874 及代理人參考號 SDA-1090x) ; "lntegrated Circuit with Protected Internal Isolation"(具有 USSN 1 1/618,875 及代理人參考號 SDA-1090y); "Updating Delay 127934.doc -23- 1343529Protecting Lines at Power Island Boundaries" (with USSN 1 1/618, 874 and agent reference number SDA-1090x); "lntegrated Circuit with Protected Internal Isolation" (with USSN 1 1/618,875 and agent reference number SDA-1090y); "Updating Delay 127934.doc -23- 1343529

Trim Values"(具有USSN 1 1/618,897及代理人參考號80八-1091x) ; "Module with Delay Trim Value Updates on Power-Up"(具有USSN 1 1/618,898及代理人參考號80八-1091y) ; "Limiting Power Island Inrush Current"(具有 USSN 1 1/618,855及代理人參考號 SDA-1092x) ; "Systems and Integrated Circuits with Inrush-Limited Power Islands" (具有USSN 1 1/618,854及代理人參考號SDA-1092y); "Method for Performing Full Transfer Automation in a USB Controller"(具有USSN 1 1/618,865及代理人參考號兮口八-1094x( 105 19/201)) ; MUSB Controller with Full Transfer Automation”(具有USSN 1 1/618,867及代理人參考號80八-1094y (10519/202) ; "Method for Configuring a USB PHY to Loopback Mode”(具有 USSN 1 1/618,849 及代理人參考號 SDA-1095x (10519/203));及"Apparatus for Configuring a USB PHY to Loopback Mode"(具有 USSN 1 1/61 8,852 及代 理人參考號SDA-1095y (10519/204))。 根據前述内容,已描述用於在USB控制器中實施完全傳 送自動化之方法及裝置。已在USB周邊設備中之USB控制 器内部提供了四個新的硬體產生邏輯信號以用於主機介面 模組與後端模組之間的交握。經由硬體邏輯而非經由使用 韋刃體及微處理器時間所產生之内部交握信號可改良資料傳 送速度並降低USB控制器之功率消耗。 因此,意欲將前述實施方式視作說明性的而非限制性 的’且應瞭解,以下申請專利範圍(包括所有等效物)意欲 127934.doc •24- 1343529 界定本發明之精神及範疇。 【圖式簡單說明】 圖1為與一主機連接之USB周邊設備的方塊圖。 圖2為圓rUSB周邊設備十之主機介面模組的方塊圖。 圖3為適合用於圖1之USB周邊設備中的Usb控制器之後 端的方塊圖。 圖4為一 USB大量傳送操作之流程圖。 圖5為促進圖1至圖3之USB周邊設備中之完全傳送自動 化而準備之資料的暫存器表。 圖6為用於圖1之1;38周邊設備中之大量資料傳送的資料 結構。 圖7為利用圖1之USB周邊設備的USB高速大量輸出異動 之一實例。 圖8為說明用於回應於大量資料傳送符記之接收而產生 USB交握封包之邏輯的狀態表。 圖9為利用圖liUSB周邊設備之USB高速大量輸入異動 的一實例。 【主要元件符號說明】 10 USB周邊設備 12 主機 14 USB通信線 16 USB控制器 18 主機介面模組(HIM) 20 緩衝器管理單元(BMU) I27934.doc -25- 1343529Trim Values" (with USSN 1 1/618, 897 and agent reference number 80 8-1091x); "Module with Delay Trim Value Updates on Power-Up" (with USSN 1 1/618, 898 and agent reference number 80-8-1091y "Limiting Power Island Inrush Current" (with USSN 1 1/618,855 and agent reference number SDA-1092x); "Systems and Integrated Circuits with Inrush-Limited Power Islands" (with USSN 1 1/618,854 and agents) Reference number SDA-1092y); "Method for Performing Full Transfer Automation in a USB Controller" (with USSN 1 1/618, 865 and agent reference number -10口八-1094x (105 19/201)); MUSB Controller with Full Transfer Automation" (with USSN 1 1/618, 867 and agent reference number 80 eight-1094y (10519/202); "Method for Configuring a USB PHY to Loopback Mode" (with USSN 1 1/618,849 and agent reference number SDA- 1095x (10519/203)); and "Apparatus for Configuring a USB PHY to Loopback Mode" (with USSN 1 1/61 8,852 and agent reference number SDA-1095y (10519/204)). A method and apparatus for implementing full transfer automation in a USB controller has been described. Four new hardware generated logic signals have been provided within the USB controller in the USB peripheral for the host interface module and The handshake between the back-end modules improves the data transfer speed and reduces the power consumption of the USB controller via hardware logic rather than through the use of the internal blade and microprocessor internal timing signals. The foregoing embodiments are to be considered as illustrative and not restrictive, and the scope of the claims BRIEF DESCRIPTION OF THE DRAWINGS FIG. 1 is a block diagram of a USB peripheral device connected to a host. 2 is a block diagram of a host interface module of a round rUSB peripheral device. Figure 3 is a block diagram of the rear end of a Usb controller suitable for use in the USB peripheral device of Figure 1. Figure 4 is a flow chart of a USB mass transfer operation. Figure 5 is a register table of data prepared to facilitate full transfer automation in the USB peripheral devices of Figures 1 through 3. Figure 6 is a data structure for a large amount of data transfer in the peripheral device of Figure 1; Figure 7 is an example of USB high speed mass output transaction using the USB peripheral device of Figure 1. Figure 8 is a state diagram illustrating the logic for generating a USB handshake packet in response to receipt of a plurality of data transfer tokens. Figure 9 is an example of a USB high speed mass input transaction using the liUSB peripheral device. [Main component symbol description] 10 USB peripheral device 12 Host 14 USB communication cable 16 USB controller 18 Host interface module (HIM) 20 Buffer management unit (BMU) I27934.doc -25- 1343529

22 24 26 28 30 32 36 38 40 42 44 46 4822 24 26 28 30 32 36 38 40 42 44 46 48

50 52 快閃記憶體介面模組(FIM) 中央處理單元(CPU) 快閃記憶體 實體層介面 USB設備核心 媒體存取控制(MAC)控制器 直接記憶體存取(DMA)區塊 完全傳送自動化(FTA)模組 微處理器介面 可組態FIFO緩衝器 可組態FIFO缓衝器/自動緩衝管理器/TX FIFO/TX FIFO 暫存器 完全傳送自動化(FTA)暫存器 完全傳送自動化(FTA)邏輯模組/第一緩衝器/ FTA引擎 輔助介面/第二緩衝器/第二BRAM緩衝器 後端 54 自動緩衝管理器(ABM) 56 BRAM 58 第一緩衝器/BRAM緩衝器 60 第二緩衝器/BRAM緩衝器 70 &&_啟用位元 72 xfer_*向位元 76 暫存器表/ FTA暫存器表/資料表 127934.doc •26- 1343529 78 記憶體單元位址 80 循環緩衝器基位址 82 循環緩衝器結束位址 84 循環緩衝器當前位址 86 傳送大小 88 當前傳送大小 90 傳送描述符鏈接清單基位址 92 傳輸(Τχ)傳送自動化控制 94 接收(Rx)傳送自動化控制 96 端點傳送完成暫存器 98 端點MISC控制 100 停止傳送控制 102 傳送自動化狀態 104 Tx FIFO低標組態暫存器 106 封包長度 108 總位元組 109 DMA指標 110 輸出符記 112 資料傳送 114 硬體邏輯產生信號buf_rdy 1 116 硬體邏輯產生信號buf_rdy2信號/確認(ACK) 120 NYET交握訊息 122 另一早期釋放信號 124 PING符記 127934.doc 27· 1343529 126 NAK回應 128 ACK回應 130 狀態表 132 第一早期釋放信號 134 最終釋放硬體信號 136 ACK訊息 138 第二IN符記 140 第三IN符記 142 資料傳送封包 144 資料傳送封包 146 匯流排逾時 127934.doc -28-50 52 Flash Memory Interface Module (FIM) Central Processing Unit (CPU) Flash Memory Physical Layer Interface USB Device Core Media Access Control (MAC) Controller Direct Memory Access (DMA) Block Full Transfer Automation (FTA) Module Microprocessor Interface Configurable FIFO Buffer Configurable FIFO Buffer/Automatic Buffer Manager/TX FIFO/TX FIFO Scratchpad Full Transfer Automation (FTA) Scratchpad Full Transfer Automation (FTA Logic Module / First Buffer / FTA Engine Auxiliary Interface / Second Buffer / Second BRAM Buffer Back End 54 Auto Buffer Manager (ABM) 56 BRAM 58 First Buffer / BRAM Buffer 60 Second Buffer /BRAM Buffer 70 &&_Enable Bit 72 xfer_* to Bit 76 Register Table / FTA Register Table / Data Table 127934.doc • 26- 1343529 78 Memory Unit Address 80 Cyclic Buffer Base Address 82 Circular Buffer End Address 84 Circular Buffer Current Address 86 Transfer Size 88 Current Transfer Size 90 Transfer Descriptor Link List Base Address 92 Transfer (Τχ) Transfer Automation Control 94 Receive (Rx) Transfer Automation Control 96 end Point Transfer Complete Register 98 Endpoint MISC Control 100 Stop Transfer Control 102 Transfer Automation Status 104 Tx FIFO Low Label Configuration Register 106 Packet Length 108 Total Bytes 109 DMA Indicator 110 Output Symbol 112 Data Transfer 114 Hardware Logic generates signal buf_rdy 1 116 hardware logic generates signal buf_rdy2 signal/acknowledgement (ACK) 120 NYET handshake message 122 another early release signal 124 PING symbol 127934.doc 27· 1343529 126 NAK response 128 ACK response 130 status table 132 An early release signal 134 finally releases the hardware signal 136 ACK message 138 a second IN token 140 a third IN token 142 a data transfer packet 144 a data transfer packet 146 a bus time 127934.doc -28-

Claims (1)

1343529 第096151485號專利申請案^ 中文申請專利範圍替換本(99年12月) 補先太咖⑽ 十、申請專利範圍: 1·—種在一通用串列匯流排(USB)控制器中實施完^傳送 自動化之方法,該方法包含: ' 一主機接收一USB大量資料傳 在一 USB控制器處 送起始訊息; 在一 USB大量資料傳送操作期間傳送資料封包;及 在該大量資料傳送操作之一資料傳送階段期間,於該 USB控制器之一主機介面模组與一後端模組之間,直接 地父換關於該USB控制器内之一資料傳送狀態之硬體產 生邏輯信號’纟中於該USB控制器之該主機介面模組與 該後端模組之間,該硬體產生的邏輯信號不被儲存為/中 間資料。 2.如請求項1之方法,其中交換硬體產生邏輯信號包含: 在該USB大量資料傳送操作期間,於該USB控制器之 該後端模組中產生至少一個後端硬體邏輯信號,該後端 硬體邏輯信號指示一緩衝記憶體將資料傳送入或傳送出 一大量儲存媒體的準備就緒;及 在該USB控制器之該主機介面模組中產生至少一個主 機介面模組硬體邏輯信號,其中在一 USB大量資料傳送 讀取或寫入操作期間,該後端模組及該主機介面模組經 組態以經由關於該USB控制器内之該資料傳送狀態之該 後端硬體邏輯信號及該主機介面模組硬體邏輯信號彼此 通信。 3.如請求項2之方法,其中該USB大量資料傳送讀取或寫入 127934-991221.doc «43529 操作包含複數個分立部分中之資料的資料傳送,該等分 立部分中之每-者具有一固定長度,且其中該至少一個 後端硬體邏輯信號包含該緩衝記憶體處理該複數個分立 部分中之一者的準備就緒。 4·如請求項3之方法’其中該緩衝記憶體包含具有一等於 該固定長度之緩衝器大小的至少一個緩衝器。 5.如請求項3之方法’其中產生至少—個後端硬體邏輯信 號包含向該主機介面模組傳達在—聰大量資料傳送寫1343529 Patent Application No. 096151485^ Chinese Patent Application Substitution Replacement (December 99) Supplementary Coffee (10) X. Patent Application Range: 1·- Kind of implementation in a universal serial bus (USB) controller ^Transfer automation method, the method comprises: 'a host receives a USB mass data transmission at a USB controller to send a start message; transmits a data packet during a USB mass data transfer operation; and in the mass data transfer operation During a data transfer phase, between the host interface module of the USB controller and a back-end module, the hardware directly generates a logic signal for the data transfer state of the USB controller. The logic signal generated by the hardware is not stored as / intermediate data between the host interface module of the USB controller and the back end module. 2. The method of claim 1, wherein the switching hardware generates a logic signal comprising: generating at least one backend hardware logic signal in the backend module of the USB controller during the USB mass data transfer operation, The back end hardware logic signal indicates that a buffer memory is ready to transfer data into or out of a large amount of storage medium; and at least one host interface module hardware logic signal is generated in the host interface module of the USB controller. The backend module and the host interface module are configured to pass the backend hardware logic regarding the data transfer state in the USB controller during a USB mass transfer read or write operation The signal and the host interface module hardware logic signals communicate with each other. 3. The method of claim 2, wherein the USB mass data transfer reads or writes 127934-991221.doc «43529 operation includes data transfer of data in a plurality of discrete portions, each of the discrete portions having A fixed length, and wherein the at least one back end hardware logic signal includes the buffer memory to be ready to process one of the plurality of discrete portions. 4. The method of claim 3, wherein the buffer memory comprises at least one buffer having a buffer size equal to the fixed length. 5. The method of claim 3, wherein generating at least one back-end hardware logic signal comprises communicating to the host interface module 入操作期間,至少一個緩衝器可用於接收該複數個分立 部分中之一者。 6.:請求項3之方法,其中該緩衝器包含一第一緩衝器及 -第二緩衝器,該第一緩衝器及該第二緩衝器中之每一 者具有—等於該固定長度之緩衝器大小,且其中產生至 少一個後端硬體邏輯信號包含:在一USB大量資料傳送 寫入操作期間該第一緩衝器及該第二緩衝器中僅有一個 緩衝器可用於接收該複數個分立部分中之一者時產生 I第一緩衝器準備就緒硬體邏輯信號,及在一 USB大量 貝料傳运寫入操作期間至少兩個緩衝器可用於接收該複 數個刀立部分中之一者時’產生一第二緩衝器準備就緒 硬體邏輯信號。 如叫求項6之方法,進一步包含回應於自該主機接收之 苻,己封包的接收,且基於自該後端模組接收之該 第緩衝益準備就緒硬體邏輯信號及該第二緩衝器準備 就緒硬體邏輯信號,產生一 USB交握訊息。 127934-991221.do, 9. 月长項4之方法,其進一步一 讀取操作期門、/ 纟USB大里資料傳送 部分中之間至卜個緩衝器可用於接收該複數個分立 -緩衝哭1者時,自該後端模组向該主機介面模組傳輸 '' 。。準備就緒硬體邏輯信號。 二长項8之方法’進一步包含回應於起始資料自該主 "面核組中之一FlF〇緩衝器至該主機的傳送 ==一送讀取操作期間,自該主機介面模組向該後端 ' ^早期緩衝器釋放硬體邏輯信號。 士 ::項9之方法,進一步包含回應於自該主機接收一 確-:握符記,在一大量資料傳送讀取操作期間,自該 主機介面模組向該後端模組傳輸—最終緩衝器釋放硬體 邏輯信號。 如二求項9之方法’進一步包含:自該後端模組向該主 機;1面^組傳輸一緩衝器準備就緒硬體邏輯信號,該緩 衝器準備就緒硬體邏輯信號指示在一 USB大量資料傳送 唄取刼作期間’該至少一個緩衝器可用於傳輸該複數個 刀立。P分中之一者;及若在該後端接收到該早期緩衝器 釋放更肢Q輯#號之後,該緩衝器準備就緒硬體信號指 示4緩衝器之準備就緒,則在一大量資料傳送讀取操作 期間,起始一自該緩衝記憶體至該FIF〇緩衝器之一資料 預擷取。 12. —種在一通用争列匯流排(USB)控制器中實施完全傳送 自動化之方法,該方法包含: 在该USB控制器處,自—主機接收用於一 USB大量傳 127934-99I221.doc 1343529 送寫入操作之-⑽大量資料傳送起始訊息,並在該 USB控制器内初始化一完全傳送自動化模式; 在該USB大量傳送寫人操作期間,於該⑽控制器 處,自該主機接收資料封包;及 在接收該等資料封包的同時,於該咖控制器之一主 機介面模組卜後端模組之間,直接地交換關於該⑽ 控制器内之一資料傳送狀態的硬體產生邏輯信號,1中 於該则控制器之該主機介面模組與該後端模組之間, 該硬體產生的邏輯信號不被储存為中間資料。 1 3.如請求項1 2之方法,其中垃丨 、矣收貝料封包包含接收複數個 :立部分中之資料,該等分立部分中之每一者具有一固 定長度’且其中交換硬體產生邏輯信號包含自該後端模 且傳輸至少—個緩衝器準備就緒硬體邏輯信號至該主機 介面模組。 #妙項13之方法,其中傳輪至少-個緩衝器準備就緒 二ft號包含:在-⑽大量傳送寫入操作期間該後端 二?有-個緩衝器可用於接收該複數個分立部分中 :二二模组傳輸:第一緩衝器準備就 間該後端桓^至USB大量貝料傳达寫入#作期 、’ 至V兩個緩衝器可用於接收該複數個分 立部分中之一去 „ 日’,向该主機介面模組傳輸一第二緩衝 益準備就緒硬體邏輯信號。 15.如請求項14 * +仙 其中交換硬體邏輯信號進一步包含 ;1面^組處已接收到-完整資料封包時,自該主 127934-991221.doc 1343529 機介面模組向該後端模組傳輸一緩衝器釋放硬體邏輯信 號。 16. 如請求項15之方法,其中傳輸該緩衝器釋放硬體邏輯信 號包含在該主機介面模組接收到一 USB ACK交握訊息 後’即傳輸該緩衝器釋放硬體邏輯信號。 17. —種在一通用串列匯流排(USB)控制器中實施完全傳送 自動化之方法,該方法包含: 在該USB控制器處,自一主機接收用於— USB大量傳 达讀取操作之一 USB大量資料傳送起始訊息,並在該 USB控制器内初始化一完全傳送自動化模式; 在該USB大量傳送讀取操作期f01,自該聰控制器向 該主機傳輸資料封包;及During the incoming operation, at least one buffer is operable to receive one of the plurality of discrete portions. 6. The method of claim 3, wherein the buffer comprises a first buffer and a second buffer, each of the first buffer and the second buffer having a buffer equal to the fixed length And wherein generating at least one back end hardware logic signal comprises: during the USB mass data transfer write operation, only one of the first buffer and the second buffer is operable to receive the plurality of discrete One of the portions generates an I first buffer ready hardware logic signal, and at least two buffers are available to receive one of the plurality of tool segments during a USB bulk beacon write operation When 'generates a second buffer ready hardware logic signal. The method of claim 6, further comprising responding to receiving from the host, receiving the packet, and preparing the hardware logic signal and the second buffer based on the first buffer received from the backend module The hardware logic signal is ready to generate a USB handshake message. 127934-991221.do, 9. The method of month length item 4, further reading the operation period gate, / 纟 USB big data transfer part between the buffers can be used to receive the plurality of discrete-buffer crying 1 When the backend module transmits '' to the host interface module. . Prepare the hardware logic signal. The method of the second item 8 further includes responding to the transmission of the starting data from the FlF buffer of the main "face core group to the host== one-send read operation, from the host interface module The backend '^ early buffer releases the hardware logic signal. The method of item 9 further includes receiving, in response to receiving from the host, a true-to-hold note, transmitting from the host interface module to the back-end module during a bulk data transfer read operation - final buffering The device releases the hardware logic signal. The method of claim 9 further includes: transmitting a buffer ready hardware logic signal from the backend module to the host; the buffer is ready for the hardware logic signal indicating a large amount of USB During the data transfer capture period, the at least one buffer can be used to transmit the plurality of cutters. One of the P points; and if the early buffer release of the more limb Q number# is received at the back end, the buffer ready hardware signal indicates that the 4 buffer is ready, then a large amount of data is transmitted During the read operation, a data pre-fetch from the buffer memory to one of the FIF buffers is initiated. 12. A method of implementing full transfer automation in a universal contiguous bus (USB) controller, the method comprising: at the USB controller, receiving from a host for a USB mass transfer 127934-99I221.doc 1343529 sends a write operation - (10) a large amount of data transfer start message, and initializes a full transfer automation mode in the USB controller; during the USB mass transfer write operation, at the (10) controller, receives from the host Data packet; and receiving the data packet, and directly exchanging hardware generation information about a data transmission state in the (10) controller between the host interface module and the back end module of the coffee controller The logic signal, between the host interface module of the controller and the back end module, the logic signal generated by the hardware is not stored as intermediate data. The method of claim 12, wherein the receipt, the receipt of the packet includes receiving a plurality of data in the vertical portion, each of the discrete portions having a fixed length 'and wherein the exchange hardware A logic signal is generated from the backend mode and at least one buffer ready hardware logic signal is transmitted to the host interface module. #妙项13的方法, where the passer is at least one buffer ready 2 ft number contains: the backend two during the -(10) mass transfer write operation? There is a buffer that can be used to receive the plurality of discrete parts: two-two module transmission: the first buffer is ready for the back end to the USB to a large amount of shell material to convey the write #期, 'to V two The buffer may be configured to receive one of the plurality of discrete portions to send a second buffer to prepare a hardware logic signal to the host interface module. 15. If the request item is 14 * + The body logic signal further includes: when the 1st group has received the complete data packet, the master 127934-991221.doc 1343529 machine interface module transmits a buffer to the back module to release the hardware logic signal. The method of claim 15, wherein transmitting the buffer to release the hardware logic signal comprises transmitting the buffer to release a hardware logic signal after the host interface module receives a USB ACK handshake message. A method of implementing full transfer automation in a universal serial bus (USB) controller, the method comprising: receiving, at the USB controller, a large amount of USB data for a USB mass transfer read operation from a host Starting to send the message, and initializes a fully automatic mode of transfer in the USB controller; f01 transmitting a read operation of a large number of the USB, transmit data from the controller Cong packet to the host computer; and 在傳輸該等資料封包的同時,於該USB控制器之一主 機介面模組與-後端模組之間,直接地交換關°於該⑽ 控制器内之一資料傳送狀態的硬體產生邏輯信號丈中 於該咖控制器之該主機介面模組與該後端模經之間, 該硬體產生的邏輯信號不被儲存為中間資料。 18.t請求項17之方法,其中傳輸資料封包包含傳輪複數個 ^部分中之資料,該等分立部分中之每—者具有—固 2 =且其中交換硬體產生邏輯信號包含自該主機介 =組向該後端模組傳輸至少—個緩衝轉放硬體邏輯 19. 如請求項1 8之方法,其中傳輸至少一 邏輯信號包含:當該主機介面模組開 個緩衝器釋放硬體 始向該主機傳輸一 J27934-99I22I.doc 1343529 資料封包時,向該後端模組傳輸一第一 it輯栌铋 戈衝益釋放硬體 ㈣及當該資料封包之傳輸完成時n 缓衝器釋放硬體邏輯信號。 20. 21. 22. 23. 如清求項19之方法’進一步包含該後端模組向該主機介 面換組傳輸一緩衝器準備就緒硬體邏輯信號,該緩衝器 準備就緒硬體邏輯信號指示該後端中之—緩衝器何時準 備就緒向主機介面單元傳送資料。 一種用於—通用串列匯流排(USB)周邊設備中之USB控 制器’該USB控制器包含: 一後端模組’其具有經組態以將資料傳送入或傳送出 大量儲存媒體之緩衝記憶體;及 一主機介面模組,其與該後端模組通信且經組態以與 一主機通信,其中在一USB大量資料傳送讀取或寫入操 作期間,該後端模組及該主機介面模組經組態以經由關 於該USB控制器内之一資料傳送狀態的硬體邏輯信號而 彼此直接地通信,其中於該主機介面模組與該後端模組 之間,相關於該資料傳送狀態的該硬體邏輯信號不被储 存為中間資料。 如請求項2 1之USB控制器,其中該USB大量資料傳送讀 取或寫入操作包含複數個分立部分中之資料的資料傳 送,該等分立部分中之每一者具有一固定長度,且其中 該資料傳送狀態包含該緩衝記憶體處理該複數個分立部 分中之一者的準備就緒。 如請求項22之USB控制器’其中該緩衝記憶體包含至少 l27934-991221.doc 1343529 一具有一等於該固定長度之緩衝器大小的緩衝器。 24. 如請求項23之USB控制器,其中該後端模組包含硬體邏 輯,該硬體邏輯經組態以向該主機介面模組傳達—缓= 器準備就緒硬體邏輯信號,該緩衝料備就緒硬體邏輯 信號指示在一 USB大量資料傳送寫入操作期間該至少一 個緩衝器可用於接收該複數個分立部分中之—者While transmitting the data packet, the hardware generation logic of the data transfer state of the (10) controller is directly exchanged between the host interface module and the back end module of the USB controller. The logic signal generated by the hardware is not stored as intermediate data between the host interface module of the coffee controller and the back end module. 18. The method of claim 17, wherein the transmission data packet comprises data in a plurality of portions of the transmission, each of the discrete portions having a solid 2 = and wherein the switching hardware generates a logic signal from the host The medium=group transmits at least one buffering and transferring hardware logic to the backend module. 19. The method of claim 18, wherein transmitting the at least one logic signal comprises: when the host interface module opens a buffer to release the hardware When transmitting a J27934-99I22I.doc 1343529 data packet to the host, transmitting a first it to the backend module, and releasing the hardware (4) and when the transmission of the data packet is completed, the n buffer Release the hardware logic signal. 20. 21. 22. 23. The method of claim 19, further comprising the backend module transmitting a buffer ready hardware logic signal to the host interface, the buffer ready for the hardware logic signal indication In the backend - when the buffer is ready to transfer data to the host interface unit. A USB controller for use in a universal serial bus (USB) peripheral device. The USB controller includes: a backend module having a buffer configured to transfer data into or out of a plurality of storage media And a host interface module in communication with the backend module and configured to communicate with a host, wherein the backend module and the USB data transfer read or write operation The host interface module is configured to communicate directly with each other via a hardware logic signal regarding a data transfer state within the USB controller, wherein the host interface module and the back end module are associated with the The hardware logic signal of the data transfer status is not stored as intermediate data. The USB controller of claim 2, wherein the USB mass data transfer read or write operation comprises data transfer of data in a plurality of discrete portions, each of the discrete portions having a fixed length, and wherein The data transfer status includes the buffer memory processing ready for processing one of the plurality of discrete portions. The USB controller of claim 22, wherein the buffer memory comprises at least l27934-991221.doc 1343529 a buffer having a buffer size equal to the fixed length. 24. The USB controller of claim 23, wherein the backend module includes hardware logic configured to communicate to the host interface module - the buffer is ready for a hardware logic signal, the buffer The ready-to-use hardware logic signal indicates that the at least one buffer is available to receive the plurality of discrete portions during a USB bulk data transfer write operation 25. 如請求項22之USB控制器,其中該緩衝記憶體包含一第 -緩衝器及一第二緩衝器’該第一緩衝器及第二:衝器 中之每一者具有一等於該固定長度之緩衝器大小,且其 中該後端模組包含硬體邏輯,該硬體邏輯經組態以:向 該主機介面模組傳達一第一緩衝器準備就緒硬體邏輯信 號,該第一緩衝器準備就緒硬體邏輯信號指示在—USB 大量資料傳送寫入操作期間,該第一緩衝器及該第二緩 衝器中僅一個,緩衝器可用於接收該複數個》立部分:之 -者;及向該主機介面模組傳達__第二緩衝器準備就緒 硬體邏輯信號’該第二緩衝器準備就緒硬體邏輯信號指 :在一USB大量資料傳送寫入操作期間,至少兩::衝 器可用於接收該複數個分立部分中之一者。 26. 如請求項25之咖控制器,其中該主機介面模組包含回 應於自該主機接收之刪符記封包及回應於自該後端模 組接收之第-緩衝器準備就緒硬體邏輯信號及第二缓衝 器準備就緒硬體邏輯信號之USB交握封包產生邏輯,以 產生一用以傳輪至該主機之USB交握封包。 27. 如請求項21之刪控制器,其中該主機介面模組包含: 127934-991221.doc 1343529 直接6己憶體存取(DMA)區塊’其經·配置以管理傳送 入及傳送出該緩衝器之資料傳送;及 一 MAC控制器,其與該DMA區塊通信,該mac控制 器經配置以格式化並產生用以傳達至該主機的USB交握 及資料回應封包。 28‘如請求項23之USB控制器,其中該後端模組包含硬體邏 輯,該硬體邏輯經組態以向該主機介面模組傳達一緩衝 器準備就緒硬體邏輯信號,該緩衝器準備就緒硬體邏輯 信號指示在一 USB大量資料傳送讀取操作期間該至少一 個緩衝器可用於接收該複數個分立部分中之一者。 29.如請求項28之刪控制器,其中該主機介面模組包含一 FIFO緩衝器,且經組態以回應於起始自該打阳緩衝器至 該主機之資料傳送而在—大量資料傳送讀取操作期間向 該後端模組產生一早期緩衝器釋放硬體邏輯信號。 3〇.如請求項29之聰控制器,其_該主機介面模L經組態 以回應於自該主機接收到一確認交握符記而在一大量資 料傳送讀取操作期間向該後端模組產生一最終緩衝器釋 放硬體邏輯信號。 31.如請求項29之USB控制 具中該後端模組包含硬 όσ ^ ^ ^ ^ =該硬體邏輯經Μ態㈣該主機介面模組傳達1 就緒硬體邏輯信號,該緩衝器準備就緒硬體竭 二二曰:在—⑽大量資料傳送讀取操作期間該至4 個緩衝器可用於值於4 $如 、傳輪5亥複數個分立部分中之一者 中該主機介面模组 卫 '·進步經組態以在該後端接收到該 127934.991221.do, 1343529 - 期緩衝器釋放硬體邏輯信號後,若該緩衝器準備就緒硬 體邏輯信號指示該緩衝器之準備就緒,則於一大量資料 傳送項取操作期間,起始一自該緩衝記憶體至該FIF〇緩 衝器的資料預擷取。 32. 如請求項25之USB控制器,其中該緩衝器大小之該固定 長度為5 1 2個位元組。 33. 如請求項25之USB控制器,其中該第一緩衝器及該第二 _ 緩衝器包含鄰接記憶體空間。 34. 種通用串列匯流排(USB)周邊設備,該USB周邊設備 包含: 大量儲存媒體,其經調適用於自一主機接收資料或向 該主機提供資料;及 一 USB控制器,其包含: 一後端模組,其具有經組態以將資料傳送入或傳送 出該大量儲存媒體之緩衝記憶體;及 φ 一主機介面模組’其與該後端模組通信且經組態以 與該主機通信,其中在一 USB大量資料傳送讀取或寫 入操作期間,該後端模組及該主機介面模纟且經組態以 經由關於該USB控制器内之一資料傳送狀態的硬體邏 輯信號彼此直接地通信,其中於該主機介面模組與該 後端模組之間,該硬體邏輯信號不被儲存為中間資 料。 ' 35. 如請求項34之USB周邊設備,其中該USB大量資料傳送 讀取或寫入操作包含複數個分立部分中之資料之一資料 127934-99l221.doc 1343529 傳送,料分立部分中之每-者具有一固定長度,且其 中該資料傳送狀態包含該緩衝記憶體處理該複數個分立 部分中之一者之一準備就緒。 36.如請求項35之USB周邊設備,其令該緩衝記憶體包含至 少一具有一等於該固定長度之緩衝器大小的緩衝器。 37‘如請求項36之USB周邊設備’其令該後端模組包含硬體 邏輯,該硬體邏輯經組態以向該主機介面模組傳達一緩 衝器準備就緒硬體邏輯信號,該緩衝器準備就緒硬體邏 輯信號指示在一 USB資料傳送寫入操作期間該至少一個 緩衝器可用於接收該複數個分立部分中之一者。 38.如請求項35之USB周邊設備,其令該緩衝記憶體包含— 第-緩衝器及一第二緩衝器,該第一緩衝器及該第二緩 衝器中之每一者具有一等於該固定長度之緩衝器大小, 且其中該後端模组包含硬體邏輯,該硬體邏輯經组能 以:向該主機介面模組傳達-第—緩衝器準備就緒硬體 邏輯㈣,該第-緩衝器準備就緒硬體邏輯信號指示在 :刪大量資料傳送寫入操作期間,該第一緩衝器及該 第錢器中僅一個緩衝器可用於接收該複數個分立部 刀之—者;及向該主機介面模 備就緒硬體邏輯信號,該第……弟—…丰 、·友衝裔準備就緒硬體邏輯 MM料傳送寫人操作期間,該第一 部分中之一者。 了用於接收该後數個分立 A如請求項38之刪周邊設備,以該主機介面模組包含 l27934-99122l.doc 1343529 回應於自該主機接收之USB符記封包及回應於自該後端 模,、且接收之第一緩衝器準備就緒硬體邏輯信號及第二緩 衝器準備就緒硬體邏輯信號的USB交握封包產生邏輯, 以產生一用以傳輸至該主機之USB交握封包。 40·如請求項34之USB周邊設備,其中該大量儲存媒體―己、 體包含非揮發性記憶體。 % 41如請求項40之USB周邊設備,其中該非揮發性記 。1¾體包 含快閃記憶體。 127934-991221.doc25. The USB controller of claim 22, wherein the buffer memory comprises a first buffer and a second buffer, wherein each of the first buffer and the second buffer has a value equal to the fixed a buffer size of length, and wherein the backend module includes hardware logic configured to: communicate a first buffer ready hardware logic signal to the host interface module, the first buffer The hardware logic signal indicates that during the -USB mass data transfer write operation, only one of the first buffer and the second buffer, the buffer is operable to receive the plurality of "parts"; And communicating to the host interface module __Second buffer ready hardware logic signal 'The second buffer ready hardware logic signal means: during a USB mass data transfer write operation, at least two:: The device can be configured to receive one of the plurality of discrete portions. 26. The coffee controller of claim 25, wherein the host interface module includes a cryptographic logic signal in response to a punctured packet received from the host and in response to receipt from the backend module And the second buffer is ready for the USB handshake packet generation logic of the hardware logic signal to generate a USB handshake packet for transmitting to the host. 27. The controller of claim 21, wherein the host interface module comprises: 127934-991221.doc 1343529 A direct 6 memory access (DMA) block is configured to manage the transfer in and out of the Data transfer of the buffer; and a MAC controller in communication with the DMA block, the mac controller configured to format and generate a USB handshake and data response packet for communication to the host. 28' The USB controller of claim 23, wherein the backend module includes hardware logic configured to communicate a buffer ready hardware logic signal to the host interface module, the buffer The ready hardware logic signal indicates that the at least one buffer is available to receive one of the plurality of discrete portions during a USB bulk data transfer read operation. 29. The controller of claim 28, wherein the host interface module includes a FIFO buffer and is configured to transmit in response to data transfer from the buffer to the host. An early buffer release hardware logic signal is generated to the backend module during the read operation. 3. The controller of claim 29, wherein the host interface module L is configured to respond to receipt of a confirmation handshake from the host to the backend during a bulk data transfer read operation The module generates a final buffer to release the hardware logic signal. 31. The USB back control module of claim 29 includes hardware ό ^ ^ ^ ^ = the hardware logic is in a state (4) the host interface module communicates 1 ready hardware logic signal, the buffer is ready Hardware exhaustion: During the (10) mass data transfer read operation, the up to 4 buffers can be used for one of the discrete components of the value of 4 $. '· Progress is configured to receive the 127934.991221.do, 1343529 - period buffer at the back end, after the hardware logic signal is released, if the buffer is ready for the hardware logic signal to indicate that the buffer is ready, then During a large data transfer item fetch operation, a data pre-fetch from the buffer memory to the FIF buffer is initiated. 32. The USB controller of claim 25, wherein the fixed length of the buffer size is 5 1 2 bytes. 33. The USB controller of claim 25, wherein the first buffer and the second buffer comprise contiguous memory spaces. 34. A universal serial bus (USB) peripheral device, the USB peripheral device comprising: a plurality of storage media adapted to receive data from a host or provide data to the host; and a USB controller comprising: a back-end module having a buffer memory configured to transfer data into or out of the mass storage medium; and a host interface module that communicates with the back-end module and is configured to The host communicates, wherein during a USB mass data transfer read or write operation, the backend module and the host interface are modular and configured to communicate via a data transfer status with respect to one of the USB controllers The logic signals communicate directly with each other, wherein the hardware logic signal is not stored as intermediate data between the host interface module and the back end module. 35. The USB peripheral device of claim 34, wherein the USB mass data transfer read or write operation comprises one of a plurality of discrete portions of the data 127934-99l221.doc 1343529 transmitted, each of the discrete portions of the material The person has a fixed length, and wherein the data transfer status includes the buffer memory processing one of the plurality of discrete portions being ready. 36. The USB peripheral device of claim 35, wherein the buffer memory includes at least one buffer having a buffer size equal to the fixed length. 37. The USB peripheral device of claim 36, wherein the backend module includes hardware logic configured to communicate a buffer ready hardware logic signal to the host interface module, the buffer The device ready hardware logic signal indicates that the at least one buffer is available to receive one of the plurality of discrete portions during a USB data transfer write operation. 38. The USB peripheral device of claim 35, wherein the buffer memory includes a first buffer and a second buffer, each of the first buffer and the second buffer having one equal to the a fixed length buffer size, and wherein the back end module includes hardware logic, the hardware logic group can: communicate to the host interface module - the first buffer ready hardware logic (four), the first The buffer ready hardware logic signal indicates that during the deletion of a large data transfer write operation, only one of the first buffer and the third money buffer is operable to receive the plurality of discrete cutters; The host interface is ready for the hardware logic signal, the first...the younger, the friend of the family is ready for the hardware logic to transfer one of the first parts during the write operation. The peripheral device for receiving the last plurality of discrete As, such as the request item 38, the host interface module includes l27934-99122l.doc 1343529 in response to the USB token packet received from the host and responding to the backend The modulo, and the received first buffer ready hardware logic signal and the second buffer ready hardware logic signal USB handshake packet generation logic to generate a USB handshake packet for transmission to the host. 40. The USB peripheral device of claim 34, wherein the mass storage medium comprises a non-volatile memory. % 41 is the USB peripheral device of claim 40, wherein the non-volatile record. The 13⁄4 body contains flash memory. 127934-991221.doc
TW96151485A 2006-12-31 2007-12-31 Method and apparatus for performing full transfer automation in a usb controller TWI343529B (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/618,865 US7802034B2 (en) 2006-12-31 2006-12-31 Method for performing full transfer automation in a USB controller
US11/618,867 US20080162737A1 (en) 2006-12-31 2006-12-31 USB Controller with Full Transfer Automation

Publications (2)

Publication Number Publication Date
TW200842601A TW200842601A (en) 2008-11-01
TWI343529B true TWI343529B (en) 2011-06-11

Family

ID=39156365

Family Applications (1)

Application Number Title Priority Date Filing Date
TW96151485A TWI343529B (en) 2006-12-31 2007-12-31 Method and apparatus for performing full transfer automation in a usb controller

Country Status (2)

Country Link
TW (1) TWI343529B (en)
WO (1) WO2008082530A1 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI493351B (en) * 2009-11-16 2015-07-21 Via Tech Inc Universal serial bus host control method and universal serial bus host controller utilizing the same
CN105184185B (en) * 2015-09-07 2018-09-21 南京伍安信息科技有限公司 For detaching storage and the key disks of restoring data and its detaching and restoring data method
TWI736092B (en) * 2019-12-31 2021-08-11 新唐科技股份有限公司 Usb device and accessing method thereof

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6928505B1 (en) * 1998-11-12 2005-08-09 Edwin E. Klingman USB device controller
JP3415567B2 (en) * 2000-06-21 2003-06-09 エヌイーシーマイクロシステム株式会社 USB transfer control method and USB controller
US6757776B1 (en) * 2002-07-17 2004-06-29 Cypress Semiconductor Corp. Control transaction handling in a device controller

Also Published As

Publication number Publication date
TW200842601A (en) 2008-11-01
WO2008082530A1 (en) 2008-07-10

Similar Documents

Publication Publication Date Title
US7802034B2 (en) Method for performing full transfer automation in a USB controller
US20080162737A1 (en) USB Controller with Full Transfer Automation
TWI434182B (en) External memory based first-in-first-out apparatus
TWI320142B (en) Bus connection system
JP3636157B2 (en) Data transfer control device, electronic device, and data transfer control method
US6889266B1 (en) Method for delivering packet boundary or other metadata to and from a device using direct memory controller
EP2423822B1 (en) Methods and apparatus for improved serial advanced technology attachment performance
JP2008502976A (en) Bus controller for processing split transactions
TW200537298A (en) A two channel bus structure to support address information, data, and transfer qualifiers
JP2004334417A (en) Data transfer control device, electronic device and data transfer control method
TW200917048A (en) Rate adaptation for support of full-speed USB transactions over a high-speed USB interface
CN108932207A (en) SDIO-WIFI data transmission method and system with buffer area
TWI343529B (en) Method and apparatus for performing full transfer automation in a usb controller
JPS62261249A (en) Circuit adaptor
JP3393127B2 (en) Communication terminal device and data transmission method thereof
CN110971621B (en) Embedded multi-CPU interconnection circuit based on SDIO interface, interconnection method and driving method
US7366802B2 (en) Method in a frame based system for reserving a plurality of buffers based on a selected communication protocol
US6006284A (en) Method and apparatus for driving a parallel part to provide multiple modes of communications between a host and a peripheral
CN1950810B (en) Backward-compatible parallel DDR bus for use in host-daughtercard interface
US7447826B2 (en) Receive buffer in a data storage system
TW561740B (en) Network connecting device and data packet transferring method
EP1195685B1 (en) A process for interfacing a microprocessor with a packet based device and respective system
JP2004013634A (en) Data transfer method
JP4127071B2 (en) Data transfer control device, electronic device, and data transfer control method
JP4410978B2 (en) Data transfer apparatus and operation control method thereof