WikiPatents - Community Patent Review
Create Free Account  |  License or Sell Your Patent  |  WikiPatents Marketplace  |  WikiPatents Blog
Username:  Password:  
    
Advanced Search
Device and method for controlling solid-state memory system    
United States Patent6715044   
Link to this pagehttp://www.wikipatents.com/6715044.html
Inventor(s)Lofgren; Karl M. J. (Newport Beach, CA); Stai; Jeffrey Donald (Placentia, CA); Gupta; Anil (Irvine, CA); Norman; Robert D. (San Jose, CA); Mehrotra; Sanjay (Milipitas, CA)
AbstractA memory system includes an array of solidstate memory devices which are in communication with and under the control of a controller module via a device bus with very few lines. This forms an integrated-circuit mass storage system which is contemplated to replace a mass storage system such as a disk drive memory in a computer system. Command, address and data information are serialized into component strings and multiplexed before being transferred between the controller module and the array of memory devices. The serialized information are is accompanied by a control signal to help sort out the multiplexed components. Each memory device in the array is mounted on a multi-bit mount and assigned an array address by it an array mount. An A memory device is selected by an appropriate address broadcast over the device bus, without requiring the usual dedicated select signal. A reserved array particular mount multi-bit configuration is used to unconditionally select the device mounted thereon. A reserved predefined address broadcast over the device bus deselects all previously selected memory devices. Read performance is enhanced by a read streaming technique in which while a current chunk of data is being serialized and shifted out of the memory subsystem devices to the controller module, the controller module is also setting up the address for the next chunk of data to begin to address the memory system.
   














 Title Information Submit all comments and votes
 
Patent Text Patent PDF Print Page Summary File History
Plain text PDF images Print Summary File History
Inventor     Lofgren; Karl M. J. (Newport Beach, CA); Stai; Jeffrey Donald (Placentia, CA); Gupta; Anil (Irvine, CA); Norman; Robert D. (San Jose, CA); Mehrotra; Sanjay (Milipitas, CA)
Owner/Assignee     SanDisk Corporation (Sunnyvale, CA); Western Digital Corporation (Lake Forest, CA)
Patent assignment
All assignments
Publication Date     March 30, 2004
Application Number     09/939,290
PAIR File History     Application Data   Transaction History
Image File Wrapper   Patent Term   Fees
Litigation
Filing Date     August 22, 2001
US Classification     711/154 711/103
Int'l Classification     G06F 012/00
Examiner     Ellis; Kevin L.
Assistant Examiner    
Attorney/Law Firm     Parsons Hsue & de Runtz LLP
Address
Parent Case     CROSS REFERENCE TO RELATED APPLICATIONS This application is continuation of application Ser. No. 09/657,369, filed on Sep. 8, 2000, now U.S. Pat. No. 6,317,812, which in turn is a continuation of application Ser. No. 09/064,528, filed on Apr. 21, 1998, now U.S. Pat. No. 6,148,363, which in turn is a continuation of application Ser. No. 08/931,193, filed on Sep. 16, 1997, now U.S. Pat. No. 5,806,070, which in turn is a continuation of application Ser. No. 08/396,488, filed on Mar. 2, 1995, now abandoned, which in turn is a divisional of application Ser. No. 07/736,733, filed on Jul. 26, 1991, now U.S. Pat. No. 5,430,859.
Priority Data    
USPTO Field of Search     06/F. 1200
Patent Tags     controlling solid-state memory
   
Enter a comma (,) or semicolon (;) between multiple tag words/phrases.
Describe this patent:
 Amusing   
 Clever   
 Complex   
 Efficient   
 Historic   
 Important   
 Innovative   
 Interesting   
 Practical   
 Simple   
[no votes]
Patent WIKI

Share information and news about this patent, including information and news about the technology, inventors, company, ligation and licensing.

 References Submit all comments and votes
 
*references marked with an asterisk below are user-added references
 U.S. References
 
Add a new US reference:  
ReferenceRelevancyCommentsReferenceRelevancyComments
5430859
Norman
711/103
Jul,1995

[0 after 0 votes]
5297148
Harari

Mar,1994

[0 after 0 votes]
5200959
Gross
714/723
Apr,1993

[0 after 0 votes]
5172338
Mehrotra
365/185.03
Dec,1992

[0 after 0 votes]
5163021
Mehrotra
365/185.03
Nov,1992

[0 after 0 votes]
5070474
Tuma

Dec,1991

[0 after 0 votes]
4896262
Wayama
710/65
Jan,1990

[0 after 0 votes]
4398248
Hsia
365/230.03
Aug,1983

[0 after 0 votes]
 Foreign References
 Other References
 Market Review Submit all comments and votes
   
Market Size
Estimate the gross annual revenues of the relevant market sector:
> $10B
$5B - $10B
$2B - $5B
$500M - $2B
$100M - $500M
$10M - $100M
$1M - $10M
$500K - $1M
$100K - $500K
< $100K
[No votes]
$0
 
$0   $2.5B   $5B   $7.5B   $10B
Market Share
Estimate the percentage of the relevant market sector this invention will capture:
75% - 100%
50% - 74.99%
25% - 49.99%
10 - 24.99%
5 - 9.99%
2 - 4.99%
1 - 1.99%
< 1%
[No votes]
0.0%
 
0%   25%   50%   75%   100%
Reasonable Royalty
What percentage of gross sales should the inventor or assignee be paid?
75% - 100%
50% - 74.99%
25% - 49.99%
10 - 24.99%
5 - 9.99%
2 - 4.99%
1 - 1.99%
< 1%
[No votes]
0.0%
 
0%   25%   50%   75%   100%
Public's "Guesstimation" of Royalty Value
Market SizeN/A[No votes]
xMarket ShareN/A[No votes]
xReasonable RoyaltyN/A[No votes]

N/A

License Availablity
If you are NOT the owner or assignee, answer here:
Yes, license is available for purchase

No, license is not currently available



[No votes]
License Availablity
If you ARE the owner or assignee, answer here:
Yes, license is available for purchase

No, license is not currently available



[No votes]
Competitive Advantage
Does this invention have a significant competitive advantage over similar technologies?
Yes

No



[No votes]
Most helpful competitive advantage comment
[No comments]

Commercial Alternatives
Are there viable commercial alternatives for this invention?
Yes

No



[No votes]
Most helpful commercial alternative comment
[No comments]

 Technical Review Submit all comments and votes
 Claims Submit all comments and votes
 


It is claimed:

1. A mass storage system for use with a computer system, comprising:

a plurality of solid-state memory device chips, each having a large number of memory cells partitioned into individually addressable chunks for write or read operations, said memory cells being organized into one or more sectors individually addressable for erase operation;

a memory chip controller for controlling the plurality of memory chips, said memory chip controller being adapted to communicate with the computer system; and

a device bus for connecting said memory chip controller to each of said plurality of solid-state memory chips, said device bus carrying serialized address, data and command information, thereby substantially reducing the number of connections therebetween.

2. A mass storage system as in claim 1, wherein the memory chips are flash EEPROM devices.

3. A mass storage system as in claim 1, wherein the device bus includes two serial-in lines, two serial-out lines, a clock line, a master chip-select line, a serial protocol control line, and a plurality of power lines.

4. A mass storage system as in claim 3, wherein the memory chips are flash EEPROM devices.

5. A mass storage system as in claim 1, wherein the device bus consists of two serial-in lines, two serial-out lines, a clock line, a master chip-select line, a serial protocol control line, and a plurality of power lines.

6. A mass storage system as in claim 5, wherein the memory chips are flash EEPROM devices.

7. A mass storage system as in claim 1, wherein the mass storage system is adapted to communicate with the computer system via a standard computer system bus, and wherein the mass storage system is adapted to be powered by a standard power supply within the computer system.

8. A mass storage system as in claim 7, wherein the memory chips are flash EEPROM devices.

9. A mass storage system as in claim 1, wherein the mass storage system is adapted to communicate with the computer system via a standard computer bus interface, and wherein the mass storage system is adapted to be powered by a standard power supply within the computer system.

10. A mass storage system as in claim 9, wherein the memory chips are flash EEPROM devices.

11. A mass storage system as in claim 1, further including:

one or more backplanes each containing a plurality of mounts, each said plurality of mounts adapted to receive one of the plurality of memory chips;

an extension of the device bus to each of the plurality of mounts for connection to the memory chip thereon;

a set of device-select pinouts on each memory chip;

a set of corresponding pads on each mount for connection to the set of device-select pinouts of the memory chips mounted thereon, said set of corresponding pads having a predetermined configuration of grounded pads to define a mount address and therefore a unique array address for each memory chip mounted on each said one or more backplanes.

12. A mass storage system as in claim 11, wherein the memory chips are flash EEPROM devices.

13. A mass storage system as in claim 11, each said memory chip further including:

a device select circuit for enabling the memory chip thereof whenever ap array address received from the device bus coincides with the array address obtained from the set of device-select pinouts as defined by the predetermined configuration of grounded bonding pads.

14. A mass storage system as in claim 13, wherein the memory chips are flash EEPROM devices.

15. A mass storage system as in claim 13, said device select circuit further including:

means responsive to an asserting chip-select signal and a clock signal from the device bus for converting a serialized array address from the device bus to a corresponding parallel array address; and

means for asserting a memory chip-select signal whenever a match occurs between the corresponding parallel array address and the array address obtained from the set of device-select pinouts as defined by the predetermined configuration of grounded bonding pads.

16. A mass storage system as in claim 15, wherein the memory chips are flash EEPROM devices.

17. A mass storage system as in claim 13, wherein said device select circuit further including:

a master-select circuit for enabling the memory chip thereof whenever said set of corresponding pads are configured with a predetermined, master-select grounding configuration.

18. A mass storage system as in claim 17, wherein the memory chips are flash EEPROM devices.

19. A mass storage system as in claim 17, wherein the memory chip is enabled by said master-select circuit and a dedicated chip select signal.

20. A mass storage system as in claim 19, wherein the memory chips are flash EEPROM devices.

21. A mass storage system as in claim 11, wherein said device select circuit further including:

a device deselect circuit for disabling each memory chip thereof whenever an array address received from the device bus coincides with a predetermined address.

22. A mass storage system as in claim 21, wherein the memory chips are flash EEPROM devices.

23. A mass storage system as in claim 1, further including:

one or more memory submodules each containing a plurality of memory-device mounts, each memory-device mount adapted to receive one of the plurality of memory chips;

one or more backplanes each containing a plurality of submodule mounts adapted to receive one of the plurality of memory submodules;

an extension of the device bus to each memory submodule for connection to each memory-device mount and therefore to each memory chip thereon;

a set of device-select pinouts on each memory chip;

a set of corresponding pads on each memorydevice mount for connection to the set of device-select pinouts of the memory chips mounted thereon, said set of corresponding pads being partitioned into first and second subsets of pads;

said first subset of pads capable of providing group of grounded pads configurations to define unique addresses for all memory-device mounts and therefore addresses for corresponding memory chips mounted on each memory submodule; and

said second subset of pads being connected to corresponding pads on each submodule mount and capable of providing a second group of grounded pads configurations to define unique addresses for all submodule mounts and therefore addresses for corresponding memory submodules mounted on each backplane.

24. A mass storage system as in claim 23, wherein the memory chips are flash EEPROM devices.

25. A mass storage system as in claim 23, each said memory chip further including:

a device select circuit for enabling the memory chip thereof whenever an array address received from the device bus coincides with the array address obtained from the set of device-select pinouts as defined by the predetermined configuration of grounded bonding pads.

26. A mass storage system as in claim 25, wherein the memory chips are flash EEPROM devices.

27. A mass storage system as in claim 25, said device select circuit further including:

means responsive to an asserting chip-select signal and a clock signal from the device bus for converting a serialized array address from the device bus to a corresponding parallel array address; and

means for asserting a memory chip-select signal whenever a match occurs between the corresponding parallel array address and the array address obtained from the set of device-select pinouts as defined by the predetermined configuration of grounded bonding pads.

28. A mass storage system as in claim 27, wherein the memory chips are flash EEPROM devices.

29. A mass storage system as in claim 25, wherein said device select circuit further including: a master-select circuit for enabling the memory chip thereof whenever said set of corresponding pads are configured with a predetermined, master-select grounding configuration.

30. A mass storage system as in claim 29, wherein the memory chips are flash EEPROM devices.

31. A mass storage system as in claim 29, wherein the memory chip is enabled by said master-select circuit and a dedicated chip select signal.

32. A mass storage system as in claim 31, wherein the memory chips are flash EEPROM devices.

33. A mass storage system as in claim 23, wherein said device select circuit further including:

a device deselect circuit for disabling each memory chip thereof whenever an array address received from the device bus coincides with a predetermined address.

34. A mass storage system as in claim 33, wherein the memory chips are flash EEPROM devices.

35. A mass storage system as in claim 1, each said solid-state memory device further including:

a serial protocol logic for controlling the protocol of the serialized address, data and command information carried in the device bus, said serial protocol logic comprising;

means for routing and converting serialized addresses from the device bus to a parallel address bus;

means for routing and converting serialized data from the device bus to a parallel data bus;

means for routing and converting serialized command codes from the device bus to a plurality of parallel command lines;

a pointer shift register means for capturing a code from the device bus;

a pointer decode means for selectively enable said one of the routing and converting means; and

a serial protocol control signal from the device bus for enabling said pointer shift register means for capturing the code from the device bus while disabling said converting means, and for disabling said pointer shift register means after the code has been captured and enabling said routing and converting means.

36. A mass storage system as in claim 35, wherein the memory chips are flash EEPROM devices.

37. A method for transferring command, address and data information between two system via a serial bus connected therebetween, comprising the steps of:

serializing each command, address or data information into respective string components;

providing a code tag to each respective string component;

multiplexing the respective string components into a serial stream so that each respective string component has a definite start and end time sequence and is preceded by its corresponding tag code;

providing a serial protocol control signal which provides a time reference for the start and end of each respective string component in the serial stream;

transferring the serial stream and the serial protocol control signal from one system to another system;

detecting the start and end of each respective string component in the serial stream by reference to the serial protocol control signal;

reading,the tag code of each respective string component and routing each respective string component in the serial stream accordingly, thereby extracting each command, address or data string components from the serial stream in the other system.

38. A method as in claim 37, further comprising the step of:

converting each routed command, address and data information back to a parallel format.

39. In a memory system having at least one memory device in communication with a controller, said memory device transferring data with the controller serially, an improved method of reading data stored in the memory device, comprising the steps of:

reading a new chunk of data as a current chunk of data from the memory device in parallel;

converting the current chunk of read data from parallel to serial format and shifting out to the controller;

setting up the address for the next chunk of data to be read and sending it from the controller to the memory device while the current chunk of data is being shifted out from the memory device to the controller;

accessing the memory device with the address for the next chunk of data while the current chunk of data is being shifted out from the memory device to the controller; and

repeating all the above steps, after the current chunk has been shifted out of the memory device, until all chunks to be read have been shifted out of the memory device.
 Description Submit all comments and votes
 


BACKGROUND OF THE INVENTION

This invention relates generally to a device and method for electronic data communication and particularly that between a memory controller and an array of memory chips.

Conventional memory system design uses a large number of parallel signals for the addressing, data transfer, and control of system operations. This is a very convenient means of configuring memory systems and results in very fast system operation. This is particularly true for integrated circuit, random access memory devices.

A disadvantage arises from this approach in that a large number of signal lines needs to be routed to each and every memory device in the memory system. This entails rather inefficient use of printed circuit board area and large cables and backplanes. Also, the system power supply must have higher capacity in order to deliver higher peak power for parallel signalling. In most cases, however, this inefficiency must be tolerated in order to achieve best possible speed of operation.

In some applications, on the other hand, it is possible to employ a serial link between two systems in order to reduce the number of cables therebetween, as well as the size of the cables, backplanes, and circuit boards in the systems. Overall, physical density can be dramatically improved over conventional methods, in that circuit boards can be made smaller and the total physical volume required for the connecting systems can be reduced. However, serial connections are usually slower than their parallel counterparts.

It is desirable to have simple connections between a memory controller and an array of memory devices, without compromising performance.

SUMMARY OF THE INVENTION

Accordingly, it is an object of the present invention to simplify the connections between two systems with minimum compromise on performance.

It is another object of the present invention to simplify the connections between a controller and an array of solid-state memory devices.

It is another object of the invention to provide means and method for improvements in selecting one or more memory devices within the a memory array for communication.

It is also an object of the invention to provide means and method for de-selecting the improvements in deselecting memory devices which have previously been selected for communication.

It is yet another object of the present invention to allow the memory devices of the memory array to be configured so that they are all enabled for simultaneous communication.

It is yet another object of the present invention to improve the speed of the memory devices.

These and additional objects are accomplished by improvements in the architecture of a system comprising a memory controller and an array of solidstate memory devices, and the circuits and techniques therein.

According to one aspect of the invention, an array of solid-state memory devices are in communication with and under the control of a controller module via a device bus with minimum lines. This forms an integratedcircuit memory system which is contemplated to replace a mass storage system such as a disk drive memory in a computer system. Command, address and data information are serialized and multiplexed before being transferred between the controller module and the memory subsystem. The serialized information are is accompanied by a control signal to help sort out the multiplexed components. When the control signal is asserted, a circuit on each memory device of the subsystem interprets the serialized bits of information as a pointer code. After the control signal is de-asserted, deasserted, the each device routes subsequent bits of the serialized information to the appropriate command, address or data registers according to the type of information pointed to by the code.

The present invention uses a serial link to interconnect between the solid-state memory devices and the controller module. The serial link greatly reduces the number of interconnections and the number of external pads for each device, thereby reducing cost. Also expansion of the memory capacity of the system is simply achieved by a higher packing density of devices on standard printed circuit boards. It is not necessary to have a variety of circuit boards for each density, since the number of address and chip select signals does not change with capacity.

An important aspect of the invention is to employ a broadcast select scheme to select or enable a given memory device chip among an array of chips in a memory board or memory module. Each memory device chip has a multi-bit set of pinouts that is connected internally to a device select circuit and externally to a multi-bit mount on the memory module's backplane. Each multi-bit mount on the backplane is preconfigured pre-configured or keyed to a given address (represented by a multi-bit combination of "0"s and "1"s) according to its location in the array. In one embodiment, the terminals in the multi-bit mount corresponding to the "0" bit are set to ground potential. When a memory chip is powered on, the address of the array as defined by the mount key is passed onto the device select circuit of the chip. To select a given memory chip, the correct array address for that chip is sent to all the chips in the array via the interconnecting serial bus. This address is compared at each chip with that it acquired from its each chips mount, and the chip that matched is selected or enabled by its device select circuit. A memory chip remains selected until explicitly deselected, allowing more than one memory chip to be enabled at a time.

The invention provides a simple scheme for assigning an array address to each of the chips mounted on a memory module's backplane. By providing the keying at the backplane instead of at the memory chips, the memory chips can be made generic. This also avoids the need for conventional use of using conventional individual chip select to enable each memory chip. This results in very low pin count in multi-chip modules, especially that of socketed modules, enabling high density package packing of memory chips on memory modules.

According to another aspect of the invention, the array of memory chips may be distributed over a plurality of memory modules. Each of the memory modules can be enabled by a module select signal from the controller module.

According to another aspect of the invention, each memory module may be further partitioned into a plurality of memory submodules. These submodules may be mounted on a memory module's backplane and are all enabled by the same module select signal. The multi-bit address in the multi-bit mount for each memory device is partitioned into two subsets. The permutations of one subset are used to provide the different memory-device addresses on a memory submodule. The permutations of the other subset are used to provide the different memory-submodule addresses on a memory module. Thus, there is a pre-configured preconfigured multi-bit mount for each memory submodule on the memory module's backplane.

According to another aspect of the invention, one particular key among the permutations of the multibit mounts is reserved as a "master key" to unconditionally have each device select circuit enable its chip. In the preferred embodiment, this "master key" is given by having all the bits of a multi-bit mount not grounded. This allows a group of chips with this "master key" mount to be selected together.

According to yet another aspect of the invention, the broadcast select scheme has a reserved code that can be communicated to the array of memory chips on the backplane in order to deselect all previously selected chips. In the preferred embodiment, a select sequence of shifting in a pattern of all ones results in a global deselect.

Another important aspect of the invention is to implement a streaming read scheme to improve the read access of the memory system. While a chunk (e.g. 64 bits) of data is being read from the memory cells, serialized and shifted out of a memory chip, the address for the next chunk is being setup and sent to the memory chip to begin accessing the next chunk of data. The overlapping operations of reading out of one chunk of data and staging for the access of the next chunk of data greatly improve the read access speed of the memory system.

As mentioned before, the use of a serial link is unconventional for integrated circuit memory chips. These memory devices are typically random-access memories which are designed for high speed access and therefore employ parallel address and data buses. Serializing the command, address and data information for these devices is unconventional since it may require more circuitry than conventional parallel access, and may result in slower access. However, the present invention, when used in a block transfer regime (e.g., reading 4096 consecutive user bits at a time, is relatively insensitive to access time, the speed being determined largely by the data throughput once reading has begun. The present invention recognizes that employment of a serial link in the present EEPROM electrically erasable programmable read only memory ("EEPROM")system architecture, particularly with the features of broadcast selection and streaming read, results in simplified connections therein without compromising access speed for the intended application.

Additional objects, features and advantages of the present invention will be understood from the following description of the preferred embodiments, which description should be taken in conjunction with the accompanying drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1A is a general microprocessor system connecting connected via a bus interface to a solid-state mass storage system according to a preferred embodiment of the present invention;

FIG. 1B is a general microprocessor system connecting connected directly via a system bus to a solid-state mass storage system according to another preferred embodiment of the present invention;

FIG. 2A illustrates schematically the solidstate memory module having arranged as an array of memory devices mounted on "keyed" mounts in a memory board backplane;

FIG. 2B illustrates schematically another memory partition module arrangement in which a plurality of memory submodules are being mounted on "keyed" mounts on the backplane of the solid-state memory module, and a plurality of memory devices is being mounted on "keyed" mounts on each memory submodule;

FIG. 3 illustrates a "radial select" configuration of the memory devices in FIG. 2 in which the mounts all have the master, all-bits-ungrounded "keys", and each memory devices device is selected by an individual chip select (CS*) signal;

FIG. 4 is a schematic illustration of the functional blocks of a flash EEPROM memory device;

FIG. 5A shows one embodiment of the device select circuit within the memory device illustrated in FIG. 4;

FIG. 5B is a timing diagram for the device select circuit of FIG. 5A;

FIG. 6A is one embodiment of the serial protocol logic within the memory device illustrated in FIG. 4;

FIG. 6B is a timing diagram for the serial protocol logic of FIG. 6A;

FIG. 6C shows the logic state of signals in the device select circuit shown in FIGS. 4-6;

FIG. 7A is a schematic illustration of the functional blocks of the controller module illustrated in FIG. 1A;

FIG. 7B is a schematic illustration of the functional blocks of the alternative controller module illustrated in FIG. 1B;

FIG. 8A is a schematic illustration of the functional blocks of the memory controller illustrated in FIG. 7A;

FIG. 8B is a schematic illustration of the functional blocks of the memory controller illustrated in FIG. 7B; and

FIG. 9 is a timing diagram for the read streaming scheme, according to a preferred embodiment of the present invention.

Table 1 shows the logic of the device select circuit in FIGS. 4-6.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

A typical computer system in which the various aspects of the present invention are incorporated is illustrated generally in FIG. 1A. A typical computer system 101 has an architecture that includes a microprocessor 121 connected to a system bus 123, along with random access, main system memory 125 (which may include read only memory (ROM) and random access memory (RAM)), and at least one or more input-output (I/O) devices 127, such as a keyboard, monitor, modem and the like. Another main computer system component that is connected to a typical computer system bus 123 is a large amount of long-term, nonvolatile memory 129. Conventionally, such a mass storage is a disk drive with a capacity of tens of megabytes of data storage. During the functioning of the computer system 101, data from this mass storage 129 is retrieved into the system volatile RAM of main system memory 125 for processing, and new or updated data can be easily written back to the mass storage.

One aspect of the present invention is the substitution of a specific type of semiconductor memory system for the disk drive but without having to sacrifice non-volatility, ease of erasing and rewriting data into the memory, speed of access, and reliability. This is accomplished by employing an array of non-volatile, solid-state memory, integrated circuit chips. This type of memory has additional advantages of requiring less power to operate, and of being lighter in weight than a hard disk drive memory, thereby being especially suited for battery-operated portable computers.

The integrated circuit mass storage memory 129 includes one or more solid-state memory modules such as 131, 132 under the control of a controller module 133. Addresses, data, and commands are communicated between the memory modules 131, 132 and the controller module 133 by means of a device bus 135. The one or more memory modules such as 131, 132 can be selectively enabled by individual module select signals such as MS1*, MS2*. These signals are carried in select lines such as 151, 152 from the controller module to individual memory modules. The controller module 135 is connected to a bus standard computer bus interface 137 via an interface bus 138. The interface 137 is connected on the other hand to the computer system via the standard computer system bus 123. The mass storage memory is adapted to be powered by a standard power supply within the computer system. For personal computer systems the bus interface 137 is preferably an IDE (Integrated Device Electronics) controller.

FIG. 1B illustrates an alternative embodiment in which the controller module 134 is connected directly to the system bus 123 of the computer system 101. In this embodiment, as will be described later, the controller module 134 is simplified as some of its functions are performed by the system microprocessor 121 and other system resources.

Solid-State Memory Module

FIG. 2A illustrates schematically the solidstate memory module such as 131 or 132 of FIGS. 1A and 1B having arranged as an array of memory devices 141 mounted on a printed circuit memory board or a backplane 143. Each memory device 141 is an integrated circuit memory chip.

Each memory device 141 has two groups of external pads or pinouts. The first group is the device-bus pinouts 145 for connection to the device bus 135 on the backplane 143. In this way, the device bus 135 interconnects between all the memory devices 141 in the solid-state memory module 131 on the one hand, and the controller module 133 or 134 on the other hand (see FIGS. 1 and 21A-1B and 2A-2B).

The second group of external pads are deviceselect pinouts 147 which are to be connected to corresponding pads of a mount 149 on the backplane 143. There is one such mount for each memory device so that the memory devices 141 are laid out in an array in the backplane 143.

As an example, a memory device 141 may have five device-select pinouts, which are connected to five corresponding pads on the mount 149. By selectively grounding certain pads, such as a pad 161 on the mount, each mount may be configured or "keyed" to designate a definite address of the array. With five pins, the number of groundable pad configurations or "keys" amounts to 25=32 permutations. Thus in the preferred embodiment, the mounts in the array will have grounding configurations (11111), (11110), (11101), (00000), where "0" denote a pad that is grounded.

As will be discussed in connection with a device select circuit illustrated in FIGS. 4 and 5A, these keyed mounts are used to assign an array address to the memory device chip 141 mounted thereon. In this way each memory device chip can be addressed for selection or enablement.

FIG. 2B illustrates schematically another memory partition module arrangement in which each memory module such as 131 may be further partitioned into a plurality of memory submodules such as 181, 182. This allows for more flexibility in memory configurations without the need to provide at the outset the full capacity of mounts for all possible memory devices 141 in the memory module's backplane 143. In this way, the backplane 143 needs only provide a reduced set of mounts and spaces for these submodules. Each submodule such as 181, 182 has a smaller group of memory devices 141 mounted on it and they are all enabled by the same module select signal MS1* 151.

Similar to the case illustrated in FIG. 2A, each memory device 141 is given an address on the memory submodule 181 by means of the grounding configuration of the multi-pin mount 149. However, with a reduced number the memory devices in a submodule, only a subset of the bits of the multi-pin mount is required. For example, with four memory devices 141 per submodule, only two bits of the multi-pin mount 149 need be configured to provide unique addresses on each submodule. The rest of the bits in the multi-pin mount 149 may be configured to provide unique addresses for the memory submodules such as 181, 182 on the backplane 143 of the memory module 131. For a 5-bit mount, two of the bits are configured for four memory-device addresses on each memory submodule, and the other three bits are configured for up to eight memory-submodule addresses on the memory module's backplane 143.

The memory submodules such as 181, 182 are each mounted on the memory module's backplane 143 with connections to the device bus 135 and to a submodule multi-pin mount 89. This mount 189 is a subset of a memory-device's multi-pin mount 149. For the example above, it will be a 3-pin mount.

According to another aspect of the invention, one particular "key" among the permations of grounding configurations of the multi-bit mounts 149 is reserved as a "master select" which unconditionally allows each chip to be selected or enabled.

FIG. 3 illustrates a radial select scheme, in which all the memory devices 141 in the solid-state memory module 131 can be enabled for selection by a "master-select" "master select" configuration. In the preferred embodiment, this "master select" is given by having all the bits of the mount not grounded. Thus, each mount 149 in the array has the same grounding configuration, namely (11111). Individual memory device devices within the solidstate memory module 131 is are selected by dedicated chip select signals such as CS1*, CS2*, CS31* in the conventional case. These dedicated chip select signals are respectively carried in additional lines such as 171, 172, 175 among the device bus 135.

Flash EEPROM Memory Device

Examples of non-volatile, solid-state memory, integrated circuit chips include read only-memory (ROM), electrically-programmable-read-only-memory (EPROM), electrically-erasable-programmable-read-only-memory (EEPROM), and flash EEPROM.

In the preferred embodiment, an array of flash electrically-programmable-read-only memories (EEPROM's) in the form of an integrated circuit chip employed as the memory device 141. A flash EEPROM device is a non-volatile memory array which may be partitioned into one or more sectors. These sectors are addressable for wholesale electrical erasing of all memory cells therein. Various details of flash EEPROM cells and systems incorporating defect managements management have been disclosed in two related co-pending U.S. patent applications. They are copending U.S. patent applications, Ser. No. 508,273, filed Apr. 11, 1990, by Mehrotra et al., now U.S. Pat. No. 5,172,338 and Ser. No. 337,566, filed Apr. 13, 1989, by Harari et al., now abandoned, and Ser. No. 963,838, filed Oct. 20, 1992, by Harari et al, now U.S. Pat. No. 5,297,148 which is a divisional application of Ser. No. 337,566. Relevant portions of these two disclosures are hereby incorporated by reference.

FIG. 4 is a schematic illustration of the functional blocks of a flash EEPROM memory device. The flash EEPROM memory device 141 includes an addressable flash EEPROM cell array 201, a device select circuit 203, a serial protocol logic 205, a power control circuit 207, and various WRITE, READ, ERASE circuits compare and shift register 211, 213, 215, 217 and 219.

Serial Device Bus

One important feature of the present invention is to employ a serial link between each of the memory devices 141 and the controller module 133 or 134. The serial link carries serialized addresses, data and commands. This has several advantages in the present application. The serial link greatly reduces the number of interconnecting lines between the controller module 133 or 134 and each of the memory devices chip 141. Fewer signal lines requires fewer traces on the printed circuit memory boards or backplanes 143, resulting in dramatic savings in board space and overall system density improvements. Fewer pins are required. This applies both to memory card edge connectors and to individual memory device chip pinouts. The results of fewer pins are is lower costs and greater system reliability. Also fewer pinouts on a memory device results in a smaller device and consequently, lower device cost. Finally, expanding the memory capacity of the system is simply achieved by a higher packing density of devices on standard printed circuit boards. It is not necessary to have a variety of circuit boards for each density, since the number of address and chip select signals does not change with capacity when employing a serial link. By having a common serial interface, a controller can be designed to support memory devices of differing capacities without modifications to the system. In this way, future memory devices of different capacities can be connected to the same controller without hardware changes resulting in forward and backward compatibility between memory cards and controllers.

Still referring to FIG. 4, the flash EEPROM memory device 141 has two sets of external pins. The first set of external pins is for connection to the device bus 135. The device bus 135 includes a timing signal line, CLK 231, a control signal line P/D* 235, two serial-In's, SI0237, SI1239, two serial-Out's, SO0241, SO1243, and a set of power lines V1 . . . Vn 245. Another control signal line, chip select CS* 171 is shown outside the device bus 135, although in some embodiments, it may be regarded as part of the device bus 135. The use of two serial-In's and two serial-Out's requires very few signal lines and yet still allow allows information to be transferred at adequate rates.

The second group of external pins consists of the five device-select pinouts 147 described in connection with FIGS. 2 and 3.

Device Select Scheme and Circuit

According to the present invention, any memory device 141 among the array of memory devices mounted on the backplane 143 may be enabled such that the device is selected whenever the CS* 171 (chip select) is asserted. In particular, each device may be enabled in one of two ways.

The first is "master-select" "master select" by means of a special grounding configuration of the device select pins 147, as described earlier in connection with FIG. 3. One particular "key" among the permutations of grounding configurations of the multi-bit mounts 149 (see FIG. 3) is reserved as a "master select" which unconditionally allows each chip to be selected or enabled. This allows a group of chips with this "master select" mount to be selected together (see FIG. 3A) or allows for radial selection of individual devices (see FIG. 3B).

The second is "address-select" by shifting in an address that matches the one defined by the device select pins 147 from the serial lines SI0237, SI1239. As described in connection with FIGS. 2 and 3, the address for each location in the array is defined by the grounding configuration or "key" of the mount 149 thereat. By virtue of the memory device connecting being connected to the mount 149, the address defined by the mount is passed onto the memory device 141. Whenever a memory device 141 is to be selected, its array address is made available on the device bus 135. A device select circuit in each memory device 141 compares the array address obtained from the device bus to that obtained from the device select pinouts 147.

According to yet another aspect of the invention, an "address-deselect" "address deselect" scheme is employed in which a special address or code can be shifted in to deselect devices that have previously been selected. In the preferred embodiment, the special deselect code is (11111).

Table 1 summaries FIG. 6C summarizes the logic states of signal of the device select circuit 203 which appears in FIGS. 4-6. The device select circuit has inputs from the device select pins 147 and the device bus 135, and has an output DS 309 (see FIG. 5A) to select or deselect the device it is controlling.

FIG. 5A shows one embodiment of the device select circuit 203 incorporating the "master-select" "master select", "address-select" "address select", and "address-deselect" "address-deselect" features. The circuit 203 has inputs SI0237, SI1239, and the two control lines CS* 171, P/D* 235 from the device bus 135. In the present example, the array address of the memory device 141 in FIG. 4 is defined by a 5-bit address. This 5-bit address is set by the mount 149 and communicated to the device select circuit 203 via the deviceselect device select pinouts 147.

The master-select master select feature is implemented by the 5-input AND gate 301. Wh