Patent Document

CROSS REFERENCE TO RELATED APPLICATIONS  
       [0001]    This application claims priority of and incorporates by reference U.S. Provisional Patent Application Serial No. 60/359,468 filed Feb. 22, 2002, and entitled Removable Memory Media With Integral Indicator Light. 
     
    
     
       FIELD OF THE INVENTION  
         [0002]    This invention relates to the field of removable memory media. More particularly, this invention relates to the removable memory that includes an integral indicator light to indicate that the memory is in use.  
         BACKGROUND OF THE INVENTION  
         [0003]    Removable personal mass storage memory media has been used for many years. Examples of such devices in include floppy discs, read-write CD-ROMs, and flash memory modules. It is well known that the drive and controller units that accept floppies and CD-ROMs include a controllable light that indicates whether the drive is writing to or reading from the media. The system activates the light to advise an operator that the media is being accessed so that the operator does not inadvertently remove the media during a read or write operation. It is well recognized that removing a personal mass storage memory media can interfere with a successful operation. It is further recognized that removing the media during an access can corrupt the data.  
           [0004]    More recently, flash memory modules have gained widespread acceptance. Generally, flash memory modules are used in a host digital device that includes a display screen. Examples of such digital devices include digital cameras, personal computers, and personal digital assistants (PDAs). Unlike other personal memory mass storage memory media, flash memory has no rotating media. Thus, the system is not a ‘drive’, but rather an interface unit. Applications for flash memory modules do not include an indicator light. Rather, the host digital device includes an integral display module which is used to advise the operator when the flash module is being accessed. Unlike the indicators on a drives as found in floppies and CD-ROMs, these displays indicate when the CPU in the host digital device has completed its operation to read data from or write data to the flash module.  
           [0005]    As is well known, writing data to a flash module takes a finite amount of time that is generally long when compared to writing data to conventional volatile memory, such as addressable RAM, SRAM, DRAM or to a cache. When data is being written to the flash module, often the CPU operates to write the data into the volatile memory. The memory then is transferred from the volatile memory into the flash memory under control of a flash controller mounted on the flash module. Under such a system, it is possible for the CPU to present the message to the operator that the access of the flash memory is complete, when in fact the data was transferred to the volatile memory but not from the volatile memory to the flash memory. The presents the opportunity for the operator to remove the flash module from the interface unit while the data is being transferred from the volatile memory to the flash memory. When this happens the data file is typically corrupted.  
           [0006]    Further, unlike floppy discs and CD-ROMs, flash memory modules typically also include integral controllers as well. It is known that the life time for flash memory cells is limited. The integral controllers on flash memory modules often operate to level the wear among the plurality flash memory cells. Certain wear leveling operations include erasing deleted files, moving data and revising the FAT tables. The host digital device is not informed and has no means to learn that the integral controller is modifying data on the flash memory module. Thus, it is possible for a flash memory module to be subjected to an operation of modifying the data, when it is not possible for the host digital device to properly notify the operator and thereby prevent corrupting the data by removing the flash memory module during such an operation. Indeed, in such a circumstance, it is possible for an operator to attempt to access the flash memory module while one such internal memory access operation is occurring. If a data file is corrupted, it is possible that only that file is corrupted. It is possible that other files on the flash module are not lost. However, if the flash memory module is removed while the FAT tables are being modified, it is generally not possible to retrieve any data from the flash module. Typically, in such a circumstance, the entire flash module must be reformatted so that all the data would be permanently lost. It may be possible to use a software application such as Norton™ utility to retrieve any non-corrupted file, however, the success rate of such an operation is not satisfactory.  
           [0007]    Additionally, because flash memory cells have a limited life time, and because it is generally not possible for a user to know how many times a particular memory cell or group of memory cells has been written, it is possible for a host system to attempt to program data to a flash cell or a plurality of flash cells that have exceeded their useful life and are no longer functional. When this occurs, the data being written can become corrupted and permanently lost. Also, the performance of a flash cell degrades as the number of program-erase cycles to that cell passes a threshold limit. For certain critical systems, such as a flash module in a flight recorder, such degradation cannot be tolerated. This problem is particularly onerous for systems where the flash module is continuously accessed, for example by a server.  
           [0008]    Also, certain flash modules are designed to have spare blocks that are substituted for defective blocks. In such a system, as the number of spares is reduced and becomes zero, the system becomes prone to a catastrophic failure when a program-erase operation is attempted while no goods flash blocks remain.  
           [0009]    What is needed is an indicator that indicates when a flash memory module is activate. What is further needed is an indicator which indicates when a flash memory module is performing an internal memory access operation.  
         BRIEF SUMMARY OF THE INVENTION  
         [0010]    The present invention is for a flash memory module that includes an integral indicator light. The flash memory module includes a plurality of electrical contacts which electrically interface to an interface unit of a host digital device. The flash memory module includes a plurality of flash memory cells. The cells are coupled for access under control of an integral controller. The integral indicator light is coupled under control of the integral controller. The integral indicator light indicates whether the flash memory module is being accessed. In a preferred embodiment, the flash memory module is formed of a light transmissive material. In a most preferred embodiment, the light transmissive material is a transparent plastic.  
           [0011]    In most applications, the flash memory modules include a proximal end including the electrical contacts. The proximal end is inserted into the interface unit. The integral indicator light is preferably a surface mount LED. According to the preferred embodiment, the LED is positioned adjacent the distal end of the flash memory module to be seen through the transparent plastic from outside the interface unit.  
           [0012]    In an alternate embodiment of the present invention, the integral controller generates a signal which is applied to at least one of the electrical contacts to advise the host digital device that the flash memory module is operating, regardless of whether the flash memory module is operating from an external reason, or for an internal reason, such as wear leveling.  
           [0013]    In another alternate embodiment, the integral controller generates a signal to indicate that the flash module is close to the maximum limit of program-erase operations for at least a portion of the flash cells on the flash module. The user can use this signal as an indicator that the flash module needs to be replaced before additional write operations are implemented.  
           [0014]    In yet another alternate embodiment, the integral controller generates a signal to indicate that the flash module is close to the maximum limit of spares which are available on the flash module. The user can use this signal as an indicator that the flash module needs to be replaced before additional program-erase operations are implemented. The signal for these alternate embodiments could be by illuminating a separate LED or by flashing the same LED recited above, but altering the cadence of the flashing where cadence means either changing the speed of the flashing or providing a predetermined sequence, e.g., flashing SOS in Morse Code. 
       
    
    
     BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWINGS  
       [0015]    [0015]FIG. 1 shows a flash memory module of the preferred embodiment of the present invention.  
         [0016]    [0016]FIG. 2 shows a flash memory module of an alternate embodiment of the present invention.  
         [0017]    [0017]FIG. 3 shows a flash memory module of an alternate embodiment of the present invention.  
         [0018]    [0018]FIG. 4 shows a timing diagram of a operation of a flash module according to the present invention.  
     
    
     DETAILED DESCRIPTION OF THE INVENTION  
       [0019]    [0019]FIG. 1 shows a flash memory module  100  according to the present invention. The flash memory module  100  includes an array of flash memory cells  102 . A portion of the array is provided for storing the FAT tables  104  and  106 . An integral controller  108  is configured to control the flash memory cells  102  and the FAT tables  104  and  106 . The integral controller  108  is coupled to the flash memory cells  102  and the FAT tables  104  and  106  via a bus  116 . The integral controller  108  also preferably performs memory maintenance operations, such as wear leveling activities or erasing replaced data to provide blocks for storing additional data. While the architecture of the flash memory module  100  is shown, this architecture is representative only and any conventional architecture for flash memory can be used according to the teachings of this invention.  
         [0020]    An LED  110  is coupled under control of the integral controller  108 . Whenever the flash memory module  100  is accessed for reading or programming, the LED  110  is lit by the integral controller  108 . Likewise, when the integral controller  108  accesses the flash memory cells to perform internal memory maintenance operations, such as wear leveling or erasing replaced data the LED  110  is lit by the integral controller  108 . Thus, when the flash memory module  100  is active, the operator is provided a definitive visual signal that the flash memory module  100  should not be removed.  
         [0021]    As an alternate embodiment, the LED  110  can be configured to blink in a predetermined sequence whenever the flash memory module  100  is coupled to a host digital system. For example, the LED  110  can blink once every second. In this circumstance, when the flash memory module  100  is accessed or when the integral controller  108  is performing a memory maintenance operation, the LED  110  can be lighted continuously to indicate that the flash memory module  100  should not be removed.  
         [0022]    As is well known, a portion of the flash memory cells  102  can be reserved as spares to replace defective cells as appropriate in the known way. The integral controller  108  is adapted to determine the number of available spares. When the number of spares falls to zero or below a predetermined threshold number, the cadence of the blinking of the LED  110  is altered. For example, the blinking can be slowed or speeded, or a predetermined sequence of blinking can be implemented. The change in the speed of blinking must be sufficient that a user can readily discern that the change occurred. For example, the blinking changes from once every second to once every three seconds. Alternatively, a sequence change in the blinking pattern can be implemented. For example, two quick blinks one-half second apart, followed by two seconds of the LED  110  being off. As another example, the LED  110  could be made to blink SOS in the Morse Code to signify that there is a potential problem with the flash memory module  100 . When the user detects any of these changes in cadence, the user will know that the flash memory module  100  should be replaced to avoid a catastrophic system failure, loss of data or both.  
         [0023]    Additionally, the integral controller  108  can count the number of program-erase cycles for the flash cells. The integral controller  108  can maintain the number of program-erase cycles in a register, and preferably in a flash memory register. When the number of program-erase cycles reaches a predetermined threshold, the integral controller  108  can alter the cadence of the blinking. The alteration of the blinking can be the same as described above for the circumstance that the number of spare blocks drops below a threshold, or it can be a different cadence.  
         [0024]    As yet another embodiment, a second LED  120  can be included in the flash memory module  300  as shown in FIG. 3. Other than the additional LED  120 , the flash memory module  300  is substantially the same as the flash memory module  100  of FIG. 1. The second LED  120  can be simply located at a predetermined physical distance from the LED  110 . Alternatively, it can illuminate with a different frequency of light. For example, the LED  110  can shine red light while the LED  120  can shine green light. The LED  110  can be configured to light when the flash memory module  300  is engaged in a read operation, program-erase cycle or a memory maintenance operation. The second LED  120  can be configured to light when the integral controller  108  detects that the number of spares is below the predetermined threshold or the number of program-erase cycles exceeds that predetermined threshold.  
         [0025]    According to the preferred embodiment, the flash memory module is formed on a printed circuit board using conventional techniques. At a proximal end of the printed circuit board includes exposed metallic regions that form the electrical contacts  112  for the flash memory module  100 . At a distal end of the printed circuit board, the LED  110  is mounted. The flash memory module  100  is preferably encased within a transparent plastic housing  114 . Alternatively, the LED could penetrate an opening through an opaque housing positioned to accept the LED. The proximal end of the flash memory module  100  is inserted into an interface unit of a host digital device (not shown). As is well known, the distal end of a conventional flash memory stick is visible while the flesh memory module is inserted into a digital devise such as a laptop computer or PDA. In this way, when the LED  110  is lit by the integral controller  108  it can readily be seen by an operator through the transparent plastic material of the housing  114  or through an opening in the housing  114 .  
         [0026]    [0026]FIG. 2 shows a flash memory module  200  according to an alternate embodiment of the present invention. The flash memory module  200  includes an array of flash memory cells  202 . A portion of the array is provided for storing the FAT tables  204  and  206 . An integral controller  208  is configured to control the flash memory and preferably to control wear leveling activities. While the architecture of the flash memory module  200  is shown, this architecture is representative only and any conventional architecture can be used according to the teachings of this invention.  
         [0027]    An LED  210  is coupled under control of the integral controller  208 . Whenever the flash memory module  200  is accessed for reading or programming, or for internal memory control operations, the LED  210  is lit by the integral controller  208 . Thus, the operator is provided a definitive visual signal that the flash memory module  200  should not be removed.  
         [0028]    According to this alternate embodiment, the flash memory module is formed on a printed circuit board using conventional techniques. At a proximal end of the printed circuit board includes exposed metallic regions that form the electrical contacts  212  for the flash memory module  200 . At a distal end of the printed circuit board, the LED  210  is mounted. The flash memory module  200  is preferably encased within a transparent plastic housing  214 . The proximal end of the flash memory module  200  is inserted into an interface unit  216  of a host digital device  218 . In this way, when the LED  210  is lit by the integral controller  208  it can readily be seen by an operator through the transparent plastic material of the housing  214 .  
         [0029]    The alternate embodiment of FIG. 2 also includes a signal line  220  which is coupled from the integral controller  208  to the electrical contacts  212 , and hence to the host digital device  218 . The signal line  220  is used to communicate to the host digital device  218  when the flash memory module  200  is operatively using the flash memory  202  or the FAT tables  204  and  206  and thus, unable of successfully being accessed by the host digital device  218 .  
         [0030]    [0030]FIG. 4 shows a timing diagram of the operation of a flash module according to the present invention. A host system is operated to transfer data from the host system to a flash memory module. An example of such a transfer could be taking a photograph using a digital camera. In this example, the digital camera is the host system and the flash module can be a memory stick, such as available from Lexar Media, Inc. of Fremont, Calif. In such a transfer of data, the data can be a stream of bit, bytes, packets or other well known collections of data. Though not intended to be limiting, this example refers to a transfer of a stream of packets, DATA 0, DATA 1, DATA 2, and the stream will continue until the entire file is written.  
         [0031]    A write command WR Command is communicated from a host system to a controller circuit on a flash module. At a predetermined time, a first packet DATA 0 is transferred from the host system to the flash module. The first packet DATA 0 is then written by the controller onto an internal buffer of the controller on the flash module. Thereafter, the controller transfers the first packet DATA 0 from the internal buffer and programs the first packet DATA 0 into the flash memory. In this example, while the first packet DATA 0 is transferred, the controller is not engaged in any other programming operation to the flash memory nor engaged in an internal memory access operation. As such the transfer of the first packet DATA 0 proceeds promptly.  
         [0032]    The host system then promptly transfers the second packet DATA 1 to the flash module. The second packet DATA 1 is then written by the controller onto the internal buffer of the controller on the flash module. In this example, the controller is first engaged in programming the first packet DATA 0 into the flash and an then the controller is engaged in an internal memory access operation, such as flash file management for a particular block with the flash memory. As shown in the drawing of FIG. 4, the operation of programming the second packet DATA 1 is delayed until the controller completes the flash file management operation. The controller does not communicate to the host system that it is involved in the flash file management operation, and so the third packet DATA 2 is transferred to the flash module. As such the programming of the second packet DATA 1 into the flash is delayed which likely will cause a delay in the programming of the third packet DATA 2.  
         [0033]    In a circumstance such as that described in this example for the programming to the flash of the second packet DATA 1, the host system continues to transfer packets to the internal buffer of the controller on the flash module. When the host system concludes its transfer, it can signal the user that it is safe to remove the flash module even though the programming of packets continues. However, because of the present invention, the user receives an indicator that the flash is in use and cannot be removed. In this way, the indicator of the present invention prevents the corruption of data programmed in the flash memory.  
         [0034]    This invention is described according to specific preferred embodiments. It will be apparent that other embodiments are possible and still fall within the teachings of this invention. For example, other architectures for the flash memory module are possible. Further, the LED could be mounted to provide its visual signal through an aperture in the housing to the flash memory module. Also, the electrical contacts on the flash memory module could be implemented using pins mounted to the printed circuit board. Likewise, the indicator could be other than a visual indicator, such as an audible indicator. Furthermore, the architecture of FIG. 3 could also include a signal line such as that of FIG. 2 for communicating to the host digital system that the flash memory module is in use.

Technology Category: 3