Abstract:
The present invention provides a method for accessing a flash memory, wherein the flash memory is a Triple-Level Cell flash memory and each word line of the flash memory constitutes a least significant bit (LSB) page, a central significant bit (CSB) page and a most significant bit (MSB) page, each storage unit of each word line of the flash memory is implemented by a floating-gate transistor, and each storage unit supports at least eight write voltage levels, the method includes: generating dummy data according to data of a first page and a second page corresponding to a specific word line of the flash memory, wherein the dummy data is going to be written in a third page corresponding to the specific word line; and writing the data and the dummy data into the flash memory.

Description:
BACKGROUND OF THE INVENTION 
       [0001]    1. Field of the Invention 
         [0002]    The present invention is related to a flash memory, and more particularly, to a method for accessing flash memory and associated controller and memory device. 
         [0003]    2. Description of the Prior Art 
         [0004]    Flash memory can be electrically erased and programmed for data storage. It is widely applied in memory cards, solid-state drives, portable multimedia players, etc. As the flash memory is a non-volatile memory, no power is needed to maintain the information stored in the flash memory. In addition, the flash memory provides fast read access and better shock resistance. These characteristics explain the popularity of the flash memory. 
         [0005]    The flash memories may be categorized into NOR-type flash memories and NAND-type flash memories. Regarding the NAND flash memory, it has reduced erasing and programming time and requires less chip area per cell, thus allowing greater storage density and lower cost per bit than the NOR flash memory. In general, the flash memory stores data in an array of memory cells made from floating-gate transistors. Each memory cell can store one bit of information or more than one bit of information by adequately controlling the number of electrical charge on its floating gate to configure the threshold voltage required for turning on the memory cell made of a floating-gate transistor. In this way, when one or more predetermined control gate voltages are applied to a control gate of the floating-gate transistor, the conductive status of the floating-gate transistor would indicate the binary digit(s) stored by the floating-gate transistor. 
         [0006]    Flash memory can be categorized into Single-Level Cell (SLC), Multiple-Level Cell (MLC) or Triple-Level Cell (TLC) according to the type. In a TLC flash memory, each memory cell can be used to store three bits, so each memory cell supports eight write voltage levels. However, if there are quality problems when manufacturing flash memory and makes a portion of memory cells can&#39;t supports eight write voltage levels entirely (for example some higher voltage levels can&#39;t be written), or a portion of voltage levels of the eight write voltage levels have shift or sticky problems, a data writing error may be occurred, causing the problems of reading data. 
         [0007]    In addition, if the manufacturer discards these flash memories which have quality problems, it also causes the waste of costs. 
       SUMMARY OF THE INVENTION 
       [0008]    One of the objectives of the present invention is to provide a method for accessing flash memory and associated controller and memory device, which can change TLC flash memory to a MLC-like accessing type when TLC flash memory has quality problems to solve the aforementioned problems. 
         [0009]    According to an embodiment of the present invention, disclosing a method for accessing a flash memory, wherein the flash memory is a TLC flash memory, each word line of the flash memory constitute a least significant bit (LSB) page, a central significant bit (CSB) page and a most significant bit (MSB) page, each storage unit of each word line of the flash memory is implemented by a floating-gate transistor and each storage unit supports at least eight write voltage levels, the method comprises: generating dummy data according to data of a first page and a second page corresponding to a specific word line of the flash memory, wherein the dummy data is going to be written into a third page corresponding to the specific word line, wherein the first page is one of the LSB page, the CSB page and the MSB page, the second page is another one of the LSB page, the CSB page and the MSB page, the third page is the other one of the LSB page, the CSB page and the MSB page; and writing the data and the dummy data into the flash memory. 
         [0010]    According to another embodiment of the present invention, a memory device comprises a flash memory and a controller, wherein the flash memory is a TCL flash memory, each word line of the flash memory constitutes a least significant bit (LSB) page, a central significant bit (CSB) page and a most significant bit (MSB) page, each storage unit of each word line of the flash memory is implemented by a floating-gate transistor and each storage unit supports at least eight write voltage levels; and the controller is used to access the flash memory, wherein the controller generates dummy data according to data of a first page and a second page corresponding to a specific word line of the flash memory, wherein the dummy data is going to be written into a third page corresponding to the specific word line, wherein the first page is one of the LSB page, the CSB page and the MSB page, the second page is another one of the LSB page, the CSB page and the MSB page, and the third page is the other one of the LSB page, the CSB page and the MSB page; and the controller writes the data and the dummy data into the flash memory. 
         [0011]    According to another embodiment, a controller of a memory device is disclosed, wherein the controller is used for accessing a flash memory, the flash memory is a TLC flash memory, each word line of the flash memory constitutes a least significant bit (LSB) page, a central significant bit (CSB) page and a most significant bit (MSB) page, each storage unit of each word line of the flash memory is implemented by a floating-gate transistor and each storage unit supports at least eight write voltage levels, and the controller comprises: a memory arranged to store a code; and a microprocessor arranged to execute the code to control the access of the flash memory; wherein the microprocessor generates dummy data according to data of a first page and a second page corresponding to a specific word line of the flash memory, wherein the dummy data is going to be written into a third page corresponding to the specific word line, wherein the first page is one of the LSB page, the CSB page and the MSB page, the second page is another one of the LSB page, the CSB page and the MSB page, the third page is the other one of the LSB page, the CSB page and the MSB page; and the microprocessor writes the data and the dummy data into the flash memory. 
         [0012]    These and other objectives of the present invention will no doubt become obvious to those of ordinary skill in the art after reading the following detailed description of the preferred embodiment that is illustrated in the various figures and drawings. 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         [0013]      FIG. 1  is a diagram illustrating a memory device according to an embodiment of the present invention. 
           [0014]      FIG. 2  is a diagram illustrating a block of flash memory according to an embodiment of the present invention. 
           [0015]      FIG. 3  is a diagram illustrating a plurality of write voltage levels and a plurality of threshold voltages of a page. 
           [0016]      FIG. 4  is a flowchart illustrating the method for accessing flash memory according to an embodiment of the present invention. 
           [0017]      FIG. 5  is a diagram illustrating the write voltage levels L 6  to L 8  can&#39;t be written into due to the poor producing quality of the floating-gate of the flash memory. 
           [0018]      FIG. 6  is a diagram illustrating the write voltage levels L 2  and L 3  have sticky situation due to the poor producing quality of the floating-gate transistor of the flash memory. 
       
    
    
     DETAILED DESCRIPTION 
       [0019]    Refer to  FIG. 1 , which is a diagram illustrating a memory device  100  according to an embodiment of the present invention, wherein the memory device  100  of this embodiment is particularly a portable memory device (e.g. memory card complying with SD/MMC, CF, MS, XD standard). The memory device  100  comprises a flash memory  120  and a controller, the controller is a memory controller  110 , and is arranged to access the flash memory  120 . According to this embodiment, the memory controller  110  comprises a microprocessor  112 , a read only memory (ROM)  112 M, a control logic  114 , a buffer memory  116 , and an interface logic  118 . The ROM  112 M is used to store a program code  112 C, and the microprocessor  112  is arranged to execute the program code  112 C to control the access of the flash memory  120 . 
         [0020]    In typical situations, the flash memory  120  comprises a plurality of blocks, and the controller (e.g. the memory controller  110  executing the code  112 C via the microprocessor  112 ) executes data copying, erasure and combining operations on the flash memory  120  by copying, erasing and combining in units of blocks. In addition, a block can record specific number of pages, wherein the controller (e.g. the memory controller  110  executing the code  112 C via the microprocessor  112 ) executes data writing operation on the flash memory  120  by writing/programming in units of pages. 
         [0021]    In practical, The memory controller  110  executing the code  112 C via the microprocessor  112  can execute a lot of control operations by using internal elements For example the memory controller  110  utilizes the control logic  114  to control access to the flash memory  120  (particularly the access to at least one block or at least one page), utilizes the buffer memory  116  to perform the needed buffering process, and utilizes the interface logic  118  to communicate with a host device. 
         [0022]    Refer to  FIG. 2 , which is a diagram illustrating the block  200  of the flash memory  120  according to an embodiment of the present invention. As shown in  FIG. 2 , the block  200  is a TLC architecture, that is the block  200  has N word lines WL 0  to WLN, and each word line can compose three pages, so the block  200  comprises 3*N pages in total (P 0  to P(3N−1)). Each storage unit in  FIG. 2  (i.e. each floating-gate transistor  202 ) can store three bits, i.e. the three bits comprising the LSB, the CSB and the MSB; and the LSBs stored in a plurality of storage units of each word line WL 0  to WLN compose a first page corresponding to the word line. The stored CSBs compose a second page corresponding to the word line and the stored MSBs compose a third page corresponding to the word line. 
         [0023]    In detail, refer to  FIG. 3 , which is a diagram illustrating a plurality of write voltage levels L 1  to L 8  and a plurality of threshold voltages Vt 1  to Vt 7  of the pages (P 0  to P(3N−1)). As shown in  FIG. 3 , each floating-gate transistor  202  can be programmed to have a voltage level L 1  (i.e. (MSB, CSB, LSB)=(1, 1, 1)), a voltage level L 2  (i.e. (MSB, CSB, LSB)=(1, 1, 0)), a voltage level L 3  (i.e. (MSB, CSB, LSB)=(1, 0, 0)), a voltage level L 4  (i.e. (MSB, CSB, LSB)=(0, 0, 0)), a voltage level L 5  (i.e. (MSB, CSB, LSB)=(0, 1, 0)), a voltage level L 6  (i.e. (MSB, CSB, LSB)=(0, 1, 1)), a voltage level L 7  (i.e. (MSB, CSB, LSB)=(0, 0, 1)) or a voltage level L 8  (i.e. (MSB, CSB, LSB)=(1, 0, 1)). 
         [0024]    When the memory controller  110  needs to read the LSB of the floating-gate transistor  202 , the memory controller  110  uses the threshold voltages Vt 1  and Vt 5  to read the floating-gate transistor  202 , and decides the LSB is “1” or “0” according to the conductive status (whether there is a current or not) of the floating-gate transistor  202 . In this embodiment, the floating-gate transistor  202  is turned on when memory controller  110  applies the threshold voltage Vt 5  on the gate terminal of the floating-gate transistor  202  and/or the floating-gate transistor  202  is turned off when memory controller  110  applies the threshold voltage Vt 1  on the gate terminal of the floating-gate transistor  202 , means the LSB is “1”; the floating-gate transistor  202  is turned off when memory controller  110  applies the threshold voltage Vt 5  on the gate terminal of the floating-gate transistor  202  and the floating-gate transistor  202  is turned on when memory controller  110  applies the threshold voltage Vt 1  on the gate terminal of the floating-gate transistor  202 , means the LSB is “0”. 
         [0025]    When the memory controller  110  needs to read the CSB of the floating-gate transistor  202 , the memory controller  110  uses the threshold voltages Vt 2 , Vt 4  and Vt 6  to read the floating-gate transistor  202 , and decides the CSB is “1” or “0” according to the conductive status (whether there is a current or not) of the floating-gate transistor  202 . In this embodiment, the floating-gate transistor  202  is turned off when the memory controller  101  applies the threshold voltage Vt 2  on the gate terminal of the floating-gate transistor  202 , means the CSB is “1”; the floating-gate transistor  202  is turned off when the memory controller  110  applies the threshold voltage Vt 4  on the gate terminal of the floating-gate transistor  202 , but the floating-gate transistor  202  is turned on when the memory controller  101  applies the threshold voltage Vt 2  on the gate terminal of the floating-gate transistor  202 , means the CSB is “1”; the floating-gate transistor  202  is turned off when the memory controller  110  applies the threshold voltage Vt 6  on the gate terminal of the floating-gate transistor  202 , but the floating-gate transistor  202  is turned on when the memory controller  110  applies the threshold voltage Vt 4  on the gate terminal of the floating-gate transistor  202 , means the CSB is also “1”; the floating-gate transistor  202  is turned on when the memory controller  101  applies the threshold voltage Vt 6  on the gate terminal of the floating-gate transistor  202 , means the CSB is “0”. 
         [0026]    When the memory controller  110  needs to read the MSB of the floating-gate transistor  202 , the memory controller  110  uses the threshold voltages Vt 3  and Vt 7  to read the floating-gate transistor, and decides the MSB is “1” or “0” according to the conductive status (whether there is a current or not) of the floating-gate transistor  202 . In this embodiment, the floating-gate transistor  202  is turned on when the memory controller  110  applies the threshold voltage Vt 7  on the gate terminal of the floating-gate transistor  202  and/or the floating-gate transistor  202  is turned off when the memory controller  110  applies the threshold voltage Vt 3  on the gate terminal of the floating-gate transistor  202 , means the MSB is “1”; the floating-gate transistor  202  is turned off when the memory controller  110  applies the threshold voltage Vt 7  on the gate terminal of the floating-gate transistor  202 , but the floating-gate transistor  202  is turned on when the memory controller  110  applies the threshold voltage Vt 3  on the gate terminal of the floating-gate transistor  202 , means the MSB is “0”. 
         [0027]    When the flash memory  120  leaves factory (before being manufactured to the memory device  100 ), the flash memory  120  is tested to determine if the flash memory  120  has problems when reading or writing. For example, the float-gate transistor  202  of the flash memory might not have the write voltage levels L 6  to L 8  due to the producing quality issue. In this way, if the memory controller  110  still tries to write the data into the flash memory  120  with the write voltage levels L 6  to L 8 , an error of the voltage level of the floating-gate transistor  202  of the flash memory  120  will occur, causing following data reading problem. 
         [0028]    To solve this problem, when the flash memory  120  is determined that it has quality problem when it leaves factory and cause that the flash memory  120  is not suitable to use TLC to store data, the memory controller  110  of the present invention changes the original TLC flash memory to a MLC-like accessing type by setting to make the flash memory  120  won&#39;t occur error for the following reading operation. Refer to  FIG. 4 , which is a flowchart illustrating a method for accessing the flash memory  120 . Refer to  FIG. 4 , the flow is described as follows. 
         [0029]    Step  400 : the flow starts. 
         [0030]    Step  402 : generate a dummy data according to the data of a first page and a second page corresponding to a specific word line of the flash memory, wherein the dummy data is going to be written into a third page corresponding to the specific word line, wherein the first page is one of the LSB page, the CSB page and the MSB page, the second page is another one of the LSB page, the CSB page and the MSB page, the third page is the other one of the LSB page, the CSB page and the MSB page; 
         [0031]    Step  404 : write the data and the dummy data into the flash memory. 
         [0032]    Refer to the example in  FIG. 5  to further understand the flow in  FIG. 4 . In the example in  FIG. 5 , it assumes the floating-gate transistor  202  of the flash memory  120  cannot have the write voltage levels L 6  to L 8  due to the poor producing quality, therefore, substantially, only the write voltage levels L 1  to L 5  can be correctly used in this embodiment. In this way, owing to the floating-transistor  202  of the flash memory  120  only has five write voltage levels, therefore the flash memory  120  can&#39;t store data as TLC anymore (TLC needs eight write voltage levels). To solve this problem, the memory controller  110  of the present invention changes the flash memory  120  to a MLC-like accessing type on design, that is the memory controller  110  merely stores data from a host device to two pages corresponding to a word line, and because the three pages (the LSB page, the CSB page and the MSB page) need to be written in the same time, therefore the memory controller  110  further generates a dummy data which is going to be written into the third page according to the data which is going to be written into the above-mentioned two pages, and writes the data and the dummy data into the storage unit (floating-gate transistor  202 ) of the word line. 
         [0033]    More specifically, on the design of the memory controller  110 , the first thing needs to consider is which two pages should be chosen. Because the memory controller  110  of the present invention changes the flash memory  120  to a MLC-like accessing type on design therefore each storage unit of the two pages has to have the write voltage level corresponding to four combinations of bits (1, 1), (1, 0), (0, 1), (0, 0). In the embodiment of  FIG. 5 , for the CSB and the LSB, because in the write voltage levels L 1  to L 5 , the CSB and the LSB only have combinations of bits (1, 1), (1, 0), (0, 0), and lack of the combination of bits (0, 1), therefore the CSB page and the LSB page can&#39;t be the two pages chosen by MLC; next, for the MSB and the LSB, the MSB and the LSB only have combinations of bits (1, 1), (1, 0), (0, 0), and lack of combination of bits (0, 1) therefore the MSB page and the LSB page can&#39;t be the two pages chosen by MLC either; finally, for the MSB and the CSB, because the MSB and the CSB have four combinations of bits (1, 1), (1, 0), (0, 1), (0, 0), therefore the MSB page and the CSB page can be the two pages chosen by MLC. Like the above statements, in the embodiment of  FIG. 5 , the memory controller  110  writes data into the MSB page and the CSB page when meaningful data needs to be written into the flash memory  120 . 
         [0034]    Explaining with the embodiment in  FIG. 5 , because the memory controller  110  uses the MLC-like accessing type to access the flash memory  120 , therefore the memory controller  110  uses only four specific voltage levels L 2  to L 5  of the write voltage levels L 1  to L 8  to write data into the floating-gate transistor  202 . The memory controller  110  generates a dummy bit “0” which is going to be written into the LSB when the memory controller  110  needs to write bits “1” and “1” into the MSB and the CSB of a storage unit respectively to make memory controller  110  use write voltage level L 2  to write data into the storage unit; in addition, the memory controller  110  generates a dummy bit “0” which is going to be written into the LSB when the memory controller  110  needs to write bits “1” and “0” into the MSB and the CSB of a storage unit respectively to make memory controller  110  use write voltage level L 3  to write data into the storage unit; and the memory controller  110  generates a dummy bit “0” which is going to be written into the LSB when the memory controller  110  needs to write bit “0” and “0” into the MSB and the CSB of a storage unit respectively to make memory controller  110  use write voltage level L 4  to write data into the storage unit; the memory controller  110  generates a dummy bit “0” which is going to be written into the LSB when the memory controller  110  needs to write bit “0” and “1” into the MSB and the CSB of a storage unit respectively to make memory controller  110  use write voltage level L 5  to write data into the storage unit 
         [0035]    Like the above statements, because in the three pages corresponding to each word line of the flash memory  120 , only the MSB page and the CSB page are used to store meaningful data, therefore in a situation that the stored data is from a host device, only the MSB page and the CSB page of the flash memory  120  have the logical addresses corresponding to the host device, and the LSB page doesn&#39;t have the logical address corresponding to the host device. Therefore, when the memory controller  110  needs to read the data of the flash memory  120  (for example, receiving a reading request from the host device), the memory controller  110  only reads the MSB page and the CSB page but the LSB page. 
         [0036]    In addition, the method for the memory controller  110  reading the flash memory  120  doesn&#39;t need to change, that is the memory controller  110  still uses the threshold voltages Vt 2 , Vt 4  and Vt 6  to read the floating-gate transistor  202  to decide the CSB, and the memory controller  110  uses the threshold voltages Vt 3  and Vt 7  to read the floating-gate transistor  202  to decide the MSB. 
         [0037]    Because the present invention can change the flash memory  120  which has poor quality and can&#39;t use TLC to a MLC-like accessing type, therefore it can utilize the flash memory which is supposed to be discarded more effectively. In addition, the memory controller  110  doesn&#39;t need to change too much on design, therefore the design costs of the memory controller  110  is reduced. 
         [0038]    In addition, although in the explanation of the embodiment of  FIG. 5 , the memory controller  110  uses four specific write voltage levels L 2  to L 5  to write data into the floating-gate transistor  202 , however, in other embodiments of the present invention, because the write voltage level L 1  and the write voltage level L 2  represent the same bit values on the CSB and the MSB therefore the four specific write voltage levels in the above embodiment can also be L 1  and L 3  to L 5 . Because the skilled person in this art can understand the implementing method after reading the above explanation, so the details are omitted for brevity. 
         [0039]    In addition, in above explanation, the memory controller  110  changes all the flash memory  120  to a MLC-like accessing type, however, in other embodiments of the present invention, the flash memory  120  can choose using TLC or MLC in unit of block. For example, the flash memory  120  will be tested when it leaves factory to decide which block might have quality problems and which block doesn&#39;t. For those blocks with quality problems, the memory controller  110  can use above-mentioned MLC-like accessing type to access these blocks; and for those blocks without quality problems, the memory controller  110  can use traditional TLC to access those blocks. 
         [0040]    In addition, refer to  FIG. 6 , which illustrating the write voltage levels L 2  and L 3  have sticky situation due to the poor producing quality of the floating-gate transistor  202  of the flash memory  120 , therefore substantially only the write voltage levels L 1  and L 4  to L 8  can be correctly used in the embodiment of  FIG. 6 . In this way, because the floating-gate transistor  202  of the flash memory  120  only has six write voltage levels, therefore the flash memory  120  can&#39;t store data as TLC anymore (TLC needs eight write voltage levels). To solve this problem, the memory controller  110  of the present invention changes the flash memory  120  to a MLC-like accessing type on design, that is memory controller  110  stores data from host device to two pages corresponding to a word line, and because the three pages (the LSB page, the CSB page and the MSB page) of the word line need to be written in the same time, therefore the memory controller  110  further generates dummy data which is going to be written into the third page according to the data which is going to be written into the above-mentioned two pages, and writes the data and the dummy data into the storage unit (floating-gate transistor  202 ) of the word line. 
         [0041]    Similar to the embodiment of  FIG. 5 , on the design of the memory controller  110 , the first thing needs to consider is which two pages should be chosen. Because the memory controller  110  of the present invention changes the flash memory  120  to a MLC-like accessing type on design therefore each storage unit of the two pages has to have the write voltage level corresponding to four combinations of bits (1, 1), (1, 0), (0, 1), (0, 0). In the embodiment of  FIG. 5 , for the CSB and the LSB, because in the write voltage levels L 1  and L 4  to L 8 , the CSB and the LSB have four combinations of bits (1, 1), (1, 0), (0, 1), (0, 0) therefore the CSB page and the LSB page can be the two pages chosen by MLC; next, for the MSB and the LSB, the MSB and the LSB only have combinations of bits (1, 1), (0, 1), (0, 0), and lack of the combination of bits (1, 0), therefore the MSB page and the LSB page can&#39;t be the two pages chosen by MLC; final, for the MSB and the CSB, because the MSB and the CSB have combinations of bits (1, 1), (1, 0), (0, 1), (0, 0) therefore the MSB page and the CSB page can be chosen by MLC too. Like the above-mentioned statements, in the embodiment of  FIG. 6 , the memory controller  110  can write data into the CSB page and the LSB page in  FIG. 6  or into the MSB page and the CSB page  FIG. 6  when meaningful data needs to be written into the flash memory  120 . 
         [0042]    Explaining with the embodiment in  FIG. 6 , assuming that the designer chooses using the MSB and the CSB, then the memory controller  110  uses only four specific write voltage levels of the write voltage levels L 1  to L 8  to write data into the floating-gate transistor  202 , and these four specific write voltage levels can be L 1 , L 4 , L 6 , and L 8  (this is not a limitation of the present invention, the four write voltage levels can also be L 1 , L 5 , L 7 , and L 8 ). More specifically, when the memory controller  110  needs to write bits “1”, “1” into the MSB and the CSB of a storage unit respectively, the memory controller  110  generates a dummy bit “1” which is going to be written into the LSB to make the memory controller  110  use the write voltage level L 1  to write the data into the storage unit; in addition, when the memory controller  110  needs to write bits “1”, “0” into the MSB and the CSB of a storage unit respectively, the memory controller  110  generates a dummy bit “1” which is going to be written into the LSB to make the memory controller  110  use the write voltage level L 8  to write the data into the storage unit; and when the memory controller  110  needs to write bits “0”, “0” into the MSB and the CSB of a storage unit respectively, the memory controller  120  generates a dummy bit “0” which is going to be written into the LSB to make the memory controller  110  use the write voltage level L 4  to write the data into the storage unit; when the memory controller  110  needs to write bits “0”, “1” into the MSB and the CSB of a storage unit respectively, the memory controller  110  generates a dummy bit “1” which is going to be written into the LSB to make the memory controller  110  use the write voltage level L 6  to write the data into the storage unit. 
         [0043]    In addition, in the embodiment of  FIG. 6 , choosing the CSB and the LSB can also implement the operation, so the designer can also choose using the CSB and the LSB to conduct the design of the memory controller  110 . Because the skilled person in the art can understand the implementing method of after reading the above-mentioned disclosure, so the detail descriptions are omitted here for brevity. 
         [0044]    Briefly summarized, in the method of accessing flash memory and associated controller and memory device in the present invention, the flash memory can be changed to a MLC-like accessing type when the TLC flash memory has quality problems. Therefore it can utilize the flash memory which is supposed to be discarded effectively. In addition, changing the flash memory to MLC-like accessing type can also improve the quality of writing data, in case the problems of reading following data. 
         [0045]    Those skilled in the art will readily observe that numerous modifications and alterations of the device and method may be made while retaining the teachings of the invention. Accordingly, the above disclosure should be construed as limited only by the metes and bounds of the appended claims.