WO1995006284B1 - Ata interface architecture employing state machines - Google Patents
Ata interface architecture employing state machinesInfo
- Publication number
- WO1995006284B1 WO1995006284B1 PCT/US1994/009386 US9409386W WO9506284B1 WO 1995006284 B1 WO1995006284 B1 WO 1995006284B1 US 9409386 W US9409386 W US 9409386W WO 9506284 B1 WO9506284 B1 WO 9506284B1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- state machine
- data
- read
- host processor
- write
- Prior art date
Links
- 230000000977 initiatory Effects 0.000 claims 2
- 238000000926 separation method Methods 0.000 claims 1
Abstract
An ATA interface apparatus (Fig. 5), within a storage system, for controlling the transfer of sectors of data between a host processor and a buffer (11) within the storage system in response to READ and WRITE command issued by the host processor, the apparatus (Fig. 5) comprising a Byte Count State Machine (4) for controlling the transfer of sectors of data between the host processor and the buffer (11), an Update Task File State Machine (5) having a machine cycle for decrementing by one the number of sectors still to be transferred after a sector has been transferred by the Byte Count State Machine (4), a Read State Machine (6) for controlling the processing of all READ commands issued by the host to the storage system and a Write State Machine (7) for controlling the processing of all WRITE commands issued by the host to the storage system.
Claims
1. An interface apparatus, within a storage system, for controlling the transfer of sectors of data between a host processor and a buffer within the storage system in response to READ and WRITE command issued by the host processor, said apparatus comprising; a Byte Count State Machine for controlling the transfer of a sector of data between said host processor and said buffer and for generating a signal indicating when said last byte of data has been transferred for a sector; a Update Task File State Machine having a machine cycle for decrementing by one the number of sectors still to be transferred after a sector has been transferred by said Byte Count State Machine and for causing a sector address to be generated for the next sector to be transferred by said Byte Count State Machine; a Read State Machine for controlling the processing of all READ commands issued by said host processor to said storage system and processing said received READ command in response to said last byte signal generated by said Byte Count State Machine and the initiation of machine cycles in said Update Task File State Machine to maintain the count of the number of sectors still to be read and the generation of then next sectors address where a next sector is to be read; and a Write State Machine for controlling the processing of all WRITE commands issued by said host processor to said storage system and processing said received WRITE command in response to said last byte signal generated by said Byte Count State Machine and the initiation of machine cycles in said Update Task File State Machine to maintain the count of the number of sectors still to be written and the generation of then next sectors address where a next sector is to be written.
2. The apparatus of Claim 1 further comprising; a data register for temporarily storing data received from said host processor or to be transferred to said host processor; a multiplexer for controlling the data path through said storage system between said buffer and said data register; a buffer controller for controlling the transferring of data into and out of said buffer; and said Byte Count State Machine transfers one byte of data at a time between said data register and said buffer by issuing control signals to said multiplexer and said buffer controller.
3. The apparatus of Claim 2 further comprising; a plurality of AT registers for providing the status of said storage system during the processing of a READ or WRITE command where the contents of said AT registers may be modified and read by said host processor, said Byte Count State Machine, said Update task File State Machine,said Read State Machine and said Write State Machine thereby providing communication paths between said host processor, said Byte Count State Machine, said Update task File State Machine,said Read State Machine and said Write State Machine to facilitate the processing of READ and WRITE commands issued by said host processor.
4. The apparatus of Claim 3 wherein; said data register stores two bytes of data for receiving and sending data words to said host processor where a data word is comprised of two bytes of data, a high byte and a low byte; and said Byte Count State Machine further includes: first means for controlling the separation of said two bytes of data stored in said data register into two sequential bytes of data to be stored in said buffer; and second means for controlling the combining of two sequential bytes from said buffer for storage in said data register to form a data word to be transferred to said host processor.
5. The apparatus of Claim 3 wherein said Read State Machine comprises: third means for generating a gate first word signal to said Byte Count State Machine to allow the first data word to be formed in said data register by said Byte Count State Machine prior to a first request for a data word being generated by said host processor during a READ command.
6. The apparatus of Claim 5 wherein said AT registers comprise: a block count register for storing the number of sectors to be transferred for the block; and said Read State Machine further comprises: fifth means for setting said block count register to a value of 1 for all READ commands except a MULTIPLE READ command, said Read State Machine in response to a value of 1 in said block count register processing all READ commands in the same manner resulting in an increase in overall efficiency of said storage system in processing READ commands.
7. The apparatus of Claim 6 wherein said Write State Machine further comprises: sixth means for setting said block count register to a value of 1 for all WRITE command except a MULTIPLE WRITE command, said Write State Machine in response to a value of 1 in said block count register processing all WRITE commands in the same manner resulting in an increase in overall efficiency of said storage system in processing WRITE commands.
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE69433548T DE69433548D1 (en) | 1993-08-24 | 1994-08-22 | ATA INTERFACE ARCHITECTURE WITH APPLICATION OF STATE MACHINES |
EP94925958A EP0715735B9 (en) | 1993-08-24 | 1994-08-22 | Ata interface architecture employing state machines |
JP07507677A JP3137293B2 (en) | 1993-08-24 | 1994-08-22 | ATA interface architecture using state machine |
AT94925958T ATE259515T1 (en) | 1993-08-24 | 1994-08-22 | ATA INTERFACE ARCHITECTURE USING STATE MACHINES |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US08/110,883 US5465338A (en) | 1993-08-24 | 1993-08-24 | Disk drive system interface architecture employing state machines |
US110,883 | 1993-08-24 |
Publications (2)
Publication Number | Publication Date |
---|---|
WO1995006284A1 WO1995006284A1 (en) | 1995-03-02 |
WO1995006284B1 true WO1995006284B1 (en) | 1995-04-20 |
Family
ID=22335437
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/US1994/009386 WO1995006284A1 (en) | 1993-08-24 | 1994-08-22 | Ata interface architecture employing state machines |
Country Status (6)
Country | Link |
---|---|
US (1) | US5465338A (en) |
EP (1) | EP0715735B9 (en) |
JP (1) | JP3137293B2 (en) |
AT (1) | ATE259515T1 (en) |
DE (1) | DE69433548D1 (en) |
WO (1) | WO1995006284A1 (en) |
Families Citing this family (63)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5218691A (en) * | 1988-07-26 | 1993-06-08 | Disk Emulation Systems, Inc. | Disk emulation system |
US5754889A (en) * | 1993-12-22 | 1998-05-19 | Adaptec, Inc. | Auto write counter for controlling a multi-sector write operation in a disk drive controller |
US5805857A (en) * | 1994-04-07 | 1998-09-08 | International Business Machines Corporation | DASD capacity in excess of 528 megabytes apparatus and method for personal computers |
JPH08137634A (en) * | 1994-11-09 | 1996-05-31 | Mitsubishi Electric Corp | Flash disk card |
JP3706167B2 (en) * | 1995-02-16 | 2005-10-12 | 株式会社ルネサステクノロジ | Semiconductor disk device |
US5845313A (en) | 1995-07-31 | 1998-12-01 | Lexar | Direct logical block addressing flash memory mass storage architecture |
US6978342B1 (en) | 1995-07-31 | 2005-12-20 | Lexar Media, Inc. | Moving sectors within a block of information in a flash memory mass storage architecture |
US6728851B1 (en) | 1995-07-31 | 2004-04-27 | Lexar Media, Inc. | Increasing the memory performance of flash memory devices by writing sectors simultaneously to multiple flash memory devices |
DE19541946A1 (en) * | 1995-11-10 | 1997-05-15 | Daimler Benz Aerospace Ag | Memory access control for thirty-two bit high power third generation microprocessor e.g. Motorola MC 68040 (RTM) |
JPH09319665A (en) * | 1996-05-30 | 1997-12-12 | Nec Corp | Data backup system for writable/readable non-volatile memory |
JPH1021012A (en) * | 1996-06-28 | 1998-01-23 | Toshiba Corp | Magnetic disk device and command processing method for the same |
US6115787A (en) * | 1996-11-05 | 2000-09-05 | Hitachi, Ltd. | Disc storage system having cache memory which stores compressed data |
US6523105B1 (en) * | 1997-04-16 | 2003-02-18 | Sony Corporation | Recording medium control device and method |
US6157984A (en) * | 1997-05-15 | 2000-12-05 | Seagate Technology, Llc | Integrated controller/processor for disc drive having direct memory access |
US6170031B1 (en) * | 1997-07-08 | 2001-01-02 | Seagate Technology Llc | Read/write state machines for transferring data to/from host interface in a digital data storage system |
US6191904B1 (en) * | 1997-11-14 | 2001-02-20 | Castlewood Systems, Inc. | Data sector timing compensation technique based upon drive eccentricity |
FR2771526B1 (en) * | 1997-11-27 | 2004-07-23 | Bull Sa | ARCHITECTURE FOR MANAGING VITAL DATA IN A MULTI-MODULAR MACHINE AND METHOD FOR IMPLEMENTING SUCH AN ARCHITECTURE |
US6009547A (en) * | 1997-12-03 | 1999-12-28 | International Business Machines Corporation | ECC in memory arrays having subsequent insertion of content |
US7538694B2 (en) * | 1999-01-29 | 2009-05-26 | Mossman Holdings Llc | Network device with improved storage density and access speed using compression techniques |
US6885319B2 (en) * | 1999-01-29 | 2005-04-26 | Quickshift, Inc. | System and method for generating optimally compressed data from a plurality of data compression/decompression engines implementing different data compression algorithms |
US6819271B2 (en) | 1999-01-29 | 2004-11-16 | Quickshift, Inc. | Parallel compression and decompression system and method having multiple parallel compression and decompression engines |
US6145069A (en) * | 1999-01-29 | 2000-11-07 | Interactive Silicon, Inc. | Parallel decompression and compression system and method for improving storage density and access speed for non-volatile memory and embedded memory devices |
JP2000305716A (en) | 1999-04-23 | 2000-11-02 | Sony Corp | Disk controller and disk control method |
US6470459B1 (en) * | 1999-11-29 | 2002-10-22 | Texas Instruments Incorporated | Half-word synchronization method for internal clock |
US7102671B1 (en) | 2000-02-08 | 2006-09-05 | Lexar Media, Inc. | Enhanced compact flash memory card |
US6564292B2 (en) * | 2000-07-12 | 2003-05-13 | Seagate Technology Llc | Optimizing allocation of sectors in disc drives |
SG106058A1 (en) * | 2000-07-12 | 2004-09-30 | Seagate Technology Llc | Optimizing the allocation of sectors in audio video disc drives |
US6766360B1 (en) | 2000-07-14 | 2004-07-20 | Fujitsu Limited | Caching mechanism for remote read-only data in a cache coherent non-uniform memory access (CCNUMA) architecture |
US7167944B1 (en) | 2000-07-21 | 2007-01-23 | Lexar Media, Inc. | Block management for mass storage |
US6728876B1 (en) * | 2000-12-27 | 2004-04-27 | Cisco Technology, Inc. | Method and apparatus to use non-volatile read/write memory for bootstrap code and processes by relocating write instructions |
US6754776B2 (en) | 2001-05-17 | 2004-06-22 | Fujitsu Limited | Method and system for logical partitioning of cache memory structures in a partitoned computer system |
US6961761B2 (en) * | 2001-05-17 | 2005-11-01 | Fujitsu Limited | System and method for partitioning a computer system into domains |
US7380001B2 (en) * | 2001-05-17 | 2008-05-27 | Fujitsu Limited | Fault containment and error handling in a partitioned system with shared resources |
US6862634B2 (en) * | 2001-06-29 | 2005-03-01 | Fujitsu Limited | Mechanism to improve performance in a multi-node computer system |
GB0123421D0 (en) | 2001-09-28 | 2001-11-21 | Memquest Ltd | Power management system |
GB0123416D0 (en) | 2001-09-28 | 2001-11-21 | Memquest Ltd | Non-volatile memory control |
GB0123417D0 (en) | 2001-09-28 | 2001-11-21 | Memquest Ltd | Improved data processing |
GB0123410D0 (en) | 2001-09-28 | 2001-11-21 | Memquest Ltd | Memory system for data storage and retrieval |
GB0123415D0 (en) | 2001-09-28 | 2001-11-21 | Memquest Ltd | Method of writing data to non-volatile memory |
GB0123419D0 (en) | 2001-09-28 | 2001-11-21 | Memquest Ltd | Data handling system |
US6950918B1 (en) | 2002-01-18 | 2005-09-27 | Lexar Media, Inc. | File management of one-time-programmable nonvolatile memory devices |
US6957295B1 (en) | 2002-01-18 | 2005-10-18 | Lexar Media, Inc. | File management of one-time-programmable nonvolatile memory devices |
US7231643B1 (en) | 2002-02-22 | 2007-06-12 | Lexar Media, Inc. | Image rescue system including direct communication between an application program and a device driver |
US6751686B2 (en) * | 2002-03-08 | 2004-06-15 | Hewlett-Packard Development Company, L.P. | Automated transfer of a data unit comprising a plurality of fundamental data units between a host device and a storage medium |
US20040243284A1 (en) * | 2003-05-28 | 2004-12-02 | Caterpillar Inc. | Methods and systems for modifying flash files |
US6973519B1 (en) | 2003-06-03 | 2005-12-06 | Lexar Media, Inc. | Card identification compatibility |
TWI243993B (en) * | 2003-08-29 | 2005-11-21 | Ali Corp | Protection method for DVD player/recorder against copy |
WO2005059854A2 (en) | 2003-12-17 | 2005-06-30 | Lexar Media, Inc. | Electronic equipment point-of-sale activation to avoid theft |
US7725628B1 (en) | 2004-04-20 | 2010-05-25 | Lexar Media, Inc. | Direct secondary device interface by a host |
US7370166B1 (en) | 2004-04-30 | 2008-05-06 | Lexar Media, Inc. | Secure portable storage device |
JP4209820B2 (en) * | 2004-07-15 | 2009-01-14 | 株式会社ハギワラシスコム | Memory card system, write-once memory card used in the memory card system, system comprising host system and semiconductor storage device |
US7464306B1 (en) | 2004-08-27 | 2008-12-09 | Lexar Media, Inc. | Status of overall health of nonvolatile memory |
US7594063B1 (en) | 2004-08-27 | 2009-09-22 | Lexar Media, Inc. | Storage capacity status |
KR100877609B1 (en) * | 2007-01-29 | 2009-01-09 | 삼성전자주식회사 | Semiconductor memory system performing data error correction using flag cell array of buffer memory and driving method thereof |
CN101127785B (en) * | 2007-09-14 | 2010-09-29 | 福建星网锐捷网络有限公司 | Interface transformation transmission and receiving method and device between PF interface and SPI3 interface |
US7827320B1 (en) | 2008-03-28 | 2010-11-02 | Western Digital Technologies, Inc. | Serial ATA device implementing intra-command processing by detecting XRDY primitive while in the XRDY state |
US8856390B1 (en) | 2008-03-28 | 2014-10-07 | Western Digital Technologies, Inc. | Using device control field to implement non-disruptive notification of an ATA device |
US8458568B2 (en) * | 2010-09-24 | 2013-06-04 | International Business Machines Corporation | Systems and methods for memory devices |
US8392635B2 (en) | 2010-12-22 | 2013-03-05 | Western Digital Technologies, Inc. | Selectively enabling a host transfer interrupt |
US9632711B1 (en) | 2014-04-07 | 2017-04-25 | Western Digital Technologies, Inc. | Processing flush requests by utilizing storage system write notifications |
US9645752B1 (en) | 2014-04-07 | 2017-05-09 | Western Digital Technologies, Inc. | Identification of data committed to non-volatile memory by use of notification commands |
US9626119B2 (en) * | 2014-11-14 | 2017-04-18 | Intel Corporation | Using counters and a table to protect data in a storage device |
US10936404B2 (en) * | 2018-06-30 | 2021-03-02 | Intel Corporation | Technologies for error detection in compressed data streams |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1993003438A1 (en) * | 1991-08-07 | 1993-02-18 | Adaptec, Incorporated | Intelligent hardware for automatically reading and writing multiple sectors of data between a computer bus and a disk drive |
US5276662A (en) * | 1992-10-01 | 1994-01-04 | Seagate Technology, Inc. | Disc drive with improved data transfer management apparatus |
-
1993
- 1993-08-24 US US08/110,883 patent/US5465338A/en not_active Expired - Lifetime
-
1994
- 1994-08-22 EP EP94925958A patent/EP0715735B9/en not_active Expired - Lifetime
- 1994-08-22 WO PCT/US1994/009386 patent/WO1995006284A1/en active IP Right Grant
- 1994-08-22 JP JP07507677A patent/JP3137293B2/en not_active Expired - Fee Related
- 1994-08-22 DE DE69433548T patent/DE69433548D1/en not_active Expired - Lifetime
- 1994-08-22 AT AT94925958T patent/ATE259515T1/en not_active IP Right Cessation
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO1995006284B1 (en) | Ata interface architecture employing state machines | |
JPH0363096B2 (en) | ||
US7640375B2 (en) | DMA controller, method, information processing system, and program for transferring information blocks comprising data and descriptors | |
US5127088A (en) | Disk control apparatus | |
EP0358424B1 (en) | Data transfer method | |
US4032898A (en) | Interface control unit for transferring sets of characters between a peripheral unit and a computer memory | |
US5107416A (en) | Arrangement for simultaneously dealing with transfer requests produced by central, arithmetic and input-output processors of a super computer | |
JPH0792779B2 (en) | Data transfer controller | |
JPS5833571B2 (en) | You can do it yourself. | |
KR920007949B1 (en) | Peripheral controller | |
EP0080878A2 (en) | Cache memory and method of control for use with magnetic disks | |
JPS61127026A (en) | Optical disk controller | |
JPH0222748A (en) | Non-volatile memory control circuit | |
JP2581144B2 (en) | Bus control device | |
JPS6362006B2 (en) | ||
SU1476434A1 (en) | Program control device for process equipment | |
JPS61127025A (en) | Optical disk controller | |
JPH06314251A (en) | Scsi data transfer device | |
JPS5985560A (en) | File management device | |
JPH06161945A (en) | Memory data transfer device | |
JPS62168246A (en) | Memory writing control system | |
JPH0315217B2 (en) | ||
JPS61210464A (en) | Data buffer device | |
JPH01195563A (en) | Bus controller | |
JPH0644012A (en) | Data transfer system using pseudo magnetic disk device |